图解AI数学基础(3) | 信息论(要点速查清单·完结)

2023-12-09 02:32

本文主要是介绍图解AI数学基础(3) | 信息论(要点速查清单·完结),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 作者:韩信子@ShowMeAI
  • 教程地址:https://www.showmeai.tech/tutorials/83
  • 本文地址:https://www.showmeai.tech/article-detail/164
  • 声明:版权所有,转载请联系平台与作者并注明出处

信息论是运用概率论与数理统计的方法研究信息、信息熵、通信系统、数据传输、密码学、数据压缩等问题的应用数学学科。信息论中包含的知识和概念在机器学习中也有应用,典型的例子是其核心思想『熵』的应用。

例如,决策树模型ID3、C4.5中是利用信息增益来确定划分特征而逐步生长和构建决策树的;其中,信息增益就是基于信息论中的熵。

1.熵(Entropy)

熵是1854年由克劳休斯提出的一个用来度量体系混乱程度的单位,并阐述了热力学第二定律熵增原理:在孤立系统中,体系与环境没有能量交换,体系总是自发的向混乱度增大的方向变化,使整个系统的熵值越来越大。

熵越大,表征的随机变量的不确定度越大,其含有的信息量越多

熵 Entropy

随机变量 X X X 可能的取值为 { x 1 , x 2 , … , x n } \{x_{1},x_{2} ,\dots ,x_{n} \} {x1,x2,,xn},其概率分布为 P ( X = x i ) = p i P(X=x_{i}) =p_{i} P(X=xi)=pi i = 1 , 2 , … , n i = 1, 2, \dots, n i=1,2,,n,则随机变量 X X X 的熵定义为 H ( X ) H(X) H(X)

H ( X ) = − ∑ i = 1 n P ( x i ) l o g P ( x i ) = ∑ i = 1 n P ( x i ) 1 l o g P ( x i ) \begin{aligned} H(X) =&-\sum_{i=1}^{n}{P(x_{i}) logP(x_{i})} \\ &=\sum_{i=1}^{n}{P(x_{i}) \frac{1}{logP(x_{i})}} \end{aligned} H(X)=i=1nP(xi)logP(xi)=i=1nP(xi)logP(xi)1

2.联合熵(Joint Entropy )

联合熵 Joint Entropy

联合熵,就是度量一个联合分布的随机系统的不确定度。分布为 P ( x , y ) P(x,y) P(x,y) 的一对随机变量 ( X , Y ) (X,Y) (X,Y),其联合熵定义为:

H ( X , Y ) = − ∑ i = 1 n ∑ j = 1 n P ( x i , y j ) l o g P ( x i , y j ) = E [ log ⁡ 1 p ( x , y ) ] \begin{aligned} H(X,Y) &=-\sum_{i=1}^{n}{\sum_{j=1}^{n}{P(x_{i},y_{j})}logP(x_{i},y_{j})} \\ &=E[ \log\frac{1}{p(x,y)} ] \end{aligned} H(X,Y)=i=1nj=1nP(xi,yj)logP(xi,yj)=E[logp(x,y)1]

联合熵的物理意义,是观察一个多随机变量的随机系统获得的信息量,是对二维随机变量 ( X , Y ) (X,Y) (X,Y)不确定性的度量。

3.条件熵(Conditional Entropy)

Y Y Y 的条件熵是指『在随机变量 X X X 发生的前提下,随机变量 Y Y Y 发生新带来的熵』,用 H ( Y ∣ X ) H(Y \mid X) H(YX) 表示:

H ( Y ∣ X ) = − ∑ x , y P ( x , y ) l o g P ( y ∣ x ) H(Y \mid X) =-\sum_{x,y}{P(x,y) logP(y \mid x)} H(YX)=x,yP(x,y)logP(yx)

条件熵 Conditional Entropy

条件熵的物理意义,在得知某一确定信息的基础上获取另外一个信息时所获得的信息量,用来衡量在已知随机变量的 X X X 条件下,随机变量 Y Y Y 的不确定性。

4.相对熵(Kullback–Leibler divergence)

相对熵在信息论中用来描述两个概率分布差异的熵,叫作KL散度、相对熵、互熵、交叉熵、信息增益。对于一个离散随机变量的两个概率分布 P P P Q Q Q 来说,它们的相对熵定义为:

D ( P ∥ Q ) = ∑ i = 1 n P ( x i ) l o g P ( x i ) Q ( x i ) D(P \parallel Q) =\sum_{i=1}^{n}{P(x_{i}) log\frac{P(x_{i})}{Q(x_{i})}} D(PQ)=i=1nP(xi)logQ(xi)P(xi)
相对熵 Kullback–Leibler divergence

注意:公式中 P P P 表示真实分布, Q Q Q 表示 P P P 的拟合分布, D ( P ∥ Q ) ≠ D ( Q ∥ P ) D(P \parallel Q) ≠ D(Q \parallel P) D(PQ)=D(QP)

相对熵表示当用概率分布 Q Q Q 来拟合真实分布 P P P 时,产生的信息损耗。

5.交叉熵(Cross Entropy)

交叉熵 Cross Entropy

交叉熵在信息论中用于度量两个概率分布间的差异性。将上述相对熵(KL散度)公式拆开,可以得到 相对熵=交叉熵-熵

D ( P ∣ ∣ Q ) = ∑ i = 1 n P ( x i ) log ⁡ ( P ( x i ) Q ( x i ) ) = ∑ i = 1 n P ( x i ) log ⁡ ( P ( x i ) ) − ∑ i = 1 n P ( x i ) log ⁡ ( Q ( x i ) ) = − H ( P ( x ) ) + [ − ∑ i = 1 n P ( x i ) log ⁡ ( Q ( x i ) ) ] \begin{aligned} D(P || Q) &=\sum_{i=1}^{n} P\left(x_{i}\right) \log \left(\frac{P\left(x_{i}\right)}{Q\left(x_{i}\right)}\right) \\ &= \sum_{i=1}^{n} P\left(x_{i}\right) \log \left(P\left(x_{i}\right)\right) -\sum_{i=1}^{n} P\left(x_{i}\right) \log \left(Q\left(x_{i}\right)\right) \\ &=- H(P(x)) +\left[-\sum_{i=1}^{n} P\left(x_{i}\right) \log \left(Q\left(x_{i}\right)\right)\right] \end{aligned} D(PQ)=i=1nP(xi)log(Q(xi)P(xi))=i=1nP(xi)log(P(xi))i=1nP(xi)log(Q(xi))=H(P(x))+[i=1nP(xi)log(Q(xi))]

因此,对于一个离散随机变量的两个概率分布 P P P Q Q Q 来说,它们的交叉熵定义为:

H ( P , Q ) = − ∑ i = 1 n P ( x i ) l o g ( Q ( x i ) ) H\left( P,Q \right) =-\sum_{i=1}^{n}{P\left( x_{i} \right) log({Q\left( x_{i} \right) } } ) H(P,Q)=i=1nP(xi)log(Q(xi))

使用机器学习训练网络时,输入数据与标签通常是确定的。那么,真实概率分布 P ( x ) P(x) P(x) 是确定的,因此熵 H ( P ( x ) ) H(P(x)) H(P(x)) 是一个可以确定的常量。

由上述推导可得,交叉熵 = 相对熵+熵 = 相对熵+一个常量。所以交叉熵也可以用来描述真实概率分布 P ( x ) P(x) P(x) 与预测概率分布 Q ( x ) Q(x) Q(x) 的差异(值越小表示预测结果越好),且交叉熵的计算公式更简单。因此在机器学习中,通常使用交叉熵损失函数来计算Loss。

6.互信息(Mutual Information)

互信息是信息论里一种有用的信息度量方式,它可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性。

互信息的计算方式定义如下:

I ( X , Y ) = ∑ x ∈ X ∑ y ∈ Y P ( x , y ) l o g P ( x , y ) P ( x ) P ( y ) I(X,Y) =\sum_{x\in X}^{}{\sum_{y\in Y}^{}{P(x,y)} log\frac{P(x,y)}{P(x) P(y)}} I(X,Y)=xXyYP(x,y)logP(x)P(y)P(x,y)

互信息 Mutual Information

7.常用等式(useful equations)

1)条件熵、联合熵与熵之间的关系

H ( Y ∣ X ) = H ( X , Y ) − H ( X ) H(Y \mid X) =H(X,Y) - H(X) H(YX)=H(X,Y)H(X)

推导过程如下

H ( X , Y ) − H ( X ) = − ∑ x , y p ( x , y ) log ⁡ p ( x , y ) + ∑ x p ( x ) log ⁡ p ( x ) (1) = − ∑ x , y p ( x , y ) log ⁡ p ( x , y ) + ∑ x ( ∑ y p ( x , y ) ) log ⁡ p ( x ) (2) = − ∑ x , y p ( x , y ) log ⁡ p ( x , y ) + ∑ x , y p ( x , y ) log ⁡ p ( x ) (3) = − ∑ x , y p ( x , y ) log ⁡ p ( x , y ) p ( x ) (4) = − ∑ x , y p ( x , y ) log ⁡ p ( y ∣ x ) (5) \begin{aligned} H(X, Y)-H(X) &= -\sum_{x, y} p(x, y) \log p(x, y)+\sum_{x} p(x) \log p(x) \quad \quad \text{(1)} \\ &=-\sum_{x, y} p(x, y) \log p(x, y)+\sum_{x}(\sum_{y} p(x, y)) \log p(x) \quad \text{(2)} \\ &=-\sum_{x, y} p(x, y) \log p(x, y)+\sum_{x, y} p(x, y) \log p(x) \quad \quad \text{(3)} \\ &=-\sum_{x, y} p(x, y) \log \frac{p(x, y)}{p(x)} \quad \quad \text{(4)} \\ &=-\sum_{x, y} p(x, y) \log p(y \mid x) \quad \quad \text{(5)} \end{aligned} H(X,Y)H(X)=x,yp(x,y)logp(x,y)+xp(x)logp(x)(1)=x,yp(x,y)logp(x,y)+x(yp(x,y))logp(x)(2)=x,yp(x,y)logp(x,y)+x,yp(x,y)logp(x)(3)=x,yp(x,y)logp(x)p(x,y)(4)=x,yp(x,y)logp(yx)(5)

  • 第(1)行推到第(2)行的依据是边缘分布 P ( x ) P(x) P(x) 等于联合分布 P ( x , y ) P(x,y) P(x,y) 的和;

  • 第(2)行推到第(3)行的依据是把公因子 l o g P ( x ) logP(x) logP(x) 乘进去,然后把 x , y x,y x,y写在一起;

  • 第(3)行推到第(4)行的依据是:因为两个 σ \sigma σ 都有 P ( x , y ) P(x,y) P(x,y) ,故提取公因子 P ( x , y ) P(x,y) P(x,y) 放到外边,然后把里边的 − ( l o g P ( x , y ) − l o g P ( x ) ) -(log P(x,y) - log P(x)) (logP(x,y)logP(x)) 写成 − l o g ( P ( x , y ) / P ( x ) ) - log (P(x,y) / P(x)) log(P(x,y)/P(x))

  • 第(4)行推到第(5)行的依据是: P ( x , y ) = P ( x ) ∗ P ( y ∣ x ) P(x,y) = P(x) \ast P(y \mid x) P(x,y)=P(x)P(yx),故 P ( x , y ) / P ( x ) = P ( y ∣ x ) P(x,y) / P(x) = P(y \mid x) P(x,y)/P(x)=P(yx)

2)条件熵、联合熵与互信息之间的关系

H ( Y ∣ X ) = H ( Y ) − I ( X , Y ) H(Y \mid X) =H(Y) -I(X,Y) H(YX)=H(Y)I(X,Y)

推导过程如下:

H ( Y ) − I ( X , Y ) = − ∑ y p ( y ) log ⁡ p ( y ) − ∑ x , y p ( x , y ) log ⁡ p ( x , y ) p ( x ) p ( y ) = − ∑ y ( ∑ x p ( x , y ) ) log ⁡ p ( y ) − ∑ x , y p ( x , y ) log ⁡ p ( x , y ) p ( x ) p ( y ) = − ∑ x , y p ( x , y ) log ⁡ p ( y ) − ∑ x , y p ( x , y ) log ⁡ p ( x , y ) p ( x ) p ( y ) = − ∑ x , y p ( x , y ) log ⁡ p ( x , y ) p ( x ) = − ∑ x , y p ( x , y ) log ⁡ p ( y ∣ x ) = H ( Y ∣ X ) \begin{aligned} H(Y)-I(X, Y) =&-\sum_{y} p(y) \log p(y)-\sum_{x, y} p(x, y) \log \frac{p(x, y)}{p(x) p(y)} \\ &=-\sum_{y}(\sum_{x} p(x, y)) \log p(y)-\sum_{x, y} p(x, y) \log \frac{p(x, y)}{p(x) p(y)} \\ &=-\sum_{x, y} p(x, y) \log p(y)-\sum_{x, y} p(x, y) \log \frac{p(x, y)}{p(x) p(y)} \\ &=-\sum_{x, y} p(x, y) \log \frac{p(x, y)}{p(x)} \\ &=-\sum_{x, y} p(x, y) \log p(y \mid x) \\ &=H(Y \mid X) \end{aligned} H(Y)I(X,Y)=yp(y)logp(y)x,yp(x,y)logp(x)p(y)p(x,y)=y(xp(x,y))logp(y)x,yp(x,y)logp(x)p(y)p(x,y)=x,yp(x,y)logp(y)x,yp(x,y)logp(x)p(y)p(x,y)=x,yp(x,y)logp(x)p(x,y)=x,yp(x,y)logp(yx)=H(YX)

3)互信息的定义

常用等式 useful equations
由上方的两个公式

  • H ( Y ∣ X ) = H ( Y ) − I ( X , Y ) H(Y \mid X) = H(Y) - I(X,Y) H(YX)=H(Y)I(X,Y)
  • H ( Y ∣ X ) = H ( X , Y ) − H ( X ) H(Y \mid X) = H(X,Y) - H(X) H(YX)=H(X,Y)H(X)

可以推出 I ( X , Y ) = H ( X ) + H ( Y ) − H ( X , Y ) I(X,Y)= H(X) + H(Y) - H(X,Y) I(X,Y)=H(X)+H(Y)H(X,Y),此结论被多数文献作为互信息的定义

8.最大熵模型(Max Entropy Model)

机器学习领域,概率模型学习过程中有一个最大熵原理,即学习概率模型时,在所有可能的概率分布中,熵最大的模型是最好的模型。

通常用约束条件来确定模型的集合,所以最大熵模型原理也可以表述为:在满足约束条件的模型集合中,选取熵最大的模型。

前面我们知道,若随机变量 X X X 的概率分布是 P ( x i ) P(x_{i}) P(xi),其熵的定义如下:

H ( X ) = − ∑ i = 1 n P ( x i ) l o g P ( x i ) = ∑ i = 1 n P ( x i ) 1 l o g P ( x i ) H(X) =-\sum_{i=1}^{n}{P(x_{i}) logP(x_{i})} =\sum_{i=1}^{n}{P(x_{i}) \frac{1}{logP(x_{i})}} H(X)=i=1nP(xi)logP(xi)=i=1nP(xi)logP(xi)1
最大熵模型 Max Entropy Model

熵满足下列不等式: 0 ≤ H ( X ) ≤ l o g ∣ X ∣ 0 \leq H(X) \leq log \left| X \right| 0H(X)logX

  • ∣ X ∣ |X| X X X X 的取值个数
  • 当且仅当 X X X 的分布是均匀分布时,右边的等号成立;也就是说,当 X X X 服从均匀分布时,熵最大。

直观地看,最大熵原理认为:

  • 要选择概率模型,首先必须满足已有的事实,即约束条件;
  • 在没有更多信息的情况下,那些不确定的部分都是『等可能的』。最大熵原理通过熵的最大化来表示等可能性;『等可能』不易操作,而熵则是一个可优化的指标。

ShowMeAI人工智能数学要点速查(完整版)

  • ShowMeAI 图解AI数学基础(1) | 线性代数与矩阵论
  • ShowMeAI 图解AI数学基础(2) | 概率与统计
  • ShowMeAI 图解AI数学基础(3) | 信息论
  • ShowMeAI 图解AI数学基础(4) | 微积分与最优化

ShowMeAI系列教程精选推荐

  • 大厂技术实现:推荐与广告计算解决方案
  • 大厂技术实现:计算机视觉解决方案
  • 大厂技术实现:自然语言处理行业解决方案
  • 图解Python编程:从入门到精通系列教程
  • 图解数据分析:从入门到精通系列教程
  • 图解AI数学基础:从入门到精通系列教程
  • 图解大数据技术:从入门到精通系列教程
  • 图解机器学习算法:从入门到精通系列教程
  • 机器学习实战:手把手教你玩转机器学习系列
  • 深度学习教程:吴恩达专项课程 · 全套笔记解读
  • 自然语言处理教程:斯坦福CS224n课程 · 课程带学与全套笔记解读
  • 深度学习与计算机视觉教程:斯坦福CS231n · 全套笔记解读

这篇关于图解AI数学基础(3) | 信息论(要点速查清单·完结)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/472170

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

uva 10014 Simple calculations(数学推导)

直接按照题意来推导最后的结果就行了。 开始的时候只做到了第一个推导,第二次没有继续下去。 代码: #include<stdio.h>int main(){int T, n, i;double a, aa, sum, temp, ans;scanf("%d", &T);while(T--){scanf("%d", &n);scanf("%lf", &first);scanf

uva 10025 The ? 1 ? 2 ? ... ? n = k problem(数学)

题意是    ?  1  ?  2  ?  ...  ?  n = k 式子中给k,? 处可以填 + 也可以填 - ,问最小满足条件的n。 e.g k = 12  - 1 + 2 + 3 + 4 + 5 + 6 - 7 = 12 with n = 7。 先给证明,令 S(n) = 1 + 2 + 3 + 4 + 5 + .... + n 暴搜n,搜出当 S(n) >=

uva 11044 Searching for Nessy(小学数学)

题意是给出一个n*m的格子,求出里面有多少个不重合的九宫格。 (rows / 3) * (columns / 3) K.o 代码: #include <stdio.h>int main(){int ncase;scanf("%d", &ncase);while (ncase--){int rows, columns;scanf("%d%d", &rows, &col

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学