《统计学习方法》(第二版)第2章
2 感知机
二类分类、线性分类模型、判别模型
输入:实例的特征向量
输出:实例的类别(+1,-1)
2.1 感知机模型
几何解释
\(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,极小化目标函数
\(\nabla_w L(w,b)=-\sum \limits_{x_i \in M}y_ix_i\)
\(\nabla_b L(w,b)=-\sum \limits_{x_i \in M}y_i\)
步骤:
-
选取初值\(w_0,b_0\)
-
在训练集中选取数据\((x_i,y_i)\)
-
如果$ y_i(w·x_i+b) \le 0$,
\[w ← w + \eta y_ix_i \\ b ← b + \eta y_i \] -
转至2.,直至训练集中没有误分类点,即\(L(w,b)=0\)。
算法收敛性
误分类的次数是有上界的,经过有限次搜索可以找到将训练数据完全分开的分离超平面。
其中\(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\)
对偶形式
即\(w=\sum \limits_{j=1}^N \alpha_jy_jx_i,b=\sum \limits_{j=1}^N \alpha_jy_j\)
\(\alpha=n_i\eta\),当\(N=1\)时,表示第\(i\)个实例点由于误分而进行更新的次数。
\(Gram\)矩阵:\(G=[x_i·x_j]_{N×N}\)
步骤:
-
\(\alpha←0,b←0\)
-
在训练集中选取数据\((x_i,y_i)\)
-
如果$ y_i(\sum \limits_{j=1}^N \alpha_jy_jx_i+b) \le 0$,
\[\alpha_i ← \alpha_i + \eta \\ b ← b + \eta y_i \] -
转至2.,直至训练集中没有误分类点。
扩展学习方法
口袋算法、表决感知机、带边缘感知机