一、分类算法中的损失函数
在分类算法中,损失函数通常可以表示成损失项和正则项的和,即如下的形式:
其中, L(mi(w)) L ( m i ( w ) ) 为损失项, R(w) R ( w ) 为正则项。 mi m i 的具体形式如下:
对于损失项,主要形式如下:
- 0-1损失
- Log损失
- Hingo损失
- 指数损失
- 感知损失
1、0-1损失函数
在分类问题中,可以使用函数的正负号来进行模式判断,函数本身大小并不是很重要,0-1损失函数比较的是预测值
fw(x(i))
f
w
(
x
(
i
)
)
与真实值
y(i)
y
(
i
)
的符号是否相同,0-1损失的具体形式如下:
等价于函数: 12(1−sign(m)) 1 2 ( 1 − s i g n ( m ) ) 。0-1损失并不依赖m值的大小,只取决于m的正负号。0-1损失是一个非凸函数,求解过程中存在很多不足,通常实际使用中将0-1损失函数作为一个标准,选择0-1损失函数的代理函数作为损失函数。
2、Log损失函数
2. 1 Log损失
Log损失是0-1损失函数的一种代理函数,Log损失的具体形式如下:
运用Log损失的经典分类器是Logistic回归算法。
2. 2 Logistic回归算法的损失函数
对于Logistic回归算法,分类器可以表示成:
其中 y∈{0,1},σ(x)=11+exp(−x) y ∈ { 0 , 1 } , σ ( x ) = 1 1 + exp ( − x ) 。为了求解其中的参数 w w ,通常使用极大似然估计的方法,具体过程如下:
1、似然函数
2、log似然
3、需要求解的是使得log似然取得最大值的 w w ,可以转换成求最小值
这便是交叉熵的具体形式。
2. 3 二者的等价
由于Log损失的具体形式为:
其中, mi=y(i)fw(x(i)) m i = y ( i ) f w ( x ( i ) ) , y(i)∈{−1,1} y ( i ) ∈ { − 1 , 1 } 。Log损失函数的具体形式为:
Logistic回归与Log损失具有相同的形式,两者是等价的。
3、Hinge损失函数
3.1 Hinge损失
Hinge损失是0-1损失函数的一种代理函数。具体形式如下:
运用Hinge损失的典型分类器是SVM算法。
3.2 SVM的损失函数
对于软间隔支持向量机,允许在间隔的计算中出现少量的误差
ξ¯=(ξ1,...,ξn)
ξ
¯
=
(
ξ
1
,
.
.
.
,
ξ
n
)
,优化目标是:
约束条件是:
3.3 二者的等价
对于Hinge损失:
优化的目标是要求:
在上诉的函数 fw(x(i)) f w ( x ( i ) ) 中引入截距 γ γ ,即:
并在上述问题中增加 L2 L 2 正则,即变为:
我们看到SVM软间隔问题中的约束条件为:
即: max(0,1−fw,γ(x)y)=minξ max ( 0 , 1 − f w , γ ( x ) y ) = min ξ
那么Hinge最小化问题变成:
这与软间隔的SVM是一致的,说明软间隔SVM是在Hinge损失的基础上增加了 L2 L 2 正则。
4、指数损失函数
4.1、指数损失
指数损失是0-1损失函数的一种代理函数,损失函数具体形式如下:
运用指数损失的典型分类器是AdaBoost算法。
4.2、AdaBoost基本原理
AdaBoost算法是对每一个弱分类器以及每一个样本都分配了权重,对于弱分类器
ϕj
ϕ
j
的权重为:
其中, R(ϕj) R ( ϕ j ) 表示的是误分类率。对于每一个样本的权重为:
最终通过对所有分类器加权得到最终的输出。