线性神经网络
线性神经网络和单层感知器的区别主要在于:感知器的传输函数只能输出两种可能的值,而线性神经网络可以输出任意值,其传输函数是线性函数
如图所示,线性神经网络可以产生二值输出(图中的
q
q
)和模拟输出(图中的)
和感知器类似,先行神经网络的变量:
x(n)=[1,x1(n),x2(n),...,xN(n)]T
x
(
n
)
=
[
1
,
x
1
(
n
)
,
x
2
(
n
)
,
.
.
.
,
x
N
(
n
)
]
T
w(n)=[b(n),w1(n),w2(n),...,wN(n)]T
w
(
n
)
=
[
b
(
n
)
,
w
1
(
n
)
,
w
2
(
n
)
,
.
.
.
,
w
N
(
n
)
]
T
b(n)=偏置
b
(
n
)
=
偏
置
y(n)=实际输出=f(x(n)Tw)=x(n)Tw
y
(
n
)
=
实
际
输
出
=
f
(
x
(
n
)
T
w
)
=
x
(
n
)
T
w
d(n)=期望输出
d
(
n
)
=
期
望
输
出
η=学习率,0<η<1
η
=
学
习
率
,
0
<
η
<
1
激活函数
f=purelin
f
=
p
u
r
e
l
i
n
(线性函数
y=x
y
=
x
)
LMS算法
线性神经网络的闪光之处在于其学习算法LMS。LMS算法只能训练单层网络。
第n次迭代的信号误差
对 w w 求偏导可得
代价函数
对 w w 求偏导可得
综上可得
因此,根据梯度下降法
LMS算法中学习率的选择
确保收敛的学习率
1996年Hayjin证明只要学习率 η η 满足
同时,矩阵的迹等于所有特征值之和,因此 tr(R)>λmax t r ( R ) > λ m a x
只要取 0<η<2tr(R)<2λmax 0 < η < 2 t r ( R ) < 2 λ m a x 即可满足条件。
按定义,自相关矩阵的主对角线元素之和就是各输入向量的均方值,因此公式又可以写成
学习率逐渐下降
学习初期,用较大的学习率保证收敛速度,随着迭代次数增加,减小学习率保证精度,确保收敛。
-
η=η0n
η
=
η
0
n
-
η=cnη0,c接近1但小于1
η
=
c
n
η
0
,
c
接
近
1
但
小
于
1
-
η=η01+nτ,n0和τ均为常数
η
=
η
0
1
+
n
τ
,
n
0
和
τ
均
为
常
数