统计学习方法 - 第二章 - 感知机

第二章 感知机

文章目录

    • 第二章 感知机
      • 2.1 感知机模型
      • 2.2 感知机学习策略
      • 2.3 感知机学习算法

2.1 感知机模型

感知机算法在输入空间内找到一个超平面 S S S
w ⋅ x + b = w ^ ⋅ x ^ = 0 w\cdot x+b=\hat w\cdot\hat x=0 wx+b=w^x^=0
由函数:
f ( x ) = s i g n ( w ^ ⋅ x ^ ) f(x)=sign(\hat w\cdot\hat x) f(x)=sign(w^x^)
给出样本的标签。其中 w ^ = ( w , b ) \hat w=(w, b) w^=(w,b), b ^ = ( x , 1 ) \hat b = (x,1) b^=(x,1)

2.2 感知机学习策略

感知机的损失函数由误分类点到超平面 S S S的距离给出。空间内任意一点 x 0 x_0 x0到超平面 S S S的距离可以由以下公式给出:
1 ∣ ∣ w ∣ ∣ ∣ w ⋅ x 0 + b ∣ \frac{1}{||w||}|w\cdot x_0+b| w1wx0+b
显然可得,对于任意误分类样本 ( x i , y i ) (x_i,y_i) (xi,yi)有:
− y i ( w ⋅ x i + b ) > 0 -y_i(w\cdot x_i+b)>0 yi(wxi+b)>0
那么对于感知机模型,其误分类点集合为 M M M,所有误分类点到超平面的距离的和为:
− 1 ∣ ∣ w ∣ ∣ ∑ x i ∈ M y i ( w ^ ⋅ b ^ i ) -\frac{1}{||w||}\sum_{x_i\in M}y_i(\hat w\cdot \hat b_i ) w1xiMyi(w^b^i)
省略 1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} w1,得到感知机的损失函数:
L ( w , b ) = − ∑ x i ∈ M y i ( w ^ ⋅ x ^ i ) L(w,b)=-\sum_{x_i\in M}y_i(\hat w \cdot \hat x_i) L(w,b)=xiMyi(w^x^i)
损失函数的物理意义为各个误分类点到超平面的距离一定比例之和。

2.3 感知机学习算法

损失函数相对于权值偏置的梯度(偏导数)为:
∇ w L ( w , b ) = − ∑ x i ∈ M y i x i ∇ b L ( w , b ) = − ∑ x i ∈ M y i \begin{matrix} \nabla_wL(w,b)=-\sum_{x_i\in M}y_ix_i\\ \nabla_bL(w,b)=-\sum_{x_i\in M}y_i \end{matrix} wL(w,b)=xiMyixibL(w,b)=xiMyi
使用SGD对感知机进行优化,随机选取一个误分类 ( x i , y i ) (x_i,y_i) (xi,yi),对 w , b w,b w,b进行优化:
w ← w + η y i x i b ← b + η y i \begin{matrix} w\leftarrow w+\eta y_ix_i\\ b\leftarrow b+\eta y_i \end{matrix} ww+ηyixibb+ηyi
感知机算法的性质:

非负性

假设数据集完全线性可分,那么一定有:
y i ( w ^ o p t ⋅ x i ) ≥ γ y_i(\hat w_{opt}\cdot x_i)\geq\gamma yi(w^optxi)γ
即任意点到超平面的距离为正。

有限性

R = max ⁡ 1 ≤ i ≤ N ∣ ∣ x ^ i ∣ ∣ R=\max_{1\leq i\leq N}||\hat x_i|| R=max1iNx^i,则感知机算法(从 w ^ = 0 \hat w=0 w^=0出开始)在训练数据集上的误分类次数 k ​ k​ k满足:
k ≤ ( R γ ) 2 k\leq\left(\frac{R}{\gamma}\right)^2 k(γR)2
假设对第 k k k个误分类点更新权重为:
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
那么:
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 + η γ ≥ w ^ k − 2 ⋅ w ^ o p t + 2 η γ ≥ k η γ \begin{matrix} \hat w_k\cdot \hat w_{opt}&=&\hat w_{k-1}\cdot \hat w_{opt}+\eta y_i\hat w_{opt}\hat x_i\\ &\geq&\hat w_{k-1}\cdot \hat w_{opt}+\eta \gamma\\ &\geq&\hat w_{k-2}\cdot \hat w_{opt}+2\eta \gamma\\ &\geq&k\eta \gamma\\ \end{matrix} w^kw^opt=w^k1w^opt+ηyiw^optx^iw^k1w^opt+ηγw^k2w^opt+2ηγkηγ
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变形:
∣ ∣ 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 \begin{matrix} ||\hat w_k||^2&=&||\hat w_{k-1}||^2+2\eta y_i\hat w_{k-1}\cdot\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\cdots\\ &\leq&k\eta^2R^2 \end{matrix} w^k2=w^k12+2ηyiw^k1x^i+η2x^i2w^k12+η2x^i2w^k12+η2R2w^k22+2η2R2kη2R2
得到:
k η γ ≤ w ^ k ⋅ w ^ o p t ≤ ∣ ∣ w ^ k ∣ ∣   ∣ ∣ w ^ o p t ∣ ∣ k\eta\gamma\leq\hat w_k\cdot \hat w_{opt}\leq||\hat w_k||\ ||\hat w_{opt}|| kηγw^kw^optw^k w^opt
显然可使向量 w ^ o p t \hat w_{opt} w^opt满足 ∣ ∣ w ^ o p t ∣ ∣ = 1 ||\hat w_{opt}||=1 w^opt=1,有:
h η γ ≤ k η R k 2 γ 2 ≤ k R 2 h\eta\gamma\leq\sqrt k\eta R\\ k^2\gamma^2\leq kR_2 hηγk ηRk2γ2kR2
得证:
k ≤ ( R γ ) 2 k\leq\left(\frac{R}{\gamma}\right)^2 k(γR)2
对偶形式:对偶形式的基本想法是,将 w w w b b b表示为实例 x i x_i xi和标记 y i y_i yi的线性组合的形式,通过求解其系数而求得 w w w b b b

令感知机模型为:
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\cdot x+b) f(x)=sign(j=1Nαjyjxjx+b)
其中 α = ( α 1 , α 2 , ⋯   , α N ) T \alpha=(\alpha_1, \alpha_2,\cdots, \alpha_N)^T α=(α1,α2,,αN)T.

  1. α ← 0 , b ← 0 \alpha\leftarrow0, b\leftarrow0 α0,b0

  2. 在训练集中选取数据 ( x i , y i ) (x_i,y_i) (xi,yi)

  3. 如果 y i ( ∑ j = 1 N α j y j x j ⋅ x i + b ) ≥ 0 y_i(\sum_{j=1}^N\alpha_jy_jx_j\cdot x_i+b)\geq 0 yi(j=1Nαjyjxjxi+b)0:
    α i ← α i + η b ← b + η y i \alpha_i\leftarrow \alpha_i+\eta\\ b\leftarrow b+\eta y_i αiαi+ηbb+ηyi

  4. 转至2直至无误分类数据。

最后得到的系数为:
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

个人觉得感知机的对偶形式并没有提出什么新颖的东西。首先更新过程和原始形式几乎完全一样,并不能直接通过矩阵计算求得最后的权值;其次并没有抛弃掉权值向量 w w w b b b,只不过使用了 α ​ \alpha​ α向量用以间接计算感知机模型的权值。

你可能感兴趣的:(机器学习)