[关闭]
@haoqiang 2018-01-22T06:56:30.000000Z 字数 1544 阅读 58

感知机

机器学习


模型

f(x)=sign(wx+b)

sign(x)={11x<0x0

分离超平面:wx+b=0


学习策略

目标:误分点总数尽量少,但这对w,b非连续可导,不易优化。转化为误分点到超平面的总距离尽量小。

误分点集M到超平面S的总距离:

xiM|wxi+b|||w||

因为对于误分数据(xi,yi)有:yi(wxi+b)>0
由此去掉绝对值,改写为

1||w||xiMyi(wxi+b)

又因为最终的目标是二分类,而并非一味地追求误分总距离尽量小,因此可以不考虑1||w||

得到损失函数为:

L(w,b)=xiMyi(wxi+b)

损失函数非负,越小越好,无误分点时为0。


学习算法

目标函数:

minw,bL(w,b)=xiMyi(wxi+b)

梯度:

wL(w,b)=xiMyixi

bL(w,b)=xiMyi

随机梯度下法:
1.初始化(w0,b0)
2.在训练集中选取数据(xi,yi)
3.如果yi(wxi+b)0

ww+ηyixi

bb+ηyi

4.转至2,直到训练集中没有误分点


对偶形式

ww+ηyixiw=i=1Nniηyixi=i=1Nαiyixi

η=1时,αi=ni,表示误分点xi更新次数,次数越多表示离分离超平面越近,越难分。

对偶模型:f(x)=sign(Nj=1αjyjxjx+b),其中α=(α1,α2,,αN)T
1.α=0,b=0
2.数据(xi,yi),如果yi(Nj=1αjyjxjxi+b)0

αiαi+η

bb+ηyi

3.转至2,直到训练集中没有误分点

好处是:可以预先将训练集內积计算存储,减少计算量。即Gram矩阵:

G=[xixj]N×N

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注