感知机:Perceptron Learning Algorithm

感知机是支持向量机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.再挑选误分类点,再更新,直到没有误分类点

上一篇:Perceptron Learning Algorithm(python实现)


下一篇:Android 几种网络请求的区别与联系