策略是指按照什么样的准则学习或者选择最优的模型。
感知机是判别模型,它通过学习得到一个超平面,这个超平面将样本分为正负两类。
使用的策略为:使误分类的点到超平面的距离之和最小

令M为误分类的点的集合,则损失函数为: L(w,b)=xiMdis(xi)1 \begin{aligned} L(w, b) = \sum_{x_i \in M}dis(x_i) && {1} \end{aligned}

x0x_0到超平面y=wx+by = w \cdot x + b的距离为:
dis(x0)=wx0+bw2=y0(wx0+b)w3=y0(wx0+b)w4 \begin{aligned} dis(x_0) = \frac {|w \cdot x_0 + b|}{||w||} && {2} \\ = \frac {|y_0 (w\cdot x_0 + b)|}{||w||} && {3} \\ = \frac { - y_0 (w\cdot x_0 + b)}{||w||} && {4} \end{aligned} 公式说明:

  1. 公式(1):点到超平面的距离公式,w||w||wwL2L_2范数
  2. 公式(2):y = -1或1
  3. 公式(3):由感知机模型的定义可知,如果x0x_0是误分类的点,即x0Mx_0 \in M, 则wx0+bw\cdot x_0 + by0y_0符号相反,即y0(wx0+b)<0y_0 (w\cdot x_0 + b) < 0

结合公式(1)和公式(4)得:
L(w,b)=xiMyi(wxi+b)w5 \begin{aligned} L(w, b) = \sum_{x_i \in M}\frac { - y_i (w\cdot x_i + b)}{||w||} && {5} \end{aligned}

不考虑公式(5)中的w||w||,得到最终的损失函数公式如下: L(w,b)=xiMyi(wxi+b)6 \begin{aligned} L(w, b) = - \sum_{x_i \in M}y_i (w \cdot x_i + b) && {6} \end{aligned}

1. 为什么公式(5)不考虑分母∣∣w∣∣||w||∣∣w∣∣?

感知机的算法过程需要对目标函数求导。
公式(5)的求导结果为:
wL(w,b)=1wxiMyixibL(w,b)=1wxiMyi7 \begin{aligned} \nabla_wL(w,b) = - \frac{1}{||w||}\sum_{x_i \in M}y_ix_i \\ \nabla_bL(w,b) = - \frac{1}{||w||}\sum_{x_i \in M}y_i && {7} \end{aligned} ||w||为w的长度,大小始终非负。
从公式(7)可以看出,||w||的存在,不影响梯度的方法,仅影响梯度下降的步长。
对于感知机梯度下降法的迭代过程,它只要求每次移动的方向是正确的,并不care移动的步长。
所以||w||是否存在不影响感知机算法的最终结果。为什么简化计算,就在目标函数中去掉了分母||w||。
每次迭代不care步长,正是在cs229中被置疑的地方。

results matching ""

    No results matching ""