神经网络
神经网络是大量结构简单的,功能接近的神经元节点按一定体系架构连接成的网状结构,类似大脑的结构,需要建议输入和输出的映射关系。
神经网络可以用于分类、模式识别、连续值预测。
神经元
人工神经元:
- 来源:生物神经元间相互联系,传递信息。借鉴生物神经元,形成人工神经元。
- 概念:
每个神经元都是一个结构相似的独立单元,它接受前一层传来的数据,并将这些数据的加权和输入非线性作用函数中,最后将非线性作用函数的输出结果传递给后一层。 - 模型:
若干输入,每个输入有各自的权重,进行一个混合的操作(线性组合),经过f映射(通常是非线性)后形成一个output值。函数表达如下:
y = f ( w x ) = f ( ∑ i = 1 d w i x i ) y = f(w^x) = f (\sum_{i=1}^d w_ix_i) y=f(wx)=f(i=1∑dwixi)
其中,激活函数是非线性函数f - 重要部分——激活函数(传统)
将负无穷到正无穷映射到一个范围内
(1)sigmoid
f ( x ) = 1 1 + e − x f(x) = \frac{1}{1+e^{-x}} f(x)=1+e−x1
令 y = f ( x ) , f ′ ( x ) = y ( 1 − y ) 令y=f(x) ,f^{'} (x) =y(1-y) 令y=f(x),f′(x)=y(1−y)
(2)tanh
f ( x ) = t a n h ( x ) = e x − e − x e x + e − x f(x)= tanh(x) = \frac{e^x-e^{-x}}{e^x + e ^{-x}} f(x)=tanh(x)=ex+e−xex−e−x
令 y = f ( x ) , f ′ ( x ) = 1 − y 2 令y=f(x) ,f^{'}(x) =1-y^2 令y=f(x),f′(x)=1−y2
人工神经网络
基础神经网络
- 、神经网络概念
大量神经元节点按照一定体系架构连接成的网状结构,一般有输入层,隐含层,输出层。神经元包括输入向量x,权重向量w,偏置标量b和激活函数sigmoid。通长使用梯度下降或者BP后向传播(链式规则)进行优化。
传统的浅层网络,一般有3-5层。
- 重要概念——层
实现输入控件到输出空间的线性或非线性变化
每层可以改变的量:提取不同的特征,提取特征的个数
前馈神经网络
- 概念:
前馈神经网络是各神经元从输入层开始,接收前一级输入,并输出到下一级,直至输出层。整个网络中无反馈,可用一个有向无环图表示。 - 特点
采用一种单项多层结构。其中每一层包含若干个神经元,同一层的神经元之间没有互相连接,层间信息的传送只沿着一个方向。
其中,第一层称为输入层,最后一层为输出层,中间为隐含层。 - 学习规则——Delta
Delta学习规则是一种有监督学习算法,该算法根据神经元的实际输出与期望输出查别来调整链接权。数学表示如下:
Δ w i j = a ⋅ ( d i − y i ) x j ( t ) \Delta w_ij=a\cdot (d_i-y_i)x_j(t) Δwij=a⋅(di−yi)xj(t)
其中, Δ w i j \Delta w_ij Δwij表示神经元j到神经元i连接权重增量, d i d_i di是神经元i的期望输出, y i y_i yi是神经元i的实际输出, x j x_j xj表示神经元j状态,a是表示学习速度的常数。 - 目标函数
对于训练样本x,期望输出t和实际输出z越接近越好,即简单目标函数越小越好。
简单目标函数如下:
J ( w ) = 1 2 ∣ ∣ t − z ∣ ∣ 2 = 1 2 ∑ k = 1 c ( t k − z k ) 2 J(w)=\frac{1}{2}||t-z||^2=\frac{1}{2}\sum_{k=1}^c(t_k-z_k)^2 J(w)=21∣∣t−z∣∣2=21k=1∑c(tk−zk)2
注: 1 2 \frac{1}{2} 21是为了求导方便
梯度下降
令权重向梯度下降的方向调整,直到权重无法下降为止。下降调整过程为迭代过程,表示为:
w ( m + 1 ) = w ( m ) + Δ w ( m ) + Δ w ( m ) = w ( m ) − η ∂ J ∂ w w(m+1)=w(m)+\Delta w(m)+\Delta w(m)=w(m)-\eta \frac{\partial J}{\partial w} w(m+1)=w(m)+Δw(m)+Δw(m)=w(m)−η∂w∂J
将此问题类比为爬山,红色部分代表J(w)目标函数有着比较高的取值,需要能够让目标函数的值尽量的低&#x