策略是指按照什么样的准则学习或者选择最优的模型。
感知机是判别模型,它通过学习得到一个超平面,这个超平面将样本分为正负两类。
使用的策略为:使误分类的点到超平面的距离之和最小
令M为误分类的点的集合,则损失函数为:
L(w,b)=xi∈M∑dis(xi)1
点x0到超平面y=w⋅x+b的距离为:
dis(x0)=∣∣w∣∣∣w⋅x0+b∣=∣∣w∣∣∣y0(w⋅x0+b)∣=∣∣w∣∣−y0(w⋅x0+b)234
公式说明:
- 公式(1):点到超平面的距离公式,∣∣w∣∣是w的L2范数
- 公式(2):y = -1或1
- 公式(3):由感知机模型的定义可知,如果x0是误分类的点,即x0∈M, 则w⋅x0+b与y0符号相反,即y0(w⋅x0+b)<0
结合公式(1)和公式(4)得:
L(w,b)=xi∈M∑∣∣w∣∣−yi(w⋅xi+b)5
不考虑公式(5)中的∣∣w∣∣,得到最终的损失函数公式如下:
L(w,b)=−xi∈M∑yi(w⋅xi+b)6
1. 为什么公式(5)不考虑分母∣∣w∣∣||w||∣∣w∣∣?
感知机的算法过程需要对目标函数求导。
公式(5)的求导结果为:
∇wL(w,b)=−∣∣w∣∣1xi∈M∑yixi∇bL(w,b)=−∣∣w∣∣1xi∈M∑yi7
||w||为w的长度,大小始终非负。
从公式(7)可以看出,||w||的存在,不影响梯度的方法,仅影响梯度下降的步长。
对于感知机梯度下降法的迭代过程,它只要求每次移动的方向是正确的,并不care移动的步长。
所以||w||是否存在不影响感知机算法的最终结果。为什么简化计算,就在目标函数中去掉了分母||w||。
每次迭代不care步长,正是在cs229中被置疑的地方。