机器学习--感知机理论知识(二)

文章转自(有图)http://burningcloud.cn/article/107/index.html

机器学习 | 感知机理论知识(二)

今天,我们一起对感知机剩下的部分进行学习。

上周我们学习了感知机算法的原始形式,这周我们将对原始形式算法收敛性进行说明,然后再讲解感知机算法的对偶形式。

算法的收敛性

收敛性即意味着经过有限次迭代可以得到一个将训练数据集完全正确划分的分离超平面及感知机模型。

为了便于说明,做出一些规定:

①将偏置b并入权重向量w,记作 w ^ = ( w T , b T ) T \hat{w} = (w^T , b^T)^T w^=(wT,bT)T

②将输入向量进行扩充,加入常数1,记作 x ^ = ( x T , 1 ) T \hat{x}=(x^T , 1)^T x^=(xT,1)T

这样, x ^ \hat{x} x^∈Rn+1 w ^ \hat{w} w^∈Rn+1,有 w ^ ⋅ x ^ = w ⋅ x + b \hat{w} · \hat{x} = w · x + b w^x^=wx+b

先来说定理:

设训练数据集T = {(x1, y1), (x2, y2), …, (xN, yN)}是线性可分的,其中xi∈X = Rn,yi∈Y = {-1, +1},i = 1, 2, …, N,则有:

①存在满足条件 ∣ ∣ w ^ o p t ∣ ∣ = 1 ||\hat{w}_{opt}||=1 w^opt=1的超平面 w ^ o p t ⋅ x ^ = w o p t ⋅ x + b o p t = 0 \hat{w}_{opt}·\hat{x}=w_{opt} ·x+b_{opt}=0 w^optx^=woptx+bopt=0将训练集完全正确分开;且存在 γ \gamma γ > 0,对所有i = 1, 2, …, N,有以下式子:
y i ( w ^ o p t ⋅ x ^ i ) = y i ( w o p t ⋅ x i + b o p t ) ≥ γ y_i(\hat{w}_{opt}·\hat{x}_i)=y_i(w_{opt}·x_i + b_{opt})\geq \gamma yi(w^optx^i)=yi(woptxi+bopt)γ

( 1 ) 式 (1)式 (1)

②令 R = m a x ∣ ∣ x ^ i ∣ ∣ R = max||\hat{x}_i|| R=maxx^i,则感知机算法在训练集上的误分类次数k满足不等式:
k ≤ ( R γ ) 2 k \leq (\frac{R}{\gamma})^2 k(γR)2

( 2 ) 式 (2)式 (2)

下面来证明:

取可以将数据集完全正确分开的超平面为 w ^ o p t ⋅ x ^ = w o p t ⋅ x + b o p t = 0 \hat{w}_{opt}·\hat{x}=w_{opt} ·x+b_{opt}=0 w^optx^=woptx+bopt=0,使 ∣ ∣ w ^ o p t ∣ ∣ = 1 ||\hat{w}_{opt}||=1 w^opt=1。由于对有限的i = 1, 2, … , N,均有:
y i ( w ^ o p t ⋅ x ^ i ) = y i ( w o p t ⋅ x i + b o p t ) ≥ 0 y_i(\hat{w}_{opt}·\hat{x}_i)=y_i(w_{opt}·x_i + b_{opt})\geq0 yi(w^optx^i)=yi(woptxi+bopt)0
所以有
γ = m i n { y i ( w o p t ⋅ x i + b o p t ) } \gamma = min\lbrace y_i(w_{opt}·x_i + b_{opt})\rbrace γ=min{ yi(woptxi+bopt)}
使得
y i ( w ^ o p t ⋅ x ^ i ) = y i ( w o p t ⋅ x i + b o p t ) ≥ γ y_i(\hat{w}_{opt}·\hat{x}_i)=y_i(w_{opt}·x_i + b_{opt})\geq \gamma yi(w^optx^i)=yi(woptxi+bopt)γ
由此可以得到(1)式。

接下来证明(2)式:

对于感知机来说,出现了误分类点就会更新权重。规定用 w ^ k − 1 \hat{w}_{k-1} w^k1表示第k个误分类点之前的扩充权重向量,即
w ^ k − 1 = ( w k − 1 T , b k − 1 ) T \hat{w}_{k-1} = (w^T_{k-1}, b_{k-1})^T w^k1=(wk1T,bk1)T
则第k个误分类点的条件是:
y i ( w ^ k − 1 ⋅ x ^ i ) = y i ( w k − 1 ⋅ x i + b k − 1 ) ≤ 0 y_i(\hat{w}_{k-1}·\hat{x}_i) = y_i(w_{k-1}·x_i + b_{k-1})\leq0 yi(w^k1x^i)=yi(wk1xi+bk1)0

( 3 ) 式 (3)式 (3)

( x i , y i ) (x_i, y_i) (xi,yi)是被 w ^ k − 1 = ( w k − 1 T , b k − 1 ) T \hat{w}_{k-1} = (w^T_{k-1}, b_{k-1})^T w^k1=(wk1T,bk1)T误分类的数据,则w和b的更新是
w k ← w k − 1 + η y i x i w_k\leftarrow w_{k-1}+\eta y_ix_i wkwk1+ηyixi

b k ← b k − 1 + η y i b_k\leftarrow b_{k-1}+\eta y_i bkbk1+ηyi


w ^ k = w ^ k − 1 + η y i x ^ i \hat{w}_k = \hat{w}_{k-1}+\eta y_i\hat{x}_i w^k=w^k1+ηyix^i

( 4 ) 式 (4)式 (4)

下面推导两个不等式:

<1>
w ^ k ⋅ w ^ o p t ≥ k η γ \hat{w}_k · \hat{w}_{opt} \geq k\eta\gamma w^kw^optkηγ

( 5 ) 式 (5)式 (5)

由(1)式和(3)式可得:
w ^ k ⋅ w ^ o p t = w ^ k − 1 ⋅ w ^ o p t + η y i w ^ o p t ⋅ x ^ i ≥ w ^ k − 1 ⋅ w ^ o p t + η γ \hat{w}_k · \hat{w}_{opt} = \hat{w}_{k-1} · \hat{w}_{opt} + \eta y_i \hat{w}_{opt}·\hat{x}_i \geq \hat{w}_{k-1} · \hat{w}_{opt}+\eta \gamma w^kw^opt=w^k1w^opt+ηyiw^optx^iw^k1w^opt+ηγ
由此可以推得(4)式:
w ^ k ⋅ w ^ o p t ≥ w ^ k − 1 ⋅ w ^ o p t + η γ ≥ w ^ k − 2 ⋅ w ^ o p t + 2 η γ ≥ . . . ≥ k η γ \hat{w}_k · \hat{w}_{opt} \geq \hat{w}_{k-1} · \hat{w}_{opt}+\eta \gamma \geq \hat{w}_{k-2} · \hat{w}_{opt}+2\eta \gamma \geq...\geq k\eta\gamma w^kw^optw^k1w^opt+ηγw^k2w^opt+2ηγ...kηγ
<2>
∣ ∣ w ^ k ∣ ∣ 2 ≤ k η 2 R 2 ||\hat{w}_k||^2 \leq k\eta^2R^2 w^k2kη2R2

( 6 ) 式 (6)式 (6)

由(3)式和(4)式可证明(6)式:
∣ ∣ w ^ k ∣ ∣ 2 = ∣ ∣ w ^ k − 1 ∣ ∣ 2 + 2 η y i w ^ k − 1 ⋅ x ^ i + η 2 ∣ ∣ x ^ i ∣ ∣ 2 ≤ ∣ ∣ w ^ k − 1 ∣ ∣ 2 + η 2 ∣ ∣ x ^ i ∣ ∣ 2 ≤ ∣ ∣ w ^ k − 1 ∣ ∣ 2 + η 2 R 2 ≤ ∣ ∣ w ^ k − 2 ∣ ∣ 2 + 2 η 2 R 2 ≤ . . . ≤ k η 2 R 2 ||\hat{w}_k||^2 = ||\hat{w}_{k-1}||^2 + 2\eta y_i \hat{w}_{k-1}·\hat{x}_i + \eta ^2||\hat{x}_i||^2\\ \leq||\hat{w}_{k-1}||^2 + \eta^2||\hat{x}_i||^2\\ \leq||\hat{w}_{k-1}||^2 + \eta^2R^2\\ \leq||\hat{w}_{k-2}||^2 + 2\eta^2R^2 \leq ...\\ \leq k\eta^2R^2 w^k2=w^k12+2ηyiw^k1x^i+η2x^i2w^k12+η2x^i2w^k12+η2R2w^k22+2η2R2...kη2R2

结合上面证明的(5)式和(6)式可以得知(2)式:
k η γ ≤ w ^ k ⋅ w ^ o p t ≤ ∣ ∣ w ^ k ∣ ∣ ∣ ∣ w ^ o p t ∣ ∣ ≤ k η R k \eta\gamma \leq \hat{w}_k ·\hat{w}_{opt} \leq ||\hat{w}_k||||\hat{w}_{opt}|| \leq \sqrt{k} \eta R kηγw^kw^optw^kw^optk ηR
即可得到(2)式。

由以上证明可知,误分类次数k是有上界的,经过有限次搜索可以找到完全正确分开线性可分数据集的分离超平面,即可证明感知机的原始算法是收敛的。

感知机学习算法的对偶形式

对偶形式的基本想法是:将w和b表示成实例 x i x_i xi和标记 y i y_i yi的线性组合的形式,通过求解其系数而求得w和b。按照原始算法中w和b的更新方式,假设修改n次,则w和b关于 ( x i , y i ) (x_i,y_i) (xi,yi)的增量分别是 α i y i x i \alpha_iy_ix_i αiyixi α i y i \alpha_iy_i αiyi,这里 α i = n i η \alpha_i = n_i\eta αi=niη。这样,从学习过程可以看出,最后学习到的w和b为:
w = ∑ i = 1 N α i y i x i b = ∑ i = 1 N α i y i w = \sum_{i = 1}^N \alpha_iy_ix_i\\b = \sum_{i = 1}^N \alpha_iy_i w=i=1Nαiyixib=i=1Nαiyi
这里, α i ≥ 0 \alpha_i \geq 0 αi0,i = 1, 2, … , N,当 η \eta η = 1时,表示第i个实例点由于误分类点而进行更新的次数。

感知机算法的对偶形式中,感知机模型为:
f ( x ) = s i g n ( ∑ j = 1 N α j y j x j ⋅ x + b ) f(x) = sign(\sum_{j=1}^N \alpha_jy_jx_j·x + b) f(x)=sign(j=1Nαjyjxjx+b)
输入为训练集,输出为 α \alpha α和b,其中 α = ( α 1 , α 2 , . . . , α N ) T \alpha = (\alpha_1, \alpha_2,...,\alpha_N)^T α=(α1,α2,...,αN)T

首先初始化 α \alpha α和b都为0,两者遇到误分类点 ( x i , y i ) (x_i,y_i) (xi,yi)后按照如下规则更新:
α i ← α i + η b ← b + η y i \alpha_i \leftarrow \alpha_i + \eta\\b \leftarrow b + \eta y_i αiαi+ηbb+ηyi
直到没有误分类点。

对偶形式中训练实例仅以内积的形式出现。为了方便,可以预先将训练实例间的内积计算出来并以矩阵的形式存储,这个矩阵就是Gram矩阵:
G = [ x i ⋅ x j ] N × N G = [x_i·x_j]_{N×N} G=[xixj]N×N

下面用一个例子来说明:

正样本点是 x 1 = ( 3 , 3 ) T x_1 = (3, 3)^T x1=(3,3)T x 2 = ( 4 , 3 ) T x_2 = (4,3)^T x2=(4,3)T,负样本点是 x 3 = ( 1 , 1 ) T x_3 = (1,1)^T x3=(1,1)T,下面用对偶形式来求感知机模型。

首先设置初值:取 α i = 0 \alpha_i = 0 αi=0,i = 1, 2, 3,b = 0, η = 1 \eta = 1 η=1

然后计算Gram矩阵便于后续运算:
G = [ 18 21 6 21 25 7 6 7 2 ] G = \left[\begin{array}{ccc} 18 & 21 & 6\\ 21 & 25 & 7\\ 6 & 7 & 2 \end{array}\right] G=1821621257672
之后便是参数更新过程(具体过程不再展示,大家可以自己尝试计算一下,下面给出计算表格,大家计算后可以对照表格看看自己是否正确):

k 0 1 2 3 4 5 6 7
x 1 x_1 x1 x 3 x_3 x3 x 3 x_3 x3 x 3 x_3 x3 x 1 x_1 x1 x 3 x_3 x3 x 3 x_3 x3
α 1 \alpha_1 α1 0 1 1 1 1 2 2 2
α 2 \alpha_2 α2 0 0 0 0 0 0 0 0
α 3 \alpha_3 α3 0 0 1 2 3 3 4 5
b 0 1 0 -1 -2 -1 -2 -3

感知机的内容就到此结束啦!谢谢大家的观看!

猜你喜欢

转载自blog.csdn.net/weixin_43800131/article/details/108994777