总结:感知机是一个二分类线性分类模型,旨在用一个超平面将数据线性划分。
一、模型
感知机使用的函数是:f(X)=sign(w*X+b),sign是符号函数,sign(x)表示如果x>0则为1,x<0则取-1。
几何意义就是一个超平面S,将空间分为两部分,一部分为正、一部分为负
(感知机只适合线性可分的数据集)
二、策略
误分类点到超平面S的距离和作为损失函数(为了方便计算,真正的损失函数做了一些调整)
误分类点到超平面距离:
等价于:
求和,去掉常数项||w||,得到损失函数:
三、算法
1、原始形式
首先任取一个超平面,w0、b0,然后采用梯度下降法不断优化目标函数(使损失函数极小)
损失函数的梯度:
算法步骤:1)选取初值w0、b0
2)在训练集中选取数据(xi,yi)
3)如果yi(wxi+b)<=0,即该点为误分类点,则进行梯度下降:
4)转到(2)直到训练集中没有误分类点
2、对偶形式
由原始形式可以发现,算法主要是在误差点处通过修改w和b的值。
假设误差点修改次数为ni次,那么w,b关于点(xi,yi)的增量分别为aiyixi,aiyi (ai=ni*学习率)
那么:
把w、b用上式带入,就可以得到对偶形式方法。
算法步骤:1)a<-0,b<-0(其中a = (a1,a2....an)T)
2)选取点(xi,yi)
3)如果,说明是误分类点,则:
ai<-ai+学习率
b<-bi+学习率
4)转至2)直到没有误分类点
由于对偶形式中训练数据仅以内积形式出现,因此可以预先计算出内积并以矩阵形式存储,这就是Gram矩阵