折页损失函数(Hinge Loss)
在机器学习中,**hinge loss作为损失函数(loss function),通常被用于最大间隔算法(maximum-margin ),而最大间隔算法又是支持向量机(support vector machines)中用到的重要算法。
Hinge Loss的叫法来源于其损失函数的图形,为一个折线,通用的函数表达式为:
L
(
m
i
)
=
max
(
0
,
1
−
m
i
(
w
)
)
L(m_i) = \max(0, 1-m_i(w))
L(mi)=max(0,1−mi(w))表示如果被分到正类,损失是0,否则损失就是
1
−
m
i
(
w
)
1-m_i(w)
1−mi(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
argmin21∥∥w∥∥2+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.∀yiwTxi≥1−ζi
ζ
i
≥
0
\zeta_i \ge 0
ζi≥0将约束项进行变形,则为:
ζ
i
≥
1
−
y
i
w
T
x
i
\zeta_i \ge 1 - y_iw^Tx_i
ζi≥1−yiwTxi则损失函数可以进一步写为:
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)=21∥∥w∥∥2+Ci∑max(0,1−yiwTxi)=21∥∥w∥∥2+Ci∑max(0,1−mi(wi))=21∥∥w∥∥2+Ci∑LHinge(mi)因此,SVM 的损失函数可以看作是L2-norm和Hinge loss之和。
KKT条件
KKT条件是解决最优化问题的时用到的一种方法。我们这里提到的最优化问题通常是指对于给定的某一函数,求其在指定作用域上的全局最小值。提到KKT条件一般会附带的提一下拉格朗日乘子。对学过高等数学的人来说比较拉格朗日乘子应该会有些印象。二者均是求解最优化问题的方法,不同之处在于应用的情形不同。
一般情况下,最优化问题会碰到一下三种情况:
1. 无约束条件
这是最简单的情况,解决方法通常是函数对变量求导,令求导函数等于0的点可能是极值点。将结果带回原函数进行验证即可。
2. 等式约束条件
3. 不等式约束条件
总结:
1、拉格朗日取得可行解的充要条件;
2、将不等式约束转换后的一个约束,称为松弛互补条件;
3、初始的约束条件;
4、 初始的约束条件;
5.、不等式约束需要满足的条件;