感知机模型
f(x)=sign(w*x+b)
sign是符号函数,取值+1或-1;w是权值向量,b叫做偏置。
线性方程w*x+b=0对应于特征空间中的一个超平面S,其中w是超平面的法向量,b是超平面的截距。
感知机学习策略
感知机的数据集必须是线性可分数据集,就是说超平面S可以把数据集的正实例点和负实例点完全正确地划分到两侧。【f(x)=+1,w*x+b>0;f(x)=-1,w*x+b<0】
综上所述,学习策略就是将误分类的点最小化,但是直观的来说,我们只知道误分类点的个数,这是个离散值,不利于后续计算,所以把标准换做所有误分类点到超平面S的总距离。
即损失函数定义是
损失函数
其中M是误分类点的集合。
感知机学习算法
这里采用随机梯度下降法,最小化损失函数。
原始形式
损失函数L(w,b)的梯度是对w和b求偏导,即:
不断地随机选取一个误分类点(xi,yi),对w,b进行更新:
使总距离L不断减小,直到为0。
偏导指明数据变动最快的方向;
学习率(步长)指明数据变动的快慢。
对偶形式
对偶:从一个不同的角度去解答相似问题,但问题的解是相通的或一样的。
基本思想是,将w和b表示为实例xi和标记yi的线性组合的形式,通过求解其系数而取得w和b。
在过程中逐步修改w,b,修改n次。
ni代表第几类误判的样本迭代次数;
N不代表迭代次数,而是误判种类;
所以w就变成了代表第几类误判样本的权重;
辅助链接:
01【如何理解感知机学习算法的对偶形式?】
02【感知机学习算法及Python实现】——是二类分类的线性分类模型,对应于输入空间中的实例特征向量输出为实例的类别,将实例空间划分为正负两类的分离超平面。感知机学习旨在求出将训练数据行进线性划分的分离超平面。