目录
线性神经网络(LMS,Least Mean Square)
线性神经网络,可以认为是对单层感知器的改进。
模型
Madaline网络模型:网络包含多个神经元节点,形成多个输出
LMS学习规则
最小均方规则,使神经元实际输出与期望输出平方差最小,与单层感知器学习规则很相似(可认为是单层感知器学习规则的特殊版),训练时候激活函数是y=x(purelin)。
学习信号: r = d j − o j = d j − W j T X r = {d_j} - {o_j} = {d_j} - W_j^TX r=dj−oj=dj−WjTX(单层感知器学习信号为: r = d j − o j = d j − s g n ( W j T X ) r = {d_j} - {o_j} = {d_j} - {\mathop{\rm sgn}} (W_j^TX) r=dj−oj=dj−sgn(WjTX))
权值调整公式:
Δ W j = η [ d j − W j T X ] X \Delta {W_j} = \eta [{d_j} - W_j^TX]X ΔWj=η[dj−WjTX]X
Δ w i j = η [ d j − W j T X ] x i \Delta {w_{ij}} = \eta [{d_j} - W_j^TX]{x_i} Δwij=η[dj−WjTX]xi
当用作分类器时,权值训练完后进行预测是使用符号函数输出(即 s g n ( ) sgn() sgn())。
算法步骤
- 定义变量和参数。
为方便处理,将偏置b与权值合并:
ω ( n ) = [ b ( n ) , ω 1 ( n ) , ω 2 ( n ) , . . . , ω N ( n ) ] T \omega (n) = {[b(n),{\omega _1}(n),{\omega _2}(n),...,{\omega _N}(n)]^T} ω(n)=[b(n),ω1(n),ω2(n),...,ωN(n)]T
相应地,训练样本为
x ( n ) = [ 1 , x 1 ( n ) , x 2 ( n ) , . . . , x N ( n ) ] T x(n) = {[1,{x_1}(n),{x_2}(n),...,{x_N}(n)]^T} x(n)=[1,x1(n),x2(n),...,xN(n)]T
b ( n ) b(n) b(n)为偏置, d ( n ) d(n) d(n)为期望输出, y ( n ) y(n) y(n)为实际输出,$\eta 为 学 习 率 , 为学习率, 为学习率,n$为迭代次数。
- 初始化。给向量 ω ( n ) \omega (n) ω(n)赋一个较小的随机初值, n = 0 n=0 n=0。
- 输入样本,计算实际输出和误差。根据给定的期望输出 d ( n ) d(n) d(n),计算
e ( n ) = d ( n ) − x T ( n ) e ( n ) e(n) = d(n) - {x^T}(n)e(n) e(n)=d(n)−xT(n)e(n)
-
调整权值向量。根据上一步算得的误差,计算
ω ( n + 1 ) = ω ( n ) + η x T ( n ) e ( n ) \omega (n + 1) = \omega (n) + \eta {x^T}(n)e(n) ω(n+1)=ω(n)+ηxT(n)e