定理:假设给定m个输入样本( { X ( k ) } , ( k = 1 , 2 , . . . , m ) \{X(k)\},(k=1,2,...,m) {X(k)},(k=1,2,...,m))线性可分,那么感知机学习算法的权值就会在有限次的步骤中收敛到理想输出。
定性解释:
如果两类n维样本线性可分,那么一定存在一个n-1维的平面将其分开,n-1维超平面定义为:
W ( k ) = [ w 0 ( k ) , w 1 ( k ) , . . . w n ( k ) ] : W T X ( k ) = 0 W(k)=[w_0(k),w_1(k),...w_n(k)]:W^TX(k)=0 W(k)=[w0(k),w1(k),...wn(k)]:WTX(k)=0
→ w 0 ( k ) + w 1 ( k ) x 1 ( k ) + . . . + w n ( k ) x n ( k ) = 0 \rarr w_0(k)+w_1(k)x_1(k)+...+w_n(k)x_n(k)=0 →w0(k)+w1(k)x1(k)+...+wn(k)xn(k)=0
这个超平面将 X ( k ) X(k) X(k)分为两类:
W ( k ) T X ( k ) > 0 → y ( k ) = 1 → X ( k ) ∈ C 1 W(k)^TX(k)>0\rarr y(k)=1\rarr X(k)\in C_1 W(k)TX(k)>0→y(k)=1→X(k)∈C1
W ( k ) T X ( k ) < 0 → y ( k ) = 0 → X ( k ) ∈ C 0 W(k)^TX(k)<0\rarr y(k)=0\rarr X(k)\in C_0 W(k)TX(k)<0→y(k)=0→X(k)∈C0
在训练过程中,感知机的权重不断地在被调整使得分类结果接近正确分类结果。
定量证明:
假设存在由理想的权值 W ∗ W^* W∗确定的理想超平面 H ∗ H^* H∗,可得到如下结果:
如果 X ( k ) ∈ C 1 X(k)\in C_1 X(k)∈C1,那么 X T ( k ) W ∗ > 0 , y ( k ) = 1 X^T(k)W^*>0,y(k)=1 XT(k)W∗>0,y(k)=1;
如果 X ( k ) ∈ C 0 X(k)\in C_0 X(k)∈C0,那么 X T ( k ) W ∗ < 0 , y ( k ) = 0 X^T(k)W^*<0,y(k)=0 XT(k)W∗<0,y(k)=0。
证明:学习算法是否能逼近 W ∗ W^* W∗
证明:假设 W ∗ W^* W∗是理想权值,那么任意 α > 0 \alpha>0 α>0, α W ∗ \alpha W^* αW∗也是理想权值。因为有:
X T ( k ) α W ∗ > 0 X^T(k)\alpha W^*>0 XT(k)αW∗>0,或者 X T ( k ) α W ∗ < 0 X^T(k)\alpha W^*<0 XT(k)αW∗<0
理性权值不为1,找到一个,乘任一大于0的常数还是理想权值
所以,算法逼近 α W ∗ \alpha W^* αW∗也算逼近理想权值
证明:存在有限值N,使得 ∥ W ( N ) − α W ∗ ∥ 2 → N ↑ 0 \lVert W(N)-\alpha W^*\rVert^2\xrightarrow{N\uparrow}0 ∥W(N)−αW∗∥2N↑ 0。
证明过程:
根据学习算法,在第k次迭代过程中,可以得到权值:
W ( k + 1 ) = W ( k ) + η ( d ( k ) − y ( k ) ) X ( k ) W(k+1)=W(k)+\eta(d(k)-y(k))X(k) W(k+1)=W(k)+η(d(k)−y(k))X(k)
如果在第k次迭代, X ( k ) X(k) X(k)被正确分类,那么 d ( k ) − y ( k ) = 0 , W ( k + 1 ) = W ( k ) d(k)-y(k)=0,W(k+1)=W(k) d(k)−y(k)=0,W(k+1)=W(k)
如果在第k次迭代中,发生错误分类,那么:
情况1: X ( k ) ∈ C 1 X(k)\in C_1 X(k)∈C1,但是 X T ( k ) W ( k ) < 0 X^T(k)W(k)<0 XT(k)W(k)<0, d ( k ) = 1 , y ( k ) = 0 d(k)=1,y(k)=0 d(k)=1,y(k)=0
情况2: X ( k ) ∈ C 0 X(k)\in C_0 X(k)∈C0,但是 X T ( k ) W ( k ) > 0 X^T(k)W(k)>0 XT(k)W(k)>0, d ( k ) = 0 , y ( k ) = 1 d(k)=0,y(k)=1 d(k)=0,y(k)=1
如果能证明错误情况下,权重向纠正(减小)的方向发展,即收敛。
情况1证明:
在情况1下, d ( k ) − y ( k ) = 1 − 0 = 1 d(k)-y(k)=1-0=1 d(k)−y(k)=1−0=1, W T X ( k ) < 0 W^TX(k)<0 WTX(k)<0根据算法:
W ( k + 1 ) = W ( k ) + η ( d ( k ) − y ( k ) ) X ( k ) = W ( k ) + η X ( k ) W(k+1)=W(k)+\eta(d(k)-y(k))X(k)=W(k)+\eta X(k) W(k+1)=W(k)+η(d(k)−y(k))X(k)=W(k)+ηX(k)
∥ W ( k + 1 ) − α W ∗ ∥ 2 = [ W ( k + 1 ) − α W ∗ ] T [ W ( k + 1 ) − α W ∗ ] = [ W ( k ) + η X ( k ) − α W ∗ ] T [ W ( k ) + η X ( k ) − α W ∗ ] = ∥ W ( k ) − α W ∗ ∥ 2 + η 2 ∥ X ( k ) ∥ 2 + 2 η [ W ( k ) − α W ∗ ] T X ( k ) \begin{aligned}\lVert W(k+1)-\alpha W^*\rVert^2&=[W(k+1)-\alpha W^*]^T[W(k+1)-\alpha W^*]\\&=[W(k)+\eta X(k)-\alpha W^*]^T[W(k)+\eta X(k)-\alpha W^*]\\&=\lVert W(k)-\alpha W^*\rVert^2+\eta^2\lVert X(k)\rVert^2+2\eta[W(k)-\alpha W^*]^TX(k)\end{aligned} ∥W(k+1)−αW∗∥2=[W(k+1)−αW∗]T[W(k+1)−αW∗]=[W(k)+ηX(k)−αW∗]T[W(k)+ηX(k)−αW∗]=∥W(k)−αW∗∥2+η2∥X(k)∥2+2η[W(k)−αW∗]TX(k)
分解最后一项,其中 2 η W T ( k ) X ( k ) < 0 2\eta W^T(k)X(k)<0 2ηWT(k)X(k)<0,所以,上式小于把这个负项拿掉之后的剩余部分:
原式 < ∥ W ( k ) − α W ∗ ∥ 2 + η 2 ∥ X ( k ) ∥ 2 − 2 η α W ∗ T X ( k ) <\lVert W(k)-\alpha W^*\rVert^2+\eta^2\lVert X(k)\rVert^2-2\eta\alpha W^{*T}X(k) <∥W(k)−αW∗∥2+η2∥X(k)∥2−2ηαW∗TX(k)
令 m a x { ∥ X ( k ) ∥ 2 } = β 2 , m i n { ∥ W ∗ T X ( k ) ∥ } = γ max\{\lVert X(k)\rVert^2\}=\beta^2,min\{\lVert W^{*T}X(k)\rVert\}=\gamma max{∥X(k)∥2}=β2,min{∥W∗TX(k)∥}=γ
则上式 ≤ ∥ W ( k ) − α W ∗ ∥ 2 + η 2 β 2 − 2 η α γ \leq\lVert W(k)-\alpha W^*\rVert^2+\eta^2\beta^2-2\eta\alpha\gamma ≤∥W(k)−αW∗∥2+η2β2−2ηαγ
其中 ∥ W ( k ) − α W ∗ ∥ 2 \lVert W(k)-\alpha W^*\rVert^2 ∥W(k)−αW∗∥2为第k次迭代误差, η 和 β \eta和\beta η和β都为常数, α \alpha α为任意大于0常数
假设 α = η β 2 γ ( > 0 ) \alpha=\frac{\eta\beta^2}{\gamma}(>0) α=γηβ2(>0),带入上式得
上式 = ∥ W ( k ) − α W ∗ ∥ 2 − η 2 β 2 =\lVert W(k)-\alpha W^*\rVert^2-\eta^2\beta^2 =∥W(k)−αW∗∥2−η2β2
即 ∥ W ( k + 1 ) − α W ∗ ∥ 2 < ∥ W ( k ) − α W ∗ ∥ 2 − η 2 β 2 \lVert W(k+1)-\alpha W^*\rVert^2<\lVert W(k)-\alpha W^*\rVert^2-\eta^2\beta^2 ∥W(k+1)−αW∗∥2<∥W(k)−αW∗∥2−η2β2即迭代后误差减小
验证: k = 0 : ∥ W ( 1 ) − α W ∗ ∥ 2 < ∥ W ( 0 ) − α W ∗ ∥ 2 − η 2 β 2 k=0:\lVert W(1)-\alpha W^*\rVert^2<\lVert W(0)-\alpha W^*\rVert^2-\eta^2\beta^2 k=0:∥W(1)−αW∗∥2<∥W(0)−αW∗∥2−η2β2
k = 1 : ∥ W ( 2 ) − α W ∗ ∥ 2 < ∥ W ( 1 ) − α W ∗ ∥ 2 − η 2 β 2 < ∥ W ( 0 ) − α W ∗ ∥ 2 − 2 η 2 β 2 k=1:\lVert W(2)-\alpha W^*\rVert^2<\lVert W(1)-\alpha W^*\rVert^2-\eta^2\beta^2<\lVert W(0)-\alpha W^*\rVert^2-2\eta^2\beta^2 k=1:∥W(2)−αW∗∥2<∥W(1)−αW∗∥2−η2β2<∥W(0)−αW∗∥2−2η2β2
. . . ... ...
∥ W ( N ) − α W ∗ ∥ 2 < ∥ W ( 0 ) − α W ∗ ∥ 2 − N η 2 β 2 \lVert W(N)-\alpha W^*\rVert^2<\lVert W(0)-\alpha W^*\rVert^2-N\eta^2\beta^2 ∥W(N)−αW∗∥2<∥W(0)−αW∗∥2−Nη2β2
因为不等式左侧为大于零的一个数,右侧为一个常数减去线性增大的数,最后结果只能趋近于零:
∥ W ( N ) − α W ∗ ∥ 2 < ∥ W ( 0 ) − α W ∗ ∥ 2 − N η 2 β 2 → 0 \lVert W(N)-\alpha W^*\rVert^2<\lVert W(0)-\alpha W^*\rVert^2-N\eta^2\beta^2\rarr0 ∥W(N)−αW∗∥2<∥W(0)−αW∗∥2−Nη2β2→0
∴ \therefore ∴N满足 N ≤ ∥ W ( 0 ) − α W ∗ ∥ 2 / ( η 2 β 2 ) N\leq\lVert W(0)-\alpha W^*\rVert^2/(\eta^2\beta^2) N≤∥W(0)−αW∗∥2/(η2β2)
即N是有限的
情况2: X ( k ) ∈ C 0 X(k)\in C_0 X(k)∈C0,但是 X T ( k ) W ( k ) > 0 X^T(k)W(k)>0 XT(k)W(k)>0, d ( k ) = 0 , y ( k ) = 1 d(k)=0,y(k)=1 d(k)=0,y(k)=1
在情况2下, d ( k ) − y ( k ) = 0 − 1 = − 1 d(k)-y(k)=0-1=-1 d(k)−y(k)=0−1=−1, W T X ( k ) > 0 W^TX(k)>0 WTX(k)>0根据算法:
W ( k + 1 ) = W ( k ) + η ( d ( k ) − y ( k ) ) X ( k ) = W ( k ) − η X ( k ) W(k+1)=W(k)+\eta(d(k)-y(k))X(k)=W(k)-\eta X(k) W(k+1)=W(k)+η(d(k)−y(k))X(k)=W(k)−ηX(k)
∥ W ( k + 1 ) − α W ∗ ∥ 2 = [ W ( k + 1 ) − α W ∗ ] T [ W ( k + 1 ) − α W ∗ ] = [ W ( k ) − η X ( k ) − α W ∗ ] T [ W ( k ) − η X ( k ) − α W ∗ ] = ∥ W ( k ) − α W ∗ ∥ 2 + η 2 ∥ X ( k ) ∥ 2 − 2 η [ W ( k ) − α W ∗ ] T X ( k ) \begin{aligned}\lVert W(k+1)-\alpha W^*\rVert^2&=[W(k+1)-\alpha W^*]^T[W(k+1)-\alpha W^*]\\&=[W(k)-\eta X(k)-\alpha W^*]^T[W(k)-\eta X(k)-\alpha W^*]\\&=\lVert W(k)-\alpha W^*\rVert^2+\eta^2\lVert X(k)\rVert^2-2\eta[W(k)-\alpha W^*]^TX(k)\end{aligned} ∥W(k+1)−αW∗∥2=[W(k+1)−αW∗]T[W(k+1)−αW∗]=[W(k)−ηX(k)−αW∗]T[W(k)−ηX(k)−αW∗]=∥W(k)−αW∗∥2+η2∥X(k)∥2−2η[W(k)−αW∗]TX(k)
分解最后一项,其中 2 η W T ( k ) X ( k ) > 0 2\eta W^T(k)X(k)>0 2ηWT(k)X(k)>0,所以,上式小于把这项拿掉之后的剩余部分,即
∥ W ( k + 1 ) − α W ∗ ∥ 2 = ∥ W ( k ) − α W ∗ ∥ 2 + η 2 ∥ X ( k ) ∥ 2 − 2 η [ W ( k ) − α W ∗ ] T X ( k ) < ∥ W ( k ) − α W ∗ ∥ 2 + η 2 ∥ X ( k ) ∥ 2 + 2 η α W ∗ T X ( k ) \begin{aligned}\lVert W(k+1)-\alpha W^*\rVert^2&=\lVert W(k)-\alpha W^*\rVert^2+\eta^2\lVert X(k)\rVert^2-2\eta[W(k)-\alpha W^*]^TX(k)\\&<\lVert W(k)-\alpha W^*\rVert^2+\eta^2\lVert X(k)\rVert^2+2\eta\alpha W^{*T}X(k)\end{aligned} ∥W(k+1)−αW∗∥2=∥W(k)−αW∗∥2+η2∥X(k)∥2−2η[W(k)−αW∗]TX(k)<∥W(k)−αW∗∥2+η2∥X(k)∥2+2ηαW∗TX(k)
令 m a x { ∥ X ( k ) ∥ 2 } = β 2 max\{\lVert X(k)\rVert^2\}=\beta^2 max{∥X(k)∥2}=β2
∵ X ( k ) ∈ C 0 \because X(k)\in C_0 ∵X(k)∈C0
∴ W ∗ T X ( k ) < 0 , \therefore W^{*T}X(k)<0, ∴W∗TX(k)<0,令 m a x { ∥ W ∗ T X ( k ) ∥ } = γ ( γ < 0 ) max\{\lVert W^{*T}X(k)\rVert\}=\gamma(\gamma<0) max{∥W∗TX(k)∥}=γ(γ<0)
则 ∥ W ( k + 1 ) − α W ∗ ∥ 2 < ∥ W ( k ) − α W ∗ ∥ 2 + η 2 ∥ X ( k ) ∥ 2 + 2 η α W ∗ T X ( k ) ≤ ∥ W ( k ) − α W ∗ ∥ 2 + η 2 β 2 + 2 η α γ \begin{aligned}\lVert W(k+1)-\alpha W^*\rVert^2&<\lVert W(k)-\alpha W^*\rVert^2+\eta^2\lVert X(k)\rVert^2+2\eta\alpha W^{*T}X(k)\\&\leq\lVert W(k)-\alpha W^*\rVert^2+\eta^2\beta^2+2\eta\alpha\gamma\end{aligned} ∥W(k+1)−αW∗∥2<∥W(k)−αW∗∥2+η2∥X(k)∥2+2ηαW∗TX(k)≤∥W(k)−αW∗∥2+η2β2+2ηαγ
其中 ∥ W ( k ) − α W ∗ ∥ 2 \lVert W(k)-\alpha W^*\rVert^2 ∥W(k)−αW∗∥2为第k次迭代误差, η 和 β \eta和\beta η和β都为常数, α \alpha α为任意大于0常数
假设 α = − η β 2 γ ( > 0 ) \alpha=-\frac{\eta\beta^2}{\gamma}(>0) α=−γηβ2(>0),带入上式得
上式 = ∥ W ( k ) − α W ∗ ∥ 2 − η 2 β 2 =\lVert W(k)-\alpha W^*\rVert^2-\eta^2\beta^2 =∥W(k)−αW∗∥2−η2β2
即 ∥ W ( k + 1 ) − α W ∗ ∥ 2 < ∥ W ( k ) − α W ∗ ∥ 2 − η 2 β 2 \lVert W(k+1)-\alpha W^*\rVert^2<\lVert W(k)-\alpha W^*\rVert^2-\eta^2\beta^2 ∥W(k+1)−αW∗∥2<∥W(k)−αW∗∥2−η2β2即迭代后误差减小
验证: k = 0 : ∥ W ( 1 ) − α W ∗ ∥ 2 < ∥ W ( 0 ) − α W ∗ ∥ 2 − η 2 β 2 k=0:\lVert W(1)-\alpha W^*\rVert^2<\lVert W(0)-\alpha W^*\rVert^2-\eta^2\beta^2 k=0:∥W(1)−αW∗∥2<∥W(0)−αW∗∥2−η2β2
k = 1 : ∥ W ( 2 ) − α W ∗ ∥ 2 < ∥ W ( 1 ) − α W ∗ ∥ 2 − η 2 β 2 < ∥ W ( 0 ) − α W ∗ ∥ 2 − 2 η 2 β 2 k=1:\lVert W(2)-\alpha W^*\rVert^2<\lVert W(1)-\alpha W^*\rVert^2-\eta^2\beta^2<\lVert W(0)-\alpha W^*\rVert^2-2\eta^2\beta^2 k=1:∥W(2)−αW∗∥2<∥W(1)−αW∗∥2−η2β2<∥W(0)−αW∗∥2−2η2β2
. . . ... ...
∥ W ( N ) − α W ∗ ∥ 2 < ∥ W ( 0 ) − α W ∗ ∥ 2 − N η 2 β 2 \lVert W(N)-\alpha W^*\rVert^2<\lVert W(0)-\alpha W^*\rVert^2-N\eta^2\beta^2 ∥W(N)−αW∗∥2<∥W(0)−αW∗∥2−Nη2β2
因为不等式左侧为大于零的一个数,右侧为一个常数减去线性增大的数,最后结果只能趋近于零:
∥ W ( N ) − α W ∗ ∥ 2 < ∥ W ( 0 ) − α W ∗ ∥ 2 − N η 2 β 2 → 0 \lVert W(N)-\alpha W^*\rVert^2<\lVert W(0)-\alpha W^*\rVert^2-N\eta^2\beta^2\rarr0 ∥W(N)−αW∗∥2<∥W(0)−αW∗∥2−Nη2β2→0
前提是样本线性可分,如果 X ( k ) {X(k)} X(k)线性不可分, W ∗ W^* W∗将不存在。以上算法可能会导致 W ( k ) W(k) W(k)改变为循环且不收敛