机器学习的几种分类损失函数

Posted Paul-Huang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习的几种分类损失函数相关的知识,希望对你有一定的参考价值。

1. 机器学习的几种分类损失函数

1.1 信息量

  • 信息量也叫做香农信息量,常用于 刻 画 消 除 随 机 变 量 X 在 x 处 的 不 确 定 性 所 需 的 信 息 量 \\color{red}刻画消除随机变量X在x处的不确定性所需的信息量 Xx
  • 假设连续型随机变量,设 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的程度 qp
    • p p p为真实数据的概率分布, q q q为随机噪声生成数据的概率分布;
    • 生成对抗网络 q q q分布拟合 p p p分布的过程中:
      • 如果 q 完 全 拟 合 p \\color{blue}q完全拟合p qp,则 H ( p ) = H ( p , q ) \\color{red}H(p)=H(p,q) H(p)=H(p,q)
      • 如果 q 拟 合 p 不 充 分 \\color{blue}q拟合p不充分 qp,则产生的信息损耗 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) pqD(pq) 信 息 熵 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(pq)=P(x)log以上是关于机器学习的几种分类损失函数的主要内容,如果未能解决你的问题,请参考以下文章

    机器学习基础常见二分类损失函数距离度量的Python实现

    一起学习ML和DL中常用的几种loss函数

    机器学习100天(十六):016 逻辑回归损失函数

    机器学习100天(十六):016 逻辑回归损失函数

    机器学习中常见的损失函数

    机器学习中的损失函数(附python代码)