损失函数是一个非负实数函数,用来量化模型预测和真实标签之间的差异
0-1损失函数:
L
(
y
,
f
(
x
,
θ
)
)
=
˙
{
0
(
i
f
y
=
f
(
x
,
θ
)
)
1
(
e
l
s
e
)
L(y,f(x,\theta))\dot= \begin{cases} 0(if y=f(x,\theta))\\ 1 (else)\end{cases}
L(y,f(x,θ))=˙{0(ify=f(x,θ))1(else)
0-1损失函数可以客观的评价模型的好坏,但缺点是数学性质不好,常用连续可微的损失函数替代
平方损失函数:
L
(
y
,
f
(
x
,
θ
)
)
=
˙
1
2
(
y
−
f
(
x
,
θ
)
)
2
L(y,f(x,\theta))\dot=\frac{1}{2}(y-f(x,\theta))^2
L(y,f(x,θ))=˙21(y−f(x,θ))2
平方损失函数一般不适用于分类问题
交叉熵损失函数:
假设样本的标签
y
∈
1
,
.
.
.
,
C
y∈{1,...,C}
y∈1,...,C为离散的类别,模型
f
(
x
;
θ
)
∈
[
0
,
1
]
C
f(x;\theta)∈[0,1]^C
f(x;θ)∈[0,1]C的输出为类别标签的条件概率分布
即
p
(
y
=
c
∣
x
;
θ
)
=
f
c
(
x
;
θ
)
p(y=c|x;\theta)=f_c(x;\theta)
p(y=c∣x;θ)=fc(x;θ)
并满足
f
c
(
x
;
θ
)
∈
[
0
,
1
]
,
∑
c
=
1
C
f
c
(
x
;
θ
)
=
1
f_c(x;\theta)∈[0,1],\sum_{c=1}^Cf_c(x;\theta)=1
fc(x;θ)∈[0,1],∑c=1Cfc(x;θ)=1
用一个C维的one-hot向量y来表示样本标签,假设样本的标签为k,那么标签向量y只有第k维的值为1,其余元素全为0.
标签向量y可以看做样本标签的真实条件概率分布
p
r
(
y
∣
x
)
p_r(y|x)
pr(y∣x),即第c维是类别为c的真实条件概率。
对于两个概率分布,一般用交叉熵来衡量差异。交叉熵
L
(
y
,
f
(
x
;
θ
)
)
=
−
y
T
l
o
g
f
(
x
;
θ
)
=
−
∑
c
=
1
C
l
o
g
f
c
(
x
;
θ
)
L(y,f(x;\theta))=-y^Tlogf(x;\theta)=-\sum_{c=1}^{C}logf_c(x;\theta)
L(y,f(x;θ))=−yTlogf(x;θ)=−∑c=1Clogfc(x;θ)
交叉熵损失函数一般用于分类问题
Hinge损失函数
Hinge损失函数用于二分类问题,假设y的取值为{-1,+1},
f
(
x
;
θ
)
∈
R
f(x;\theta)∈R
f(x;θ)∈R
L
(
y
,
f
(
x
;
θ
)
)
=
m
a
x
(
0
,
1
−
y
f
(
x
;
θ
)
)
L(y,f(x;\theta))=max(0,1-yf(x;\theta))
L(y,f(x;θ))=max(0,1−yf(x;θ))