感知机是神经网络与支持向量机的基础
原始形式
定义: 感知机 假设输入空间\(\mathcal{X} \subseteq \mathbb{R}^{n}\),输出空间\(\mathcal{Y}=\{+1,-1\}\), 如下函数\(f:\mathcal{X} \rightarrow \mathcal{Y}\)称为感知机
定义: 线性可分 给定数据集\(T=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \cdots,\left(x_{N}, y_{N}\right)\right\}\),如果存在超平面\(w \cdot x+b=0\)
将数据集的正实例点和负实例点完全正确地划分到超平面的两侧,即对每个\(y_i=+1\)的点有\(w \cdot x_i+b>0\),对每个\(y_i=-1\)的点有\(w \cdot x_i+b<0\)则称\(T\)为线性可分数据集(linearly separable data set), 否则,称数据集T线性不可分.
损失函数
首先,自然的想法是误分类点的数目,但损失函数对\(w,b\)不是连续可导,不宜优化。另一方面考虑选择误分类点到超平面的总距离。
单个点的距离:\(\frac{1}{\|w\|}\left|w \cdot x_{0}+b\right|\)
误分类点满足:\(-y_{i}\left(w \cdot x_{i}+b\right)>0\)
误分类点到超平面的距离:\(-\frac{1}{\|w\|} y_{i}\left(w \cdot x_{i}+b\right)\)如果被正确分类,则该值为0
感知机损失函数即误分类点到超平面的总距离:\(L(w, b)=-\sum\limits_{x_{i} \in M} y_{i}\left(w \cdot x_{i}+b\right)\)
得到最优化问题
随机梯度下降法(stocastic gradient descent)
任选初值\(w_0,b_0\)
随机选择一个误分类点,更新
收敛性
记\(\hat{w}=(w^T,b)^T, \hat{x} = (x^T,1)^T\Rightarrow \hat{w}\cdot \hat{x}=w\cdot x+b\)
Novikoff定理 设\(T\)是线性可分的。
(1) 存在满足条件\(\|\hat{w}_{opt}\|=1\)的超平面\(\hat{w}_{opt}\cdot \hat{x}=w_{opt}\cdot x+b_{opt}\)将训练数据集完全正确分开;且存在\(\gamma>0\), 对所有\(i=1,2,\cdots, N\), \(y_{i}\left(\hat{w}_{\mathrm{opt}} \cdot \hat{x}_{i}\right)=y_{i}\left(w_{\mathrm{opt}} \cdot x_{i}+b_{\mathrm{opt}}\right) \ge \gamma\).
(2) 令\(R=\max _{1 \le i \le N}\left\|\hat{x}_{i}\right\|\), 则感知机算法在训练数据集上的误分类次数满足\(k \leq\left(\frac{R}{\gamma}\right)^{2}\).
1.误分类的次数k是有上界的,当训练数据集线性可分时,感知机学习算法原始形式迭代是收敛的.
2.感知机算法存在许多解,既依赖于初值,也依赖迭代过程中误分类点的选择顺序.
3.为得到唯一分离超平面,需要增加约束,如SVM.
4.线性不可分数据集,迭代震荡.
对偶形式
将\(w\)和\(b\)表示为实例\(x_i\)和标记\(y_i\)的线性组合的形式,通过求解其系数而求得\(w\)和\(b\),对误分类点:\(\left\{\begin{array}{l}{w \leftarrow w+\eta y_{i} x_{i}} \\ {b \leftarrow b+\eta y_{i}}\end{array}\right.\)
设\(w\)和\(b\)修改了\(n\)次,其中第\(i\)个实例误分了\(n_i\)次,令\(\alpha=n_i\eta\), 最终学习到的\(w\)和\(b\)为:\(\left\{ \begin{array}{l}w =\sum_{i=1}^{N} \alpha_{i} y_{i} x_{i} \\ b =\sum_{i=1}^{N} \alpha_{i} y_{i}\end{array}\right.\)
input: \(T,\eta\)
output: \(\alpha = (\alpha_1,\alpha_2,\alpha_3 \dots \alpha_N)^T,b\)
Step1. \(\alpha = 0,b = 0\)
Step2.Choose \((x_i,y_i)\) randomly,
if \(y_{i}\left(\sum_{j=1}^{N} \alpha_{j} y_{j} x_{j} \cdot x_{i}+b\right) \leqslant 0\):
Step3: return to Step2 until all the points are classified correctly
总结
1.感知机是根据输入实例的特征向量\(x\)对其进行二类分类的线性分类模型. 感知机模型对应于输入空间(特征空间)中的分离超平面.
2.感知机学习的策略是极小化损失函数;损失函数对应于误分类点到分离超平面的总距离.
3.感知机学习算法是基于随机梯度下降法的对损失函数的最优化算法,有原始形式和对偶形式. 算法简单且易于实现. 原始形式中, 首先任意选取一个超平面, 然后用梯度下降法不断极小化目标函数. 在这个过程中一次随机选取一个误分类点使其梯度下降.
4.当训练数据集线性可分时, 感知机学习算法是收敛的. 感知机算法在训练数据集上的误分类次数K满足不等式:\(k \leq\left(\frac{R}{\gamma}\right)^{2}\).