【神经网络】感知机算法的收敛性证明

    技术2022-07-13  85

    感知机算法的收敛性

    感知机学习算法是否收敛?

    定理:假设给定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)>0y(k)=1X(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)<0y(k)=0X(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)αW2N 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)=10=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)αW2=[W(k+1)αW]T[W(k+1)αW]=[W(k)+ηX(k)αW]T[W(k)+ηX(k)αW]=W(k)αW2+η2X(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)αW2+η2X(k)22ηαWTX(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{WTX(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)αW2+η2β22ηαγ

    其中 ∥ W ( k ) − α W ∗ ∥ 2 \lVert W(k)-\alpha W^*\rVert^2 W(k)αW2为第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)αW2η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)αW2<W(k)αW2η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)αW2<W(0)αW2η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)αW2<W(1)αW2η2β2<W(0)αW22η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)αW2<W(0)αW2Nη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)αW2<W(0)αW2Nη2β20

    ∴ \therefore N满足 N ≤ ∥ W ( 0 ) − α W ∗ ∥ 2 / ( η 2 β 2 ) N\leq\lVert W(0)-\alpha W^*\rVert^2/(\eta^2\beta^2) NW(0)αW2/(η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)=01=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)αW2=[W(k+1)αW]T[W(k+1)αW]=[W(k)ηX(k)αW]T[W(k)ηX(k)αW]=W(k)αW2+η2X(k)22η[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)αW2=W(k)αW2+η2X(k)22η[W(k)αW]TX(k)<W(k)αW2+η2X(k)2+2ηαWTX(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, WTX(k)<0, m a x { ∥ W ∗ T X ( k ) ∥ } = γ ( γ < 0 ) max\{\lVert W^{*T}X(k)\rVert\}=\gamma(\gamma<0) max{WTX(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)αW2<W(k)αW2+η2X(k)2+2ηαWTX(k)W(k)αW2+η2β2+2ηαγ

    其中 ∥ W ( k ) − α W ∗ ∥ 2 \lVert W(k)-\alpha W^*\rVert^2 W(k)αW2为第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)αW2η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)αW2<W(k)αW2η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)αW2<W(0)αW2η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)αW2<W(1)αW2η2β2<W(0)αW22η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)αW2<W(0)αW2Nη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)αW2<W(0)αW2Nη2β20

    前提是样本线性可分,如果 X ( k ) {X(k)} X(k)线性不可分, W ∗ W^* W将不存在。以上算法可能会导致 W ( k ) W(k) W(k)改变为循环且不收敛

    Processed: 0.010, SQL: 10