感知机perceptron
本文是《统计学习方法》李航著学习笔记。
感知机是二类分类的线性分类模型,输入:实例的特征向量,输出:实例的类别。
感知机学习:求将训练数据进行线性划分的分离超平面,即将实例化分为正负两类的分离超平面。
数据集的线性可分性:
感知机模型:
损失函数:
目标函数(算法优化目标,学习目标):
这是一个无约束优化问题,优化方法采用随机梯度下降法。即给定任一参数初值,然后用梯度下降法极小化目标函数,一次随机选取一个误分类点使损失函数减小。
下面简要陈述为什么负梯度方向可以使目标函数减小,即梯度下降法(最速下降法)的数学依据:
随机梯度下降法(SGD)及感知机学习算法(原始形式):
—— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— ——
感知机学习算法(对偶形式):
基本想法:将参数表示成实例和标记的线性组合形式,迭代求组合系数。
这一想法的基本出发点:考虑每个实例点在SGD算法迭代过程中,被选中的次数,先计算每个实例点被选中的次数,再计算N个实例点被选中的总次数。
这是因为,对于一个给定的实例点,在每次迭代的感知机模型中,未必永远是正确分类的或者永远是误分类的。
这里的对偶算法只不是从整个迭代看算法,将每个实例点在误分类时被SGD选中的次数进行合并同类项。
—— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— ——
最后需要注意:感知机算法不能处理线性不可分数据集;并且对于同一线性可分数据集,原始感知机学习算法和对偶感知机学习算法对于不同的初值及随机误分类点的选择不同,会得到不同的分离超平面。
有关感知机学习模型收敛性及最大迭代次数的内容请参见Novikoff定理,这里不再赘述,对于《统计学习算法》李航著书中给出的Novikoff证明过程,仅给出如下需要注意的地方: