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

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

点x0x_0到超平面y=w⋅x+by = w \cdot x + b的距离为:
dis(x0)=∣w⋅x0+b∣∣∣w∣∣2=∣y0(w⋅x0+b)∣∣∣w∣∣3=−y0(w⋅x0+b)∣∣w∣∣4 \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||是ww的L2L_2范数
  2. 公式(2):y = -1或1
  3. 公式(3):由感知机模型的定义可知,如果x0x_0是误分类的点,即x0∈Mx_0 \in M, 则w⋅x0+bw\cdot x_0 + b与y0y_0符号相反,即y0(w⋅x0+b)<0y_0 (w\cdot x_0 + b) < 0

结合公式(1)和公式(4)得:
L(w,b)=∑xi∈M−yi(w⋅xi+b)∣∣w∣∣5 \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)=−∑xi∈Myi(w⋅xi+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)=−1∣∣w∣∣∑xi∈Myixi∇bL(w,b)=−1∣∣w∣∣∑xi∈Myi7 \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 ""