KSG互信息估计器的原理详细推导(Kraskov, 2004)

本文介绍了KSG估计器,它是Kraskov在2004年提出的互信息估计器。通过对互信息分解,对H(x)等三项逐个估计。还阐述了KLE估计器用于估计微分熵,以及KSG1、KSG2估计器的原理和推导过程,解决了固定k估计存在的偏差问题。

KSG Estimators

KSG估计器是Kraskov在2004年提出的互信息估计器,其原文过于简略,我参考大量文献对细节进行了补充。原文位置:[https://arxiv.org/pdf/cond-mat/0305641.pdf]

KSG估计的基本方法是首先对互信息进行如下分解 (1)
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)
因此,只需要对H(x)H(x)H(x)等三项进行逐个估计即可。

KLE Esitmator

KLE估计器用于估计微分熵。

利用蒙特卡洛估计有(2)
H[x]=−∫μ(x)logμ(x)dx≈−1Nlogμ^(x) H[x]=-\int\mu(x)log\mu(x)dx \approx -\frac{1}{N}log\hat{\mu}(x) H[x]=μ(x)lo(x)dxN1logμ^(x)
Then the key problem is estimating μ^\hat{\mu}μ^(x).

考虑 一个 ϵ−ball\epsilon-ballϵballxix_ixi为中心, 则 (0,ϵ2)(0,\frac{\epsilon}{2})(0,2ϵ)的范围内有k−1k-1k1个点,(ϵ2,ϵ2+dϵ)(\frac{\epsilon}{2},\frac{\epsilon}{2}+d\epsilon)(2ϵ,2ϵ+dϵ)中间有一个点(the kth neighbor),(ϵ2+dϵ)(\frac{\epsilon}{2}+d\epsilon)(2ϵ+dϵ)之外有剩余的N−k−1N-k-1Nk1​个点,因此首先在除了xix_ixi的N-1个点中挑选k个点,其中一个点位于边缘上,这k个点中剩余选取k-1个点位于最中心范围内,则p(ϵ)p(\epsilon)p(ϵ)xix_ixi周围ϵ−ball\epsilon-ballϵball的概率质量(mass) (3):
pi(ϵ)=(N−1k)(kk−1)(1−pi(ϵ))N−k−1pi(ϵ)k−1dpi(ϵ)1dϵ=(N−1)!(N−k−1)!1!(k−1)!(1−pi(ϵ))N−k−1pi(ϵ)k−1dpi(ϵ)1dϵ \begin{aligned} p_i(\epsilon)=&\tbinom{N-1}{k}\tbinom{k}{k-1}(1-p_i(\epsilon))^{N-k-1}p_i(\epsilon)^{k-1}\frac{dp_i(\epsilon)^1}{d\epsilon}\\ & = \frac{(N-1)!}{(N-k-1)!1!(k-1)!}(1-p_i(\epsilon))^{N-k-1}p_i(\epsilon)^{k-1}\frac{dp_i(\epsilon)^1}{d\epsilon} \end{aligned} pi(ϵ)=(kN1)(k1k)(1pi(ϵ))Nk1pi(ϵ)k1dϵdpi(ϵ)1=(Nk1)!1!(k1)!(N1)!(1pi(ϵ))Nk1pi(ϵ)k1dϵdpi(ϵ)1
u=pi(ϵ)u=p_i(\epsilon)u=pi(ϵ),则du=dpi(ϵ)dϵdu=dp_i(\epsilon)d\epsilondu=dpi(ϵ)dϵ
Beta函数定义为beta(p,q)=∫01xp−1(1−x)q−1dx=(p−1)!(q−1)!(p+q−1)!=p+qpq(p+qp)beta(p,q)=\int_0^{1}x^{p-1}(1-x)^{q-1}dx=\frac{(p-1)!(q-1)!}{(p+q-1)!=\frac{\frac{p+q}{pq}}{\tbinom{p+q}{p}}}beta(p,q)=01xp1(1x)q1dx=(p+q1)!=(pp+q)pqp+q(p1)!(q1)!
因此,验证积分为1: (4)
∫0∞pi(ϵ)dϵ=∫01k(N−1k)μk−1(1−μ)N−k−1dμ=k(N−1k)beta(k,N−k)=k(N−1k)Nk(N−k)1(Nk)=1 \begin{aligned} \int_0^{\infin}p_i(\epsilon)d\epsilon&=\int_0^1k\tbinom{N-1}{k}\mu^{k-1}(1-\mu)^{N-k-1}d\mu=k\tbinom{N-1}{k}beta(k,N-k)\\ &=k\tbinom{N-1}{k}\frac{N}{k(N-k)}\frac{1}{\tbinom{N}{k}}=1 \end{aligned} 0pi(ϵ)dϵ=01k(kN1)μk1(1μ)Nk1dμ=k(kN1)beta(k,Nk)=k(kN1)k(Nk)N(kN)1=1

Lemma 1.

X∼Beta(α,β),E[log(X)]=ψ(α)−ψ(α+β),ψ()=Γ′()Γ()X\sim Beta(\alpha, \beta),\mathbb{E}[log(X)]=\psi(\alpha)-\psi(\alpha+\beta),\psi()=\frac{\Gamma'()}{\Gamma()}XBeta(α,β),E[log(X)]=ψ(α)ψ(α+β),ψ()=Γ()Γ()

证明: (5)
E[log(X)]=∫01B(α,β)−1log(x)xα−1(1−x)β−1dx=B(α,β)−1∫01∂∂αxα−1(1−x)β−1dx \begin{aligned} E[log(X)]&=\int_0^1B(\alpha,\beta)^{-1}log(x)x^{\alpha-1}(1-x)^{\beta-1}dx\\ &=B(\alpha,\beta)^{-1}\int_0^1\frac{\partial}{\partial\alpha}x^{\alpha-1}(1-x)^{\beta-1}dx \end{aligned} E[log(X)]=01B(α,β)1log(x)xα1(1x)β1dx=B(α,β)101αxα1(1x)β1dx
交换微分和积分的顺序(类似于莱布尼兹法则): (6)
E[log(X)]=Beta(α,β)−1∂∂αBeta(α,β)=∂∂αlogB(α,β) E[log(X)]=Beta(\alpha,\beta)^{-1}\frac{\partial}{\partial\alpha}Beta(\alpha,\beta)=\frac{\partial}{\partial\alpha}logB(\alpha,\beta) E[log(X)]=Beta(α,β)1αBeta(α,β)=αlogB(α,β)
展开Beta函数: (7)
=∂∂α[logΓ(α)+logΓ(β)−logΓ(α+β)]=ψ(α)−ψ(α+β) =\frac{\partial}{\partial\alpha}[log\Gamma(\alpha)+log\Gamma(\beta)-log\Gamma(\alpha+\beta)]=\psi(\alpha)-\psi(\alpha+\beta) =α[logΓ(α)+logΓ(β)logΓ(α+β)]=ψ(α)ψ(α+β)

Proposition 2.

E[logpi(ϵ)]=ψ(k)−ψ(N)E[logp_i(\epsilon)]=\psi(k)-\psi(N)E[logpi(ϵ)]=ψ(k)ψ(N)

使用Lemma 1可得。

熵的估计

假设在xix_ixi的邻域范围内,概率密度μ(x)\mu(x)μ(x)是均匀的,则有 (8)
pi(ϵ)≈cdϵdμ(xi) p_i(\epsilon)\approx c_d\epsilon^d\mu(x_i) pi(ϵ)cdϵdμ(xi)
其中,cdc_dcd是n维的单位球体体积,定义为∫∥s∥<1/2ds\int_{\Vert s \Vert<1/2}dss<1/2ds,对于某些范数。

如果是2范数,则n维球体积公式 (9)
Vn=πn2RdΓ(1+n2) V_n=\frac{\pi^{\frac{n}{2}}R^d}{\Gamma(1+\frac{n}{2})} Vn=Γ(1+2n)π2nRd
R=1R=1R=1时即为cdc_dcd,再乘以RdR^dRd

因此,该区域概率密度μ(xi)\mu(x_i)μ(xi)乘以体积cdϵdc_d\epsilon^dcdϵd,得到该区域概率质量pi(ϵ)p_i(\epsilon)pi(ϵ)

根据(8),有 (10)
E[−logμ(Xi)]≈−E[logpi(ϵ)]+logcd+dE[logϵ]=−ϕ(k)+ϕ(N)+logcd+dE[logϵ]≈−ϕ(k)+ϕ(N)+logcd+dN∑i=1Nlogϵi \begin{aligned} E[-log\mu(X_i)]&\approx-E[logp_i(\epsilon)]+logc_d+dE[log\epsilon]\\ &=-\phi(k)+\phi(N)+logc_d+dE[log\epsilon]\\ &\approx-\phi(k)+\phi(N)+logc_d+\frac{d}{N}\sum_{i=1}^{N}log\epsilon_i \end{aligned} E[lo(Xi)]E[logpi(ϵ)]+logcd+dE[logϵ]=ϕ(k)+ϕ(N)+logcd+dE[logϵ]ϕ(k)+ϕ(N)+logcd+Nd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值