神经网络_线性神经网络 2 (Nerual Network_Linear Nerual Network 2)

1 LMS 学习规则

1.1 LMS学习规则定义

MSE=(1/Q)*Σe2k=(1/Q)*Σ(tk-ak)2,k=1,2,...,Q

式中:Q是训练样本;t(k)是神经元的期望输出;a(k)是神经元的实际输出。

线性神经网络的目标是寻找最适合的权值W,使得均方差MSE最小,只要对MSE求ω得偏导数,然后让偏导数等于0,那么就可以计算出MSE的极值。

for example:

原始输入:X1=[0 0]T、t1=0,X2=[1 0]T、t2=0,X3=[0 1]T、t3=0,X4=[1 1]T、t4=1。

更改后的输入:X1=[0 0 1]、t1=0,X2=[1 0 1]、t2=0,X3=[0 1 1]、t3=0,X4=[1 1 1]、t4=1。

(1) 初始化权值 W=[ω1,ω2],偏置值 b=b;

(2) 设ω3=b,则W=[ω1,ω2,ω3],更改后的输入如上;

(3) 求解每一个输入的偏差;

(4) 偏差相加求平均;

(5) 对每个权值求偏导数;

(6) 解方程组。

e1=t1-a1=0-X1W=-ω3

e2=t2-a2=0-X2W=-ω13

e3=t3-a3=0-X3W=-ω23

e4=t4-a4=1-X4W=1-ω123

MSE=((ω3)2+(ω13)2+(ω23)2+(1-ω123)2)/4

对MSE的ω1求偏导数,得:∂MSE/∂ω11+0.5ω23-0.5;

对MSE的ω2求偏导数,得:∂MSE/∂ω2=0.5ω123-0.5;

对MSE的ω3求偏导数,得:∂MSE/∂ω312+2ω3-0.5。

使偏导数等于0,可得方程组:

[2 1 2;1 2 2;2 2 4]T*[ω1 ω2 ω3]T=[1 1 1]T。解该方程,可得

ω1= 0.5;

ω2=0.5;

ω3=-0.25。

因此,可得 0.5x1+0.5x2-0.25=0.5 (0.5是因为期望输出为0和1,取其中间值(0+1)/2=0.5)

计算到这步,则可以使用该几何图形将输入的数据在图形上分开,同时得到最佳权值。除用此方法求权值外,还可以使用迭代法计算权值。将在神经网络_线性神经网络 3中讲解 (Nerual Network_Linear Nerual Network)。

上一篇:HBase Rowkey的散列与预分区设计


下一篇:OpenGL结合C#进行绘图