• 信息与交叉熵


    1. 信息

    ref -【机器学习】直观理解信息量和信息熵的含义

      事件发生的概率越低,它含有的 信息量 就越大。(因为它排除的不确定性大)
      信息量公式:
    I = − l o g 2 p I = -log_2^p I=log2p

    信息熵 是描述一个系统内发生一个事件时,这个事件能给你带来信息量的期望。信息熵 的公式就是这个系统内所有事件发生时提供的信息量与它发生概率的乘积进行累加。
      信息熵公式:
    H ( X ) = ∑ i = 1 n p ( x i ) I ( X ) H(X)=\sum_{i=1}^np(x_i)I(X) H(X)=i=1np(xi)I(X)

      通俗理解,一个系统如果是由大量小概率事件构成,那么它的信息熵就大,信息熵就是描述一个系统的复杂或者混乱程度。

    2. 交叉熵

    ref - 王木头学科学 - “交叉熵”如何做损失函数?打包理解“信息量”、“比特”、“熵”、“KL散度”、“交叉熵"

    在这里插入图片描述

    :对这个系统求期望,信息量的期望
    H ( P ) : = E ( P f ) = ∑ i = 1 m p i ⋅ f ( p i ) = ∑ i = 1 m p i ( − l o g 2 p i ) = − ∑ i = 1 m p i ⋅ l o g 2 p i

    H(P):=E(Pf)=i=1mpi·f(pi)=i=1mpi(log2pi)=i=1mpi·log2pi" role="presentation" style="position: relative;">H(P):=E(Pf)=i=1mpi·f(pi)=i=1mpi(log2pi)=i=1mpi·log2pi
    H(P):=E(Pf)=i=1mpif(pi)=i=1mpi(log2pi)=i=1mpilog2pi

      把里面所有可能发生的事件,它的信息量求出来,然后和这个事件发生的概率相乘,最后将所有事件加起来,得到的就是信息的熵。

    在这里插入图片描述

    相对熵(KL散度)
      Q, P 分别代表两个概率系统, f Q ( q i ) f_Q(q_i) fQ(qi) 代表 Q 系统的信息量, f P ( p i ) f_P(p_i) fP(pi) 代表 P 系统的信息量,

    D K L ( P ∣ ∣ Q ) : = ∑ i = 1 m p i ⋅ ( f Q ( q i ) − f P ( p i ) ) = ∑ i = 1 m p i ⋅ ( ( − l o g 2 q i ) − ( − l o g 2 p i ) ) = ∑ i = 1 m p i ⋅ ( − l o g 2 q i ) − ∑ i = 1 m p i ⋅ ( − l o g 2 p i )

    DKL(P||Q):=i=1mpi·(fQ(qi)fP(pi))=i=1mpi·((log2qi)(log2pi))=i=1mpi·(log2qi)i=1mpi·(log2pi)" role="presentation" style="position: relative;">DKL(P||Q):=i=1mpi·(fQ(qi)fP(pi))=i=1mpi·((log2qi)(log2pi))=i=1mpi·(log2qi)i=1mpi·(log2pi)
    :===DKL(P∣∣Q)i=1mpi(fQ(qi)fP(pi))i=1mpi((log2qi)(log2pi))i=1mpi(log2qi)i=1mpi(log2pi)

      P在前,代表以P为基准,考虑P和Q相差多少。直观理解,如果Q 想要达成和 P 一样的分布,它们中间还差多少信息量。
    ∑ i = 1 m p i ⋅ ( − l o g 2 q i ) \sum_{i=1}^mp_i · \left(-log_2^{q_i}\right) i=1mpi(log2qi) 就是 P 的 交叉熵 H ( P , Q ) H(P,Q) H(P,Q), D K L D_{KL} DKL 是绝对大于等于 0 的,当 P与 Q 相等时, D K L = 0 D_{KL}=0 DKL=0。P 与 Q 越接近,交叉熵越小,两个概率模型越接近。

    H ( P , Q ) = ∑ i = 1 m p i ⋅ ( − l o g 2 q i ) = ∑ i = 1 n x i ⋅ ( − l o g 2 q i ) = ∑ i = 1 n ( x i ⋅ l o g 2 y i + ( 1 − x i ) ⋅ ( l o g 2 ( 1 − y i ) ) )

    H(P,Q)=i=1mpi·(log2qi)=i=1nxi·(log2qi)=i=1n(xi·log2yi+(1xi)·(log2(1yi)))" role="presentation" style="position: relative;">H(P,Q)=i=1mpi·(log2qi)=i=1nxi·(log2qi)=i=1n(xi·log2yi+(1xi)·(log2(1yi)))
    ===H(P,Q)i=1mpi(log2qi)i=1nxi(log2qi)i=1n(xilog2yi+(1xi)(log2(1yi)))

  • 相关阅读:
    (Python高级编程)第一章:Python面向对象深刻认识
    如何禁止在堆上和栈上创建对象
    企业新闻稿怎么写?教你撰写企业新闻稿
    后缀数组复习
    Liunx C运算符
    基于Springboot的SSM整合案例(详解)
    运维监控资料总结
    深入浅出JavaScript之原型链&继承
    网络安全——cobalt Strike 之office钓鱼
    LInux文件权限相关知识介绍
  • 原文地址:https://blog.csdn.net/weixin_31948131/article/details/126617780