擅长:python、mysql、java
<p>也可以使用多元student t分布的微分熵,其中dim是维度,dof是自由度,cmtx是协方差</p>
<pre><code>import numpy as np
import scipy.special as sc
def compute_true_entropy(dim=1, dof=3, std=False):
cmtx = np.identity(dim)
B0 = 0.5*np.log(np.linalg.det(cmtx))
B1 = sc.gamma((dim+dof)/2)/((sc.gamma(dof/2))*((np.pi*dof)**(dim/2)))
B2 = ((dof+dim)/2)*(sc.digamma((dof+dim)/2) - sc.digamma((dof)/2))
entropy = B0 - np.log(B1) + B2
return entropy
</code></pre>