感知机(perceptron)

《统计学习方法》(第二版)第2章

2 感知机

二类分类线性分类模型判别模型

输入:实例的特征向量

输出:实例的类别(+1,-1)

2.1 感知机模型

[f(x)=sign(w·x+b) ]

几何解释

(w·x+b=0)对应一个超平面(S)(w)是超平面的法向量,(b)是超平面的截距。

法向量证明:从超平面上任取(overrightarrow{x_1})(overrightarrow{x_2}),有(w·overrightarrow{x_1}+b=0)(w·overrightarrow{x_2}+b=0),两式相减可知(w·overrightarrow{x_2x_1}=0)(w)与超平面上任一向量垂直,即为法向量。

2.2 感知机学习策略

数据集的线性可分性

存在某个超平面(S)能够将数据集(T)的正实例点和负实例点完全正确地划分到超平面的两侧。

感知机学习策略

自然选择:误分类点的总数(不是参数(w,b)的连续可导函数,不易优化)

另一个选择:误分类点到超平面(S)的总距离

对于任一点(x_0)到超平面(S)的距离:(frac{1}{||w||}|w·x_0+b|)(参见点到直线距离公式(d=frac{|Ax_0+By_0+C|}{sqrt{A^2+B^2}})

误分类点到超平面(S)的总距离:(-frac{1}{||w||}sum limits_{x_i in M} y_i(w·x_i+b))

所以损失函数(L(w,b)=-sum limits_{x_i in M}y_i(w·x_i+b)),其中(M)为误分类点的集合

2.3 感知机学习算法

原始形式

采用随机梯度下降法stochastic gradient descent,极小化目标函数

[min limits_{w,b} L(w,b)=-sum_{x_i in M}y_i(w·x_i+b) ]

( abla_w L(w,b)=-sum limits_{x_i in M}y_ix_i)

( abla_b L(w,b)=-sum limits_{x_i in M}y_i)

步骤

  1. 选取初值(w_0,b_0)

  2. 在训练集中选取数据((x_i,y_i))

  3. 如果$ y_i(w·x_i+b) le 0$,

    [w ← w + eta y_ix_i \ b ← b + eta y_i ]

  4. 转至2.,直至训练集中没有误分类点,即(L(w,b)=0)

算法收敛性

误分类的次数是有上界的,经过有限次搜索可以找到将训练数据完全分开的分离超平面。

[k le (frac{R}{gamma})^2 ]

其中(R=max limits_{1 le i le N}|hat x_i|)(y_i(hat w_{opt}·hat x_i)=y_i(w_{opt}·x_i+b_{opt}) ge gamma)

对偶形式

[f(x)=sign(sum limits_{j=1}^N alpha_jy_jx_i·x+b) ]

(w=sum limits_{j=1}^N alpha_jy_jx_i,b=sum limits_{j=1}^N alpha_jy_j)

(alpha=n_ieta),当(N=1)时,表示第(i)个实例点由于误分而进行更新的次数。

(Gram)矩阵:(G=[x_i·x_j]_{N×N})

步骤

  1. (alpha←0,b←0)

  2. 在训练集中选取数据((x_i,y_i))

  3. 如果$ y_i(sum limits_{j=1}^N alpha_jy_jx_i+b) le 0$,

    [alpha_i ← alpha_i + eta \ b ← b + eta y_i ]

  4. 转至2.,直至训练集中没有误分类点。

扩展学习方法

口袋算法、表决感知机、带边缘感知机

原文地址:https://www.cnblogs.com/angelica-duhurica/p/10899007.html