补充一个深度学习分类重要的概念:交叉熵
交叉熵 (Cross Entropy) 是一种衡量两个概率分布之间差异的损失函数,常用于机器学习和深度学习中的分类问题。其基本思想是衡量真实分布与预测分布之间的不一致性。
交叉熵的数学定义
如果我们有一个目标分布
p
(
x
)
p(x)
p(x) 和一个预测分布
q
(
x
)
q(x)
q(x),它们在同一个事件空间上定义,那么交叉熵
H
(
p
,
q
)
H(p, q)
H(p,q) 可以定义为:
H
(
p
,
q
)
=
−
∑
x
p
(
x
)
log
q
(
x
)
H(p, q) = -\sum_x p(x) \log q(x)
H(p,q)=−∑xp(x)logq(x)
在机器学习中,尤其是分类任务中,目标分布
p
(
x
)
p(x)
p(x) 通常是一个真实的分布,即用
i
i
i 代表的 one-hot 编码的分类标签,而预测分布
q
(
x
)
q(x)
q(x) 是模型输出的概率分布。交叉熵可以被用来衡量模型预测的概率分布和真实分布之间的距离。
二分类问题中的交叉熵
对于二分类问题,目标可以是
y
∈
{
0
,
1
}
y \in \{0, 1\}
y∈{0,1},模型输出的是预测的概率
y
^
\hat{y}
y^。交叉熵损失函数可以表示为:
Cross-Entropy Loss
=
−
[
y
log
(
y
^
)
+
(
1
−
y
)
log
(
1
−
y
^
)
]
\text{Cross-Entropy Loss} = -[y \log(\hat{y}) + (1-y) \log(1-\hat{y})]
Cross-Entropy Loss=−[ylog(y^)+(1−y)log(1−y^)]
多分类问题中的交叉熵
在多分类问题中,假设有
C
C
C 个类,真实标签
y
y
y 是 one-hot 编码形式,即对于正确类别
y
i
=
1
y_i=1
yi=1,其他类别
y
i
=
0
y_i=0
yi=0。交叉熵损失函数是一个包含
C
C
C 项的和。此时交叉熵损失函数为:
Cross-Entropy Loss
=
−
∑
i
=
1
C
y
i
log
(
y
i
^
)
\text{Cross-Entropy Loss} = -\sum_{i=1}^C y_i \log(\hat{y_i})
Cross-Entropy Loss=−∑i=1Cyilog(yi^)
其中,只有与正确类别对应的那一项会有贡献,因为其他类别的
y
i
=
0
y_i=0
yi=0。
交叉熵的作用
在训练分类模型时,交叉熵损失函数用于衡量模型预测的概率分布与真实分布之间的差异。因此,交叉熵是优化模型参数的重要目标函数,其目的是最小化预测分布与真实分布之间的差异。
总结来说,交叉熵是一种用于衡量分类模型输出与真实分布之间差异的损失函数,它在机器学习中的分类任务中起着关键作用。