本文主要是介绍【AI算法岗面试八股面经【超全整理】——信息论】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
AI算法岗面试八股面经【超全整理】
- 概率论
- 信息论
- 机器学习
- CV
- NLP
目录
- 1、自信息、信息熵
- 2、相对熵(KL散度)、交叉熵
- 3、联合熵与条件熵
- 4、互信息
1、自信息、信息熵
自信息
概率与信息量的关系:概率越大的事件,提供的信息量越小;概率越小的事件,信息量越大
信息量计算公式:
I ( x ) = − log p ( x ) I(x)=-\log p(x) I(x)=−logp(x)
对数底与信息的单位:
- 以2为底:bit(binary unit)
- 以e为底:nat(nature unit)
- 以10为底:Hart(Hartley)
熵(信息熵)
熵用来描述一个事件的不确定性,表示某事件所有可能发生的情况的信息量的期望值(所有可能情况信息量的均值)
设事件X共有n种可能,发生 x i x_i xi的概率为 p ( x i ) p(x_i) p(xi),那么该事件熵的计算公式:
H ( x ) = − ∑ i = 1 n p ( x i ) log ( p ( x i ) ) = E ( log 1 p ( x i ) ) H(x)=-\sum_{i=1}^{n}p(x_i)\log (p(x_i))=E(\log \frac{1}{p(x_i)}) H(x)=−i=1∑np(xi)log(p(xi))=E(logp(xi)1)
基本性质:
- 非负性: H ( X ) ≥ 0 H(X)\geq 0 H(X)≥0,当某事件是确定发生的事情,则其熵为0(太阳从东边升起的信息熵为0)
- 某随机变量每次发生的情况越不确定(不确定性越大),则其熵值越大,此时,该变量的分布也越混乱
- 当某事件对每种可能发生情况的概率是相等时,则其熵值最大
2、相对熵(KL散度)、交叉熵
相对熵(散度KL)
如果我们对于同一个随机变量 x 有两个单独的概率分布 P ( X ) P(X) P(X)和 Q ( X ) Q(X) Q(X),我们可以使用 KL 散度来衡量这两个分布的差异。
在机器学习中,P 往往用来表示样本的真实分布,Q 用来表示所预测的分布,那么 KL 散度是可以计算两个分布的差异,也是是 Loss 损失值。
D K L ( p ∣ ∣ q ) = ∑ i − 1 n [ p ( x i ) log ( p ( x i ) ) − p ( x i ) log ( q ( x i ) ) ] D_{KL}(p||q)=\sum_{i-1}^{n}[p(x_i)\log (p(x_i))-p(x_i)\log (q(x_i))] DKL(p∣∣q)=i−1∑n[p(xi)log(p(xi))−p(xi)log(q(xi))]
D K L ( p ∣ ∣ q ) = ∑ i − 1 n p ( x i ) log ( 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−1∑np(xi)log(q(xi)p(xi))
- KL散度的值始终大于0,并且当且仅当两分布相同时,KL散度等于0,当 P ( X ) P(X) P(X)和 Q ( X ) Q(X) Q(X)的相似度越高,KL距离越小
- KL散度不对称,即P到Q的距离,不等于Q到P的距离
交叉熵
对 D K L ( p ∣ ∣ q ) D_{KL}(p||q) DKL(p∣∣q)公式进行变形可以得到
D K L ( p ∣ ∣ q ) = ∑ i − 1 n [ p ( x i ) log ( p ( x i ) ) − p ( x i ) log ( q ( x i ) ) ] D_{KL}(p||q)=\sum_{i-1}^{n}[p(x_i)\log (p(x_i))-p(x_i)\log (q(x_i))] DKL(p∣∣q)=i−1∑n[p(xi)log(p(xi))−p(xi)log(q(xi))]
D K L ( p ∣ ∣ q ) = ∑ i − 1 n − p ( x i ) log ( q ( x i ) ) − H ( X ) D_{KL}(p||q)=\sum_{i-1}^{n}-p(x_i)\log (q(x_i))-H(X) DKL(p∣∣q)=i−1∑n−p(xi)log(q(xi))−H(X)
加入需要拟合的对象的分布是固定的(比如针对某一特定的数据集),那么 H ( X ) H(X) H(X)就应该是一个定值,所以优化时可以忽略这一项的影响,仅仅优化前一项,而交叉熵即为去掉原始事件信息熵的KL散度:
H ( p , q ) = − ∑ i − 1 n p ( x i ) log ( q ( x i ) ) H(p,q)=-\sum_{i-1}^{n}p(x_i)\log (q(x_i)) H(p,q)=−i−1∑np(xi)log(q(xi))
3、联合熵与条件熵
联合熵
联合熵表示多个随机变量联合分布的不确定性。
计算公式:
H ( X , Y ) = − ∑ x ∈ X ∑ y ∈ Y p ( x , y ) log p ( x , y ) H(X,Y)=-\sum_{x\in X} \sum_{y\in Y}p(x,y)\log p(x,y) H(X,Y)=−x∈X∑y∈Y∑p(x,y)logp(x,y)
H ( X , Y ) ≤ H ( X ) + H ( Y ) H(X,Y) \leq H(X)+H(Y) H(X,Y)≤H(X)+H(Y),即联合熵不一定等于两个随机变量的信息熵之和。理解:观察X会获得Y一定的信息。
条件熵
两个随机变量,当知道Y时,X的平均不确定性称为条件熵。
计算公式:
H ( X ∣ Y ) = − ∑ x ∈ X ∑ y ∈ Y p ( x , y ) log p ( x ∣ y ) H(X|Y)=-\sum_{x\in X} \sum_{y\in Y}p(x,y)\log p(x|y) H(X∣Y)=−x∈X∑y∈Y∑p(x,y)logp(x∣y)
条件熵和联合熵满足链式法则
H ( X , Y ) = H ( Y ) + H ( X ∣ Y ) = H ( X ) + H ( Y ∣ X ) H(X,Y)=H(Y)+H(X|Y)=H(X)+H(Y|X) H(X,Y)=H(Y)+H(X∣Y)=H(X)+H(Y∣X)
4、互信息
事物是普遍联系的,随机变量也存在相互关系,互信息可以用来刻画随机变量的相关程度。
- 单独观察X得到的信息量是 H ( X ) H(X) H(X)
- 已知Y后,X的信息量变为 H ( X ∣ Y ) H(X|Y) H(X∣Y)
- 了解Y后,X的信息量减少了 H ( X ) − H ( X ∣ Y ) H(X)-H(X|Y) H(X)−H(X∣Y)
定义:离散型随机变量X与Y之间的互信息 I ( X ; Y ) I(X;Y) I(X;Y)为
I ( X ; Y ) = H ( X ) − H ( X ∣ Y ) = ∑ x ∈ X ∑ y ∈ Y p ( x , y ) log p ( x , y ) p ( x ) p ( y ) I(X;Y)=H(X)-H(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)=H(X)−H(X∣Y)=x∈X∑y∈Y∑p(x,y)logp(x)p(y)p(x,y)
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)
这篇关于【AI算法岗面试八股面经【超全整理】——信息论】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!