线性神经网络和单层感知器的区别主要在于:感知器的传输函数只能输出两种可能的值,而线性神经网络可以输出任意值,其传输函数是线性函数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nhfe9NwC-1584019058490)(https://i.loli.net/2018/05/08/5af0f89347502.png)]
如图所示,线性神经网络可以产生二值输出(图中的
q
q
q)和模拟输出(图中的
y
y
y)
和感知器类似,先行神经网络的变量:
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
w
(
n
)
=
[
b
(
n
)
,
w
1
(
n
)
,
w
2
(
n
)
,
.
.
.
,
w
N
(
n
)
]
T
w(n)=[b(n),w_1(n),w_2(n),...,w_N(n)]^T
w(n)=[b(n),w1(n),w2(n),...,wN(n)]T
b
(
n
)
=
偏
置
b(n)=偏置
b(n)=偏置
y
(
n
)
=
实
际
输
出
=
f
(
x
(
n
)
T
w
)
=
x
(
n
)
T
w
y(n)=实际输出=f(x(n)^Tw)=x(n)^Tw
y(n)=实际输出=f(x(n)Tw)=x(n)Tw
d
(
n
)
=
期
望
输
出
d(n)=期望输出
d(n)=期望输出
η
=
学
习
率
,
0
<
η
<
1
\eta=学习率,0<\eta<1
η=学习率,0<η<1
激活函数
f
=
p
u
r
e
l
i
n
f=purelin
f=purelin(线性函数
y
=
x
y=x
y=x)
LMS算法
线性神经网络的闪光之处在于其学习算法LMS。LMS算法只能训练单层网络。
第n次迭代的信号误差
e
(
n
)
=
d
(
n
)
−
x
T
(
n
)
w
(
n
)
e(n)=d(n)-x^T(n)w(n)
e(n)=d(n)−xT(n)w(n)
对
w
w
w求偏导可得
∂
e
(
n
)
∂
w
=
−
x
T
(
n
)
\frac {\partial e(n)} {\partial w}=-x^T(n)
∂w∂e(n)=−xT(n)
代价函数
E
(
w
)
=
1
2
e
2
(
n
)
E(w)=\frac 1 2 e^2(n)
E(w)=21e2(n)
对
w
w
w求偏导可得
∂
e
(
n
)
∂
w
=
e
(
n
)
∂
e
(
n
)
∂
w
\frac {\partial e(n)} {\partial w}=e(n)\frac {\partial e(n)} {\partial w}
∂w∂e(n)=e(n)∂w∂e(n)
综上可得
∂
E
∂
w
=
−
x
T
(
n
)
e
(
n
)
\frac {\partial E} {\partial w}=-x^T(n)e(n)
∂w∂E=−xT(n)e(n)
因此,根据梯度下降法
w
(
n
+
1
)
=
w
(
n
)
+
η
(
−
∇
)
=
w
(
n
)
+
η
(
−
∂
E
∂
w
)
=
w
(
n
)
+
η
x
T
(
n
)
e
(
n
)
w(n+1)=w(n)+\eta (-\nabla)=w(n)+\eta(-\frac {\partial E} {\partial w})=w(n)+\eta x^T(n)e(n)
w(n+1)=w(n)+η(−∇)=w(n)+η(−∂w∂E)=w(n)+ηxT(n)e(n)
LMS算法中学习率的选择
确保收敛的学习率
1996年Hayjin证明只要学习率
η
\eta
η满足
0
<
η
<
2
λ
m
a
x
0<\eta<\frac 2 {\lambda_{max}}
0<η<λmax2LMS算法就是按方差收敛的。其中
λ
m
a
x
\lambda_{max}
λmax是输入向量
x
(
n
)
x(n)
x(n)组成的自相关矩阵
R
R
R的最大特征值。由于
λ
m
a
x
\lambda_{max}
λmax常常不可知,往往用
R
R
R的迹来代替
t
r
(
R
)
=
∑
i
=
1
Q
R
(
i
,
i
)
tr(R)=\sum_{i=1}^QR(i,i)
tr(R)=i=1∑QR(i,i)
同时,矩阵的迹等于所有特征值之和,因此
t
r
(
R
)
>
λ
m
a
x
tr(R)>\lambda_{max}
tr(R)>λmax
只要取
0
<
η
<
2
t
r
(
R
)
<
2
λ
m
a
x
0<\eta<\frac 2 {tr(R)}<\frac 2 {\lambda_{max}}
0<η<tr(R)2<λmax2即可满足条件。
按定义,自相关矩阵的主对角线元素之和就是各输入向量的均方值,因此公式又可以写成
0
<
η
<
2
向
量
均
方
值
之
和
0<\eta<\frac 2 {向量均方值之和}
0<η<向量均方值之和2
学习率逐渐下降
学习初期,用较大的学习率保证收敛速度,随着迭代次数增加,减小学习率保证精度,确保收敛。
- η = η 0 n \eta=\frac {\eta_0} {n} η=nη0
- η = c n η 0 , c 接 近 1 但 小 于 1 \eta=c^n\eta_0,c接近1但小于1 η=cnη0,c接近1但小于1
- η = η 0 1 + n τ , n 0 和 τ 均 为 常 数 \eta=\frac {\eta_0} {1+\frac n \tau}, n_0和\tau均为常数 η=1+τnη0,n0和τ均为常数