熵、交叉熵、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(B∣A)=P(A)P(AB)

理解:就是说,在A发生的条件下呢,AB也同时 发生。

上述公式也可写成:
P ( B ∣ A ) = P ( A , B ) P ( A ) P(B|A)=\frac{P(A,B)}{P(A)} P(B∣A)=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+(1−p)log(1−q)
= − ( p l o g q − ( 1 − p ) l o g ( 1 − q ) ) =-(plogq-(1-p)log(1-q)) =−(plogq−(1−p)log(1−q))

怎么推到第四步的呢?
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)=1−p

同理:
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)=1−q

继续看b站老师的例子,帮助理解。

继续观摩老师的PPT:

再次理解SoftMax函数

按照老师的话来说:

softMax就是将数字转换成概率的大杀器,进行数据归一化的大杀器。

结束

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

相关推荐
充钱大佬1 分钟前
Python测试基础教程
python·log4j·apache
有Li38 分钟前
基于扩散模型的超声计算机断层成像实现肌肉骨骼组织高保真三维重建文献速递/基于多模态的医学影像分割与理解
大数据·深度学习·文献·医学生
KaMeidebaby2 小时前
卡梅德生物技术快报|抗体亲和力成熟工业化调控新机制:差异性浆细胞增殖工艺优化思路
java·开发语言·人工智能·算法·机器学习·架构·spark
OpenApi.cc2 小时前
猫狗分类模型 GPU版
pytorch·深度学习·分类
初心丨哈士奇2 小时前
Python 四大基础容器|列表篇
python
tmlx3I0813 小时前
高光谱拼接算法(六)RANSAC 误匹配剔除
人工智能·算法·机器学习
硅谷秋水3 小时前
World Engine:迈向自动驾驶的后训练时代
人工智能·深度学习·机器学习·计算机视觉·语言模型·自动驾驶
明理的信封3 小时前
AI 基础设施的“去 Python 化“:Rust 与 C# 的两条替代路径
人工智能·python·rust
麻雀飞吧4 小时前
2026年AI量化开发,先跑通小流程再加复杂功能
人工智能·python
daphne odera�5 小时前
PyCharm 中 Codex 插件启动失败:unknown variant default 的解决方法
python·chatgpt·pycharm