感知机是二分类线性分类模型, 其输入为实例的特征向量, 输出为实例的类别, 取+1和-1二值。
感知机公式:
感知机的几何解释是,线性方程w*x+b=0 将特征空间划分为正负两个部分:
损失函数
如果训练集是可分的,感知机的学习目的是求得一个能将训练集正实例点和负实例点完全分开的分离超平面。为了找到这样一个平面(或超平面),即确定感知机模型参数w和b,我们采用的是损失函数,同时并将损失函数极小化。
对于损失函数的选择,我们采用的是误分类点到超平面的距离,也就是点到直线的距离:, 其中||w||是L2范数。
对于误分类点(xi,yi)来说:,误分类点到超平面的距离为:
,假设所有误分类点集合为M, 那么,所有误分类点到超平面的总距离为:
, 由于||w||对超平面的构成不起决定性作用,我们可以等比例的缩放w, b得到相同的超平面,于是我们可以使||w||为1,那么感知机的损失函数就为:
。其实 y*(w*x + b)称为函数间隔, 可以相对地表示点x距离超平面的远近。
可以看出,损失函数L(w,b)是非负的。如果没有误分类点,则损失函数的值为0,而且误分类点越少,误分类点距离超平面就越近,损失函数值就越小。同时,损失函数L(w,b)是连续可导函数
学习算法
感知机学习算法是对以下最优化问题的算法: