首页 > 解决方案 > 在python中计算连续值的熵

问题描述

我想计算两个矩阵(输入)的熵。我希望输出熵仍然使用矩阵形状。

例如::

import numpy as np
def entropy(x, y):
   probs = np.mean((x, y), axis=0)  
   p = probs.astype(np.float32) 
   return (-p * np.log2(p))


inp1 = np.random.random([5,4])
inp2 = np.random.random([5,4])

inp1_flatt = inp1.reshape([-1])
inp2_flatt = inp2.reshape([-1])


combine_out = entropy(inp1_flatt, inp2_flatt).reshape([5,4])

entropy()函数中,我认为我在计算后验概率(probs)时遇到了问题。

如何以正确的方式计算后验概率?

编辑::

这两个输入假设是神经网络的回归输出。我想保存他们的形状。由于熵的输入(神经网络的输出)的形状为 [5,4],我希望熵的输出形状为 [5,4]。我想做一些事情,比如使用熵组合源(连续值的联合熵方法

标签: pythonpython-3.xentropy

解决方案


推荐阅读