人工神经网络
人工神经网络(artificial neural network,缩写ANN),简称神经网络(neural network,缩写NN),是一种模仿生物神经网络的结构和功能的数学模型或计算模型。神经网络由大量的人工神经元联结进行计算。大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自适应系统。现代神经网络是一种非线性统计性数据建模工具,常用来对输入和输出间复杂的关系进行建模,或用来探索数据的模式。
神经网络是一种运算模型[1],由大量的節點(或稱“神經元”,或“單元”)和之間相互聯接構成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重(weight),這相當於人工神經網路的記憶。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。
它的构筑理念是受到生物(人或其他动物)神经网络功能的运作启发而产生的。人工神经网络通常是通过一个基于数学统计学类型的学习方法(Learning Method)得以优化,所以人工神经网络也是数学统计学方法的一种实际应用,通过统计学的标准数学方法我们能够得到大量的可以用函数来表达的局部结构空间,另一方面在人工智能学的人工感知领域,我们通过数学统计学的应用可以来做人工感知方面的决定问题(也就是说通过统计学的方法,人工神经网络能够类似人一样具有简单的决定能力和简单的判断能力),这种方法比起正式的逻辑学推理演算更具有优势。
目录 |
神经元[编辑]
神经元示意图:
- a1~an为输入向量的各个分量
- w1~wn为神经元各个突触的权值
- b为偏置
- f为传递函数,通常为非线性函数。一般有traingd(),tansig(),hardlim()。以下默认为hardlim()
- t为神经元输出
数学表示 
为权向量
为输入向量,
为
的转置
为偏置
为传递函数
可见,一个神经元的功能是求得输入向量与权向量的内积后,经一个非线性传递函数得到一个标量结果。
单个神经元的作用:把一个n维向量空间用一个超平面分割成两部分(称之为判断边界),给定一个输入向量,神经元可以判断出这个向量位于超平面的哪一边。
该超平面的方程:
权向量
偏置
超平面上的向量
神经元网络[编辑]
单层神经元网络[编辑]
是最基本的神经元网络形式,由有限个神经元构成,所有神经元的输入向量都是同一个向量。由于每一个神经元都会产生一个标量结果,所以单层神经元的输出是一个向量,向量的维数等于神经元的数目。 示意图:
多层神经元网络[编辑]
人工神经网络的使用性[编辑]
人工神经网络是一个能够学习,能够总结归纳的系统,也就是说它能够通过已知数据的实验运用来学习和归纳总结。人工神经网络通过对局部情况的对照比较(而这些比较是基于不同情况下的自动学习和要实际解决问题的复杂性所决定的),它能够推理产生一个可以自动识别的系统。与之不同的基于符号系统下的学习方法,它们也具有推理功能,只是它们是建立在逻辑演算法的基础上,也就是说它们之所以能够推理,基础是需要有一个推理演算法则的集合。
人工神经元网络模型[编辑]
通常来说,一个人工神经元网络是由一个多层神经元结构组成,每一层神经元拥有输入(它的输入是前一层神经元的输出)和输出,每一层(我们用符号记做)Layer(i)是由Ni(Ni代表在第i层上的N)个网络神经元组成,每个Ni上的网络神经元把对应在Ni-1上的神经元输出做为它的输入,我们把神经元和与之对应的神经元之间的连线用生物学的名称,叫做突触(英语:Synapse),在数学模型中每个突触有一个加权数值,我们称做权重,那么要计算第i层上的某个神经元所得到的势能等于每一个权重乘以第i-1层上对应的神经元的输出,然后全体求和得到了第i层上的某个神经元所得到的势能,然后势能数值通过该神经元上的激励函数(activation function,常是en:Sigmoid function以控制輸出大小,因為其可微分且連續,方便en:Delta rule處理。)求出该神经元的输出,注意的是该输出是一个非线性的数值,也就是说通过激励函数求的数值根据极限值来判断是否要激活该神经元,换句话说我们对一个神经元网络的输出是否线性不感兴趣。
基本結構[编辑]
一种常见的多层结构的前馈网络(Multilayer Feedforward Network)由三部分組成,
- 輸入層(Input layer),眾多神經元(Neuron)接受大量非線形輸入信息。輸入的信息稱為輸入向量。
- 輸出層(Output layer),信息在神經元鏈接中傳輸、分析、權衡,形成輸出結果。輸出的信息稱為輸出向量。
- 隱藏層(Hidden layer),簡稱「隱層」,是輸入層和輸出層之間眾多神經元和鏈接組成的各個層面。隱層可以有多層,習慣上會用一層。隱層的節點(神經元)數目不定,但數目越多神經網絡的非線性越顯著,從而神經網絡的強健性(robustness)(控制系統在一定結構、大小等的參數攝動下,維持某些性能的特性。)更顯著。習慣上會選輸入節點1.2至1.5倍的節點。
神经网络的类型已经演变出很多种,这种分层的结构也并不是对所有的神经网络都适用。
學習過程[编辑]
通過訓練樣本的校正,對各個層的權重進行校正(learning)而建立模型的過程,稱為自動學習過程(training algorithm)。具体的学习方法则因网络结构和模型不通而不同,常用反向传播算法(Backpropagation/倒傳遞/逆傳播,以output利用一次微分en:Delta rule來修正weight)來驗證。
參見:神經網絡介紹
種類[编辑]
人工神經網路分類為以下兩種:
1.依學習策略(Algorithm)分類主要有:
- 監督式學習網路(Supervised Learning Network)為主
- 無監督式學習網路(Unsupervised Learning Network)
- 混合式學習網路(Hybrid Learning Network)
- 聯想式學習網路(Associate Learning Network)
- 最適化學習網路(Optimization Application Network)
2.依網路架構(Connectionism)分類主要有:
參考條目[编辑]
外部連結[编辑]
- Performance comparison of neural network algorithms tested on UCI data sets
- A close view to Artificial Neural Networks Algorithms
- 在开放式目录计划中查阅Neural Networks的相关内容
- A Brief Introduction to Neural Networks (D. Kriesel) - Illustrated, bilingual manuscript about artificial neural networks; Topics so far: Perceptrons, Backpropagation, Radial Basis Functions, Recurrent Neural Networks, Self Organizing Maps, Hopfield Networks.
- Neural Networks in Materials Science
- A practical tutorial on Neural Networks
- Applications of neural networks
参考文献[编辑]
- ^ Zeidenberg, Matthew. Neural Networks in Artificial Intelligence. 1990: Ellis Horwood Limited. 1990. ISBN 0-13-612185-3.
- ^ Hagan, Martin. Neural Network Design. PWS Publishing Company. 1996. ISBN 7-111-10841-8.

为权向量
为输入向量,
为
为偏置
为传递函数
超平面上的向量