SVM的损失函数和对偶问题中的Slater条件,KKT条件

折页损失函数(Hinge Loss)

    在机器学习中,**hinge loss作为损失函数(loss function),通常被用于最大间隔算法(maximum-margin ),而最大间隔算法又是支持向量机(support vector machines)中用到的重要算法。
SVM的损失函数和对偶问题中的Slater条件,KKT条件_第1张图片
    Hinge Loss的叫法来源于其损失函数的图形,为一个折线,通用的函数表达式为: L ( m i ) = max ⁡ ( 0 , 1 − m i ( w ) ) L(m_i) = \max(0, 1-m_i(w)) L(mi)=max(0,1mi(w))表示如果被分到正类,损失是0,否则损失就是 1 − m i ( w ) 1-m_i(w) 1mi(w)
在机器学习中,Hing 可以用来解 间距最大化 的问题,最有代表性的就是SVM 问题,最初的SVM 优化函数如下: arg ⁡ min ⁡ 1 2 ∥ w ∥ 2 + C ∑ i ζ i \arg \min \frac{1}{2}\begin{Vmatrix} w \end{Vmatrix}^2 + C\sum_{i}\zeta_i argmin21w2+Ciζi s . t . ∀ y i w T x i ≥ 1 − ζ i s.t.\quad \forall y_iw^Tx_i \ge 1 - \zeta_i s.t.yiwTxi1ζi ζ i ≥ 0 \zeta_i \ge 0 ζi0将约束项进行变形,则为: ζ i ≥ 1 − y i w T x i \zeta_i \ge 1 - y_iw^Tx_i ζi1yiwTxi则损失函数可以进一步写为: J ( w ) = 1 2 ∥ w ∥ 2 + C ∑ i max ⁡ ( 0 , 1 − y i w T x i ) = 1 2 ∥ w ∥ 2 + C ∑ i max ⁡ ( 0 , 1 − m i ( w i ) ) = 1 2 ∥ w ∥ 2 + C ∑ i L H i n g e ( m i ) \begin{aligned} J(w)&=\frac{1}{2}\begin{Vmatrix} w \end{Vmatrix}^2 + C\sum_{i}\max(0, 1-y_iw^Tx_i)\\ &=\frac{1}{2}\begin{Vmatrix} w \end{Vmatrix}^2 + C\sum_{i}\max(0, 1-m_i(w_i))\\ &=\frac{1}{2}\begin{Vmatrix} w \end{Vmatrix}^2 + C\sum_{i}L_{Hinge}(m_i) \end{aligned} J(w)=21w2+Cimax(0,1yiwTxi)=21w2+Cimax(0,1mi(wi))=21w2+CiLHinge(mi)因此,SVM 的损失函数可以看作是L2-norm和Hinge loss之和。

KKT条件

    KKT条件是解决最优化问题的时用到的一种方法。我们这里提到的最优化问题通常是指对于给定的某一函数,求其在指定作用域上的全局最小值。提到KKT条件一般会附带的提一下拉格朗日乘子。对学过高等数学的人来说比较拉格朗日乘子应该会有些印象。二者均是求解最优化问题的方法,不同之处在于应用的情形不同。
    一般情况下,最优化问题会碰到一下三种情况:

1. 无约束条件

    这是最简单的情况,解决方法通常是函数对变量求导,令求导函数等于0的点可能是极值点。将结果带回原函数进行验证即可。

2. 等式约束条件
3. 不等式约束条件

总结
SVM的损失函数和对偶问题中的Slater条件,KKT条件_第2张图片
1、拉格朗日取得可行解的充要条件;
2、将不等式约束转换后的一个约束,称为松弛互补条件;
3、初始的约束条件;
4、 初始的约束条件;
5.、不等式约束需要满足的条件;

你可能感兴趣的:(机器学习)