感知机是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,将实例划分为正负两类。它基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型。感知机学习算法具有简单而易于实现的优点,分为原始形式和对偶形式。感知机预测是用学习得到的感知机模型对新的输入实例进行分类。
1 感知机的模型
假设输入空间(特征空间)是X⊆,输出空间是Y={+1,-1}。输入x∊X表示实例的特征向量,对应于输入空间(特征空间)的点;输出y∊Y表示实例的类别。由输入空间到输出空间的如下函数
称为感知机。
2 感知机的学习策略和损失函数
假设超平面S的误分类点集合为M,那么就得到了感知机的损失函数
显然,损失函数L(w,b)是非负的。如果没有误分类点,损失函数值是0。而且,误分类点越少,误分类点离超平面越近,损失函数值就越小。感知机学习的策略是在假设空间中选取使损失函数式最小的模型参数w,b,即感知机模型。
3 感知机的学习算法
3.1 原始形式
输入:训练数据,其中X=, ={-1,+1},i= 1,2,…,N;学习率 (0< ≤1);
输出:,b;感知机模型
(1)选取初值
(2)在训练集中选取数据
(3)如果
•(4)转至(2),直至训练集中没有误分类点。
3.2 对偶形式
输入:训练数据T={},其中X=,={-1,+1},i= 1,2,…,N;学习率(
输出:,b;感知机模型
(1)
(2)在训练集中选取数据
(3)如果
(4)转至(2),直至训练集中没有误分类点。
4 感知机算法的收敛性
定理2.1(Novikoff)设训练数据集T={}是线性可分的,其中X=,∊ ={-1,+1},i=1,2,…,N,则
(1)存在满足条件||||=1的超平面 将训练数据集完全正确分开;且存在 >0,对所有i=1,2,…,N
(2)令 ,则感知机算法在训练数据集上的误分类次数k满足不等式
5 小结
感知机学习算法具有简单且易于实现的优点,但是不足也很明显。首先,样本集必须是线性可分的,如果样本集是不可分的,感知机算法就不会收敛,也就无法得出分类结果;如果样本集不是线性的,则训练过程有可能发生震荡。其次,感知机学习算法存在许多解,这些解既依赖于初值的选择,也依赖于迭代过程中误分类点的选择顺序。
参考资料:
(1)《统计学习方法》 李航
(2)https://www.cnblogs.com/OldPanda/archive/2013/04/12/3017100.html
(3)http://www.hankcs.com/ml/the-perceptron.html