更改

跳到导航 跳到搜索
添加729字节 、 2024年6月2日 (星期日)
第331行: 第331行:     
上图展示了几种马尔科夫链的转移概率矩阵,其中(a)是确定性高,简并性低,所以整体eff比较高。(b)则是确定性和简并性都比较高,所以eff是0。(c)相比于(a)确定性更低,(d)也是确定性和简并性都较高导致eff较低,它们都可以通过同一种粗粒化策略(将前4个状态合并为一个状态)来得到(e)。此时(e)确定性很高,无简并性,所以(e)的eff比(c)(d)要高。
 
上图展示了几种马尔科夫链的转移概率矩阵,其中(a)是确定性高,简并性低,所以整体eff比较高。(b)则是确定性和简并性都比较高,所以eff是0。(c)相比于(a)确定性更低,(d)也是确定性和简并性都较高导致eff较低,它们都可以通过同一种粗粒化策略(将前4个状态合并为一个状态)来得到(e)。此时(e)确定性很高,无简并性,所以(e)的eff比(c)(d)要高。
 +
 +
==计算EI的源代码==
 +
 +
这是计算一个马尔科夫概率转移矩阵的Python源代码。输入tpm为一个满足行归一化条件的马尔科夫概率转移矩阵,返回的ei_all为其EI值。
 +
python:<syntaxhighlight lang="python3">
 +
def tpm_ei(tpm, log_base = 2):
 +
  # marginal distribution of y given x ~ Unifrom Dist
 +
  puy = tpm.sum(axis=0)
 +
  n = tpm.shape[0]
 +
  # replace 0 to a small positive number to avoid log error
 +
  eps = 1E-10
 +
  tpm_e = np.where(tpm==0, eps, tpm)
 +
  puy_e = np.where(tpm==0, eps, puy)
 +
 
 +
  # calculate EI of specific x
 +
  ei_x = (np.log2(n * tpm_e / puy_e) / np.log2(log_base)  * tpm).sum(axis=1)
 +
 
 +
  # calculate total EI
 +
  ei_all = ei_x.mean()
 +
  return ei_all
 +
</syntaxhighlight>
    
=连续系统的EI=
 
=连续系统的EI=
346

个编辑

导航菜单