线性神经网络和单层感知器的区别主要在于:感知器的传输函数只能输出两种可能的值,而线性神经网络可以输出任意值,其传输函数是线性函数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nhfe9NwC-1584019058490)(https://i.loli.net/2018/05/08/5af0f89347502.png)]
如图所示,线性神经网络可以产生二值输出(图中的)和模拟输出(图中的)
和感知器类似,先行神经网络的变量:
激活函数(线性函数)
LMS算法
线性神经网络的闪光之处在于其学习算法LMS。LMS算法只能训练单层网络。
第n次迭代的信号误差
对求偏导可得
代价函数
对求偏导可得
综上可得
因此,根据梯度下降法
LMS算法中学习率的选择
确保收敛的学习率
1996年Hayjin证明只要学习率满足LMS算法就是按方差收敛的。其中是输入向量组成的自相关矩阵的最大特征值。由于常常不可知,往往用的迹来代替
同时,矩阵的迹等于所有特征值之和,因此
只要取即可满足条件。
按定义,自相关矩阵的主对角线元素之和就是各输入向量的均方值,因此公式又可以写成
学习率逐渐下降
学习初期,用较大的学习率保证收敛速度,随着迭代次数增加,减小学习率保证精度,确保收敛。