之前已经得到了感知机模型 f ( x ) = s i g n ( w ⋅ x + b ) f(x)=sign(w·x+b) f(x)=sign(w⋅x+b)及其假设空间 F = { f ∣ Y = f w , b ( X ) , w ∈ R n , b ∈ R } \mathcal{F} = \{f|Y=f_{w,b}(X),w \in R^n,b \in R\} F={f∣Y=fw,b(X),w∈Rn,b∈R},完成了统计学习方法的第一个要素:模型。

下面考虑按照要按照什么样的准则从假设空间中选取最优模型,即统计学习方法的第二个要素:策略。即当训练数据集线性可分时,如何找出可以将正实例点和负实例点完全正确划分的分离超平面。

为了找出这样的超平面(即确定感知机模型参数w和b),需要定义损失函数并将确定损失函数极小化的方法。

因为感知机模型中参数的维度确定,模型复杂度是不变的,所以不需要考虑过拟合的问题。直接使用经验风险最小化策略,寻找经验风险最小的模型作为最优的模型,即使用经验风险函数作为损失函数即可。


下面开始寻找合适的损失函数。我们希望尽可能地找到模型参数w和b的连续可导函数(或近似可导)作为损失函数,从而适用梯度下降法作为感知机的学习算法。

因为误分类点的数量是分段常值函数,不连续可导;所以很自然地想到使用误分类点到超平面的总距离作为损失函数。

由输入空间 R n R^n Rn中任一点 x 0 x_0 x0到超平面的距离 1 ∣ ∣ w ∣ ∣ 2 ∣ w ⋅ x 0 + b ∣ \frac{1}{||w||_2} |\bold{w}·x_0+b| ∣∣w∣∣21∣w⋅x0+b∣(其中 ∣ ∣ w ∣ ∣ 2 ||w||_2 ∣∣w∣∣2是w的2-范数)可得;假设超平面的误分类点集合为M,则所有误分类点超平面的总距离(即损失函数)为:

L ( w , b ) = 1 ∣ ∣ w ∣ ∣ 2 ∑ x i ∈ M ∣ w ⋅ x i + b ∣ (1) L(w,b) = \frac{1}{||w||_2} \sum_{x_i \in M} |\bold{w}·x_i+b| \tag{1} L(w,b)=∣∣w∣∣21xi∈M∑∣w⋅xi+b∣(1)


点到超平面的距离公式推导详见:[点到超平面距离公式的推导过程]

2-范数的定义及性质详见:[常见范数的定义和性质]


因为当 ( x i , y i ) (x_i,y_i) (xi​,yi​)是误分类数据时, w ⋅ x + b \bold{w}·x+b w⋅x+b与 y i y_i yi​的符号不一致,所以对于误分类数据 ( x i , y i ) (x_i,y_i) (xi​,yi​),有 − y i ( w ⋅ x i + b ) > 0 -y_i(\bold{w}·x_i+b)>0 −yi​(w⋅xi​+b)>0;所以可以通过引入 y i y_i yi​简化上式的绝对值。得到

L ( w , b ) = − 1 ∣ ∣ w ∣ ∣ 2 ∑ x i ∈ M y i ( w ⋅ x i + b ) (2) L(w,b) = - \frac{1}{||w||_2} \sum_{x_i \in M} y_i (\bold{w}·x_i+b) \tag{2} L(w,b)=−∣∣w∣∣2​1​xi​∈M∑​yi​(w⋅xi​+b)(2)

一般来说,一个点距离分离超平面的远近可以表示分类预测的确信程度。在超平面参数w和b确定的情况下, ∣ w ⋅ x + b ∣ |\bold{w}·x+b| ∣w⋅x+b∣就能够相对地表示点x距离超平面的远近。而 w ⋅ x + b \bold{w}·x+b w⋅x+b与类标记y的符号是否一致则能够表示分类是否正确。

因此在感知机学习中,即使没有参数 1 ∣ ∣ w ∣ ∣ 2 \frac{1}{||w||_2} ∣∣w∣∣2​1​,也完全可以表示分类的正确性及确信度,因此在感知机学习中,可以不考虑 1 ∣ ∣ w ∣ ∣ 2 \frac{1}{||w||_2} ∣∣w∣∣2​1​。由此得到

L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) (3) L(w,b) = - \sum_{x_i \in M} y_i (\bold{w}·x_i+b) \tag{3} L(w,b)=−xi​∈M∑​yi​(w⋅xi​+b)(3)


下面给出感知机感知机损失函数的标准定义。


感知机的损失函数 (来自李航的《统计学习方法》P. 38)

给定训练数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} T={(x1​,y1​),(x2​,y2​),⋯,(xN​,yN​)}
其中, x i ∈ χ = R n x_i \in \chi = R^n xi​∈χ=Rn, y i ∈ Y = { + 1 , − 1 } y_i \in Y = \{+1,-1\} yi​∈Y={+1,−1}, i = 1 , 2 , ⋯   , N i=1,2,\cdots,N i=1,2,⋯,N。感知机 s i g n ( w ⋅ x + b ) sign(w·x+b) sign(w⋅x+b)学习的损失函数定义为
L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) L(w,b)=-\sum_{x_i \in M} y_i (w·x_i+b) L(w,b)=−xi​∈M∑​yi​(w⋅xi​+b)
其中M为误分类点的集合。


对于每个特定的样本点的损失函数而言,在误分类时,损失函数是参数w和b的线性函数,在正确分类时是0。

于是,损失函数具有如下特征:


  • 恒非负;
  • 当且仅当没有误分类点时,损失函数值为0;
  • 误分类点越少,误分类点离分离超平面越近,损失函数值就越小;
  • 除折点左右导数不相等外,其他位置均连续可导,不妨碍梯度下降法。

综上所述,感知机学习的策略就是在假设空间中选取使损失函数式最小的模型参数w和b,即感知机模型。