图解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

相关文章

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI集成DeepSeek实现流式输出的操作方法

《SpringAI集成DeepSeek实现流式输出的操作方法》本文介绍了如何在SpringBoot中使用Sse(Server-SentEvents)技术实现流式输出,后端使用SpringMVC中的S... 目录一、后端代码二、前端代码三、运行项目小天有话说题外话参考资料前面一篇文章我们实现了《Spring

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

SpringBoot整合DeepSeek实现AI对话功能

《SpringBoot整合DeepSeek实现AI对话功能》本文介绍了如何在SpringBoot项目中整合DeepSeekAPI和本地私有化部署DeepSeekR1模型,通过SpringAI框架简化了... 目录Spring AI版本依赖整合DeepSeek API key整合本地化部署的DeepSeek

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言