熵、交叉熵、KL散度

熵,是一个物理上的概念,表示一个系统的不确定性程度,或者表示一个系统的混乱程序。
下边是信息熵的演示:
信息熵的公式如下:
H ( x ) = − ∑ i = 1 ) n p ( x i ) l o g p ( x i ) H(x)=-\sum_{i=1)}^{n}p(x_i)logp(x_i) H(x)=i=1)np(xi)logp(xi)
其中 P ( x ) 表示随机变量 x 的概率函数 P(x)表示随机变量x的概率函数 P(x)表示随机变量x的概率函数在这里插入图片描述看数值可知道班花A的头脑更加混乱,那么多个帅哥,不知选择哪一个,不像班花B只需要选择第一个大帅哥即可。

KL散度

KL散度就是相对熵,相对熵就是KL散度
KL散度 = 相对熵,相对熵 = KL散度。
KL 散度:是两个概率分布间差异的非对称性度量。
怎么理解这句话呢?
KL散度其实是用来衡量同一个随机变量的两个不同分布之间的距离。
KL散度的公式如下:
D K L ( p ∣ ∣ q ) = ∑ i = 1 n p ( x i ) l o g ( p ( x i ) q ( x i ) ) D_{KL}(p||q) =\sum_{i=1}^{n}p(x_i)log(\frac{p(x_i)}{q(x_i)}) DKL(p∣∣q)=i=1np(xi)log(q(xi)p(xi))
在这补充一下 条件概率
条件概率公式如下:
P ( B ∣ A ) = P ( A B ) P ( A ) P(B|A)=\frac{P(AB)}{P(A)} P(BA)=P(A)P(AB)
理解:就是说,在A发生的条件下呢,AB也同时 发生。
上述公式也可写成:
P ( B ∣ A ) = P ( A , B ) P ( A ) P(B|A)=\frac{P(A,B)}{P(A)} P(BA)=P(A)P(A,B)

KL散度的特性:
特点1:非对称性。
即D_KL(p||q) 不等于D_KL(q||p)
只有当p 和q的概率分布完全一样时才会相等。
特点2:非负性。
DKL的值永远大于0
只有当p 和q的概率分布完全一样时才会等于0.
看看b站老表老师的例子,笑着理解。哈哈哈
在这里插入图片描述
KL散度公式的变形:
在这里插入图片描述

引入交叉熵。

交叉熵公式如下:
H ( P , Q ) = − ∑ i = 1 n p ( x i ) l o g q ( x i ) H(P,Q) = -\sum_{i=1}^{n} p(x_i)logq(x_i) H(P,Q)=i=1np(xi)logq(xi) 经过简单变形:
=> H ( P , Q ) = ∑ i = 1 n p ( x i ) l o g ( 1 q ( x i ) ) H(P,Q) = \sum_{i=1}^{n} p(x_i)log(\frac{1}{q(x_i)}) H(P,Q)=i=1np(xi)log(q(xi)1)
其中 p ( x i ) 是真实分布的概率, q ( x i ) 是预测的概率 p(x_i)是真实分布的概率,q(x_i)是预测的概率 p(xi)是真实分布的概率,q(xi)是预测的概率
同样看下b站老师的例子,笑着理解吧!

在这里插入图片描述

观测交叉熵的数值可知:
1、预测越准确,交叉熵越小。
2、交叉熵只跟真是标签的预测概率值有关。
所以你就能推断出交叉熵的最简公式:
C r o s s E n t r o p y ( p , q ) = − l o g q ( c i ) Cross_Entropy(p,q)=-logq(c_i) CrossEntropy(p,q)=logq(ci)

交叉熵的二分类公式:

H ( P , Q ) = − ∑ i = 1 n p ( x i ) l o g ( q ( x i ) ) H(P,Q)=-\sum_{i=1}^{n}p(x_i)log(q(x_i)) H(P,Q)=i=1np(xi)log(q(xi))
= − p ( x 1 ) l o g q ( x 1 ) + p ( x 2 ) l o g q ( x 2 ) =-p(x_1)logq(x_1)+p(x_2)logq(x_2) =p(x1)logq(x1)+p(x2)logq(x2)
= − p l o g q + ( 1 − p ) l o g ( 1 − q ) =-plogq+(1-p)log(1-q) =plogq+(1p)log(1q)
= − ( p l o g q − ( 1 − p ) l o g ( 1 − q ) ) =-(plogq-(1-p)log(1-q)) =(plogq(1p)log(1q))
怎么推到第四步的呢?
p ( x 1 ) + p ( x 2 ) = 1 ,我们假设 p(x_1)+p(x_2)=1,我们假设 p(x1)+p(x2)=1,我们假设 p ( x 1 ) = p ,那么 p ( x 2 ) = 1 − p p(x_1) = p,那么p(x_2) = 1-p p(x1)=p,那么p(x2)=1p
同理:
q ( x 1 ) + q ( x 2 ) = 1 ,我们假设 q(x_1)+q(x_2)=1,我们假设 q(x1)+q(x2)=1,我们假设 q ( x 1 ) = q ,那么 q ( x 2 ) = 1 − q q(x_1) = q,那么q(x_2) = 1-q q(x1)=q,那么q(x2)=1q
继续看b站老师的例子,帮助理解。
在这里插入图片描述
继续观摩老师的PPT:
在这里插入图片描述

再次理解SoftMax函数

按照老师的话来说:
softMax就是将数字转换成概率的大杀器,进行数据归一化的大杀器。

结束

对于该为b站老师的视频,我感觉讲的非常好哇,很适合小白入门,可惜后续没再更新,不知在哪还能找到勒

相关推荐

  1. PyTorch交叉理解

    2024-07-22 07:46:03       27 阅读
  2. KL、CrossEntropy详解

    2024-07-22 07:46:03       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-22 07:46:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-22 07:46:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-22 07:46:03       45 阅读
  4. Python语言-面向对象

    2024-07-22 07:46:03       55 阅读

热门阅读

  1. Robot Operating System——借用内存型消息

    2024-07-22 07:46:03       13 阅读
  2. B树(B-Tree)详解

    2024-07-22 07:46:03       17 阅读
  3. IPython与Pandas:数据分析的动态组

    2024-07-22 07:46:03       17 阅读
  4. SSR和SPA渲染模式

    2024-07-22 07:46:03       14 阅读
  5. 《流程引擎原理与实践》开源电子书

    2024-07-22 07:46:03       16 阅读
  6. 2742. 给墙壁刷油漆

    2024-07-22 07:46:03       15 阅读
  7. longjmp和多线程:读写线程实例

    2024-07-22 07:46:03       18 阅读
  8. 【CF】1216F-WiFi 题解

    2024-07-22 07:46:03       17 阅读
  9. 牛客周赛 Round 52VP(附D的详细证明)

    2024-07-22 07:46:03       18 阅读
  10. Android13 应用代码中修改热点默认密码

    2024-07-22 07:46:03       15 阅读
  11. 【React】事件绑定、React组件、useState、基础样式

    2024-07-22 07:46:03       16 阅读
  12. postman接口测试工具详解

    2024-07-22 07:46:03       17 阅读