感知机是支持向量机SVM和神经网络的基础
f = sign(wx+b)
这样看起来好像是LR是差不多的,LR是用的sigmoid函数,PLA是用的sign符号函数,两者都是线性分类器,主要的差别在于策略不同,即损失函数不同。
LR是用的均方误差,PLA是用的误分类点到分离超平面的总距离。
感知机模型:
f = sign(wx+b)
几何解释:
wx+b = 0是一个超平面s,w是s的法向量,b是超平面的截距。
理想情况下,s把正负类分开。
感知机学习策略:
损失函数的选取是:误分类点到超平面s的总距离
空间中一个点x0到s的距离:
|wx0+b|/||w||
误分类点到s的距离:
-y0*(wx0+b)/||w||
不考虑系数||w||,那么损失函数是:
L(w,b) = -Σyi(wxi+b),其中(xi,yi)是误分类点
PLA的算法也就是解损失函数的最小值的方法是随机梯度下降法
损失函数L的梯度:
gradwL = -Σyixi
gradbL = -Σyi
1.选取初始参数w,b
2.从误分类点中随机选取一组:(xi,yi)
3.更新w = w + ηyixi
b = b + ηyi
4.再挑选误分类点,再更新,直到没有误分类点