机器学习的几种分类损失函数
Posted Paul-Huang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习的几种分类损失函数相关的知识,希望对你有一定的参考价值。
1. 机器学习的几种分类损失函数
1.1 信息量
- 信息量也叫做香农信息量,常用于 刻 画 消 除 随 机 变 量 X 在 x 处 的 不 确 定 性 所 需 的 信 息 量 \\color{red}刻画消除随机变量X在x处的不确定性所需的信息量 刻画消除随机变量X在x处的不确定性所需的信息量。
- 假设连续型随机变量,设
p
p
p为随机变量
X
X
X的概率分布,即
p
(
x
)
p(x)
p(x)为随机变量
X
X
X在
X
=
x
X=x
X=x处的概率密度函数值,随机变量
X
X
X在
x
x
x处的香农信息量定义为:
I ( x ) = − log p ( x ) = log 1 p ( x ) (1.1) I(x) = -\\log p(x)=\\log \\frac{1}{p(x)}\\tag{1.1} I(x)=−logp(x)=logp(x)1(1.1)
1.2 信息熵
- 信息熵用于 刻 画 消 除 随 机 变 量 X 的 不 确 定 性 所 需 要 的 总 体 信 息 量 \\color{red}刻画消除随机变量X的不确定性所需要的总体信息量 刻画消除随机变量X的不确定性所需要的总体信息量。
- 信息熵是衡量随机变量
X
X
X在整个样本空间的总体香农信息量,即香农信息量
log
p
(
x
)
\\log p(x)
logp(x)的数学期望信息熵的定义如下:
H ( p ) = H ( X ) = E x p ( x ) [ − l o g p ( x ) ] = − ∫ p ( x ) l o g p ( x ) d x (1.2) H(p) = H(X) = E_{x~p(x)}[-logp(x)] = -\\int_{}^{}p(x)logp(x)dx\\tag{1.2} H(p)=H(X)=Ex p(x)[−logp(x)]=−∫p(x)logp(x)dx(1.2)
1.3 交叉熵
-
假设 q ( x ) q(x) q(x)是用来拟合 p ( x ) p(x) p(x)的概率分布, x x x属于 P P P的样本空间,交叉熵用于衡量 Q Q Q在拟合 P P P的过程中,用于 刻 画 消 除 不 确 定 性 而 充 分 使 用 的 信 息 量 \\color{red}刻画消除不确定性而充分使用的信息量 刻画消除不确定性而充分使用的信息量。常作为神经网络的损失函数使用。
-
由于在每一个点 X = x X=x X=x处 q q q的香农信息量为 − log q ( x ) -\\log q(x) −logq(x),即衡量 Q Q Q在 X = x X=x X=x处为了拟合 P P P所作的努力。
-
因此可以计算出在整个样本空间上 Q Q Q消除不确定性所使用的总体信息量,即 − log q ( x ) -\\log q(x) −logq(x)的数学期望,由于每个 x x x的权重为 p ( x ) p(x) p(x),因此交叉熵 H ( p , q ) H(p,q) H(p,q)的定义为:
H ( p , q ) = ∑ p ( x ) l o g 1 q ( x ) (1.3) H(p, q) = \\sum_{}^{}{p(x)log\\frac{1}{q(x)}}\\tag{1.3} H(p,q)=∑p(x)logq(x)1(1.3) -
优点:使用逻辑函数得到概率,并结合交叉熵当损失函数时,在模型效果差的时候学习速度比较快,在模型效果好的时候学习速度变慢。
-
缺点:
- 1、随着分类数目的增大,分类层的线性变化矩阵参数也随着增大;
- 2、对于封闭集分类问题,学习到的特征是可分离的,但对于开放集人脸识别问题,所学特征却没有足够的区分性。
对于人脸识别问题,首先人脸数目(对应分类数目)是很多的,而且会不断有新的人脸进来,不是一个封闭集分类问题。
- sigmoid(softmax)+cross-entropy loss 擅长于学习类间的信息,因为它采用了类间竞争机制,它只关心对于正确标签预测概率的准确性,忽略了其他非正确标签的差异,导致学习到的特征比较散。
这个问题的优化有很多,比如对softmax进行改进,如L-Softmax、SM-Softmax、AM-Softmax等。
1.4 KL散度
- KL散度也叫相对熵,用于
刻
画
概
率
分
布
q
拟
合
概
率
分
布
p
的
程
度
\\color{red}刻画概率分布q拟合概率分布p的程度
刻画概率分布q拟合概率分布p的程度。
- p p p为真实数据的概率分布, q q q为随机噪声生成数据的概率分布;
- 生成对抗网络中
q
q
q分布拟合
p
p
p分布的过程中:
- 如果 q 完 全 拟 合 p \\color{blue}q完全拟合p q完全拟合p,则 H ( p ) = H ( p , q ) \\color{red}H(p)=H(p,q) H(p)=H(p,q);
- 如果 q 拟 合 p 不 充 分 \\color{blue}q拟合p不充分 q拟合p不充分,则产生的信息损耗 H ( p ) − H ( p , q ) \\color{red}H(p)-H(p,q) H(p)−H(p,q)就是 p p p和 q q q的KL散度。
-
p
和
q
的
相
对
熵
D
(
p
∣
∣
q
)
\\color{red}p和q的相对熵D(p||q)
p和q的相对熵D(p∣∣q)为
信
息
熵
H
(
p
)
与
交
叉
熵
H
(
p
,
q
)
的
差
\\color{red}信息熵H(p)与交叉熵H(p,q)的差
信息熵H(p)与交叉熵H(p,q)的差,KL散度是用来度量使用基于Q的编码来编码来自P的样本平均所需的额外的比特个数。KL散度的定义为:
H ( p ) − H ( p , q ) = − ∫ p ( x ) l o g p ( x ) d x − ( − ∫ p ( x ) l o g q ( x ) d x ) (1.4) H(p)-H(p, q) = -\\int_{}^{}p(x)logp(x)dx-(-\\int_{}^{}p(x)logq(x)dx)\\tag{1.4} H(p)−H(p,q)=−∫p(x)logp(x)dx−(−∫p(x)logq(x)dx)(1.4)
D ( p ∣ ∣ q ) = ∑ P ( x ) l o g P ( x ) Q ( x ) (1.5) D(p||q) = \\sum_{}^{}{P(x)log\\frac{P(x)}{Q(x)}}\\tag{1.5} D(p∣∣q)=∑P(x)log以上是关于机器学习的几种分类损失函数的主要内容,如果未能解决你的问题,请参考以下文章