关于独立主成分分析(ICA)的学习

本文深入探讨信息论的基础概念,包括熵、KL散度和互信息,并详细介绍了独立主成分分析(ICA)的基本原理,如最大似然估计、FastICA算法,以及非高斯性的最大化方法。通过实例和相关度量,揭示了ICA在信号分离中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一直搞不清ICA里面的独立性和信息论里面两个分布相关性之间的关系,在这里重新学习一下
参考:《Machine Learning:A Probabilistic Perspective》 by Kevin P. Murphy

一、关于信息论

Information theory is concerned with representing data in a compact fashion (a task known as data compression or source coding), as well as with transmitting and sorting it in a way that is robust to errors (a task known as error correction or channel coding). ”

1、熵(Entropy)

随机变量 X X X具有分布 p p p,则它的熵写作: H ( X ) \mathbb H(X) H(X),或者, H ( p ) \mathbb H(p) H(p),用于衡量不确定性。

更具体地,对于离散变量 X X X,其有 K K K个可能的状态,则它的熵定义为:

H ( X ) = △ − ∑ k = 1 K p ( X = k ) log ⁡ 2 p ( X = k ) \mathbb H(X) \overset{\underset{\mathrm{\triangle}}{}}{=}-\sum_{k=1}^K p(X=k)\log_2p(X=k) H(X)=k=1Kp(X=k)log2p(X=k)

其中, log ⁡ 2 \log_2 log2可以认为是二进制编码,上式求和过程可认为是求取平均二进制编码位数

例: X = { 1 , … , 5 } X=\{1,\dots,5\} X={ 1,,5},其对应的分布为 p = [ 0.25 , 0.25 , 0.2 , 0.15 , 0.15 ] p=[0.25,0.25,0.2,0.15,0.15] p=[0.25,0.25,0.2,0.15,0.15],则可求得 H = 2.2855 H=2.2855 H=2.2855
可证明当 X X X满足均匀分布时,熵得到最大化,即 p ( x = k ) = 1 / K p(x=k)=1/K p(x=k)=1/K,此时熵值为 H ( X ) = log ⁡ 2 K \mathbb H(X)=\log_2K H(X)=log2K。反之,若 X X X的分布为delta-function,此时熵最小,熵值为0。

  • 对于二元随机变量,即 X ∈ { 0 , 1 } X\in\{0,1\} X{ 0,1},其概率分布可写作 p ( X = 1 ) = θ p(X=1)=\theta p(X=1)=θ p ( X = 0 ) = 1 − θ p(X=0)=1-\theta p(X=0)=1θ,则熵写作:
    H ( X ) \mathbb H(X) H(X)
    = − [ p ( X = 1 ) log ⁡ 2 p ( X = 1 ) + p ( X = 0 ) log ⁡ 2 p ( X = 0 ) ] =-[p(X=1)\log_2p(X=1)+p(X=0)\log_2p(X=0)] =[p(X=1)log2p(X=1)+p(X=0)log2p(X=0)]
    = − [ θ log ⁡ 2 θ + ( 1 − θ ) log ⁡ 2 ( 1 − θ ) ] =-[\theta\log_2\theta+(1-\theta)\log_2(1-\theta)] =[θlog2θ+(1θ)log2(1θ)]

该熵值随 θ \theta θ变化的曲线图如下:

在这里插入图片描述
可见,当两个状态概率相同的时候(均匀分布),熵值最大

2、KL 散度(Kullback-Leibler divergence)

KL散度用于度量两个分布之间的不相似性,对于分布 p p p q q q,KL散度定义为:

K L ( p ∣ ∣ q ) = △ ∑ k = 1 K p k log ⁡ p k q k \mathbb K\mathbb L(p||q) \overset{\underset{\mathrm{\triangle}}{}}{=}\sum_{k=1}^K p_k \log \frac{p_k}{q_k} KL(pq)=k=1Kpklogqkpk

也可写作:

K L ( p ∣ ∣ q ) = ∑ k p k log ⁡ p k − ∑ k p k log ⁡ q k = − H ( p ) + H ( p , q ) \mathbb K\mathbb L(p||q) = \sum_k p_k \log p_k-\sum_k p_k \log q_k=-\mathbb H(p)+\mathbb H(p,q) KL(pq)=kpklogpkkpklogqk=H(p)+H(p,q)

其中, H ( p , q ) \mathbb H(p,q) H(p,q)被称为交叉熵(cross entropy):

H ( p , q ) = △ − ∑ k p k log ⁡ q k \mathbb H(p,q) \overset{\underset{\mathrm{\triangle}}{}}{=} -\sum_k p_k \log q_k H(p,q)=kpklogqk

可以理解为将码本 q q q按照概率分布 p p p编码所需要的平均编码位数。
而KL散度则可以理解为采用真实分布 p p p作为码本和采用另一个分布 q q q作为码本之间的差距。

  • Information inequality K L ( p ∣ ∣ q ) ≥ 0 \mathbb K\mathbb L(p||q)\geq0
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值