提问人:LemonPi 提问时间:8/31/2023 最后编辑:LemonPi 更新时间:8/31/2023 访问量:45
使用加权样本估计微分熵?
Estimating differential entropy with weighted samples?
问:
我有一个未知的连续概率分布,从中采样成本高,但评估成本低,我想估计它的微分熵。其他一些可能无关紧要的细节是 9 维的,并且分布可能是具有未知数模态的多模态分布。我更喜欢 python 中的解决方案,理想情况下是与 pytorch 兼容的。p(x)
x
目前,我有一些(~1000)个样本,这些样本来自一些采样和评估成本低廉的分布(例如均匀或高斯),我可以很容易地评估每个样本。我大致知道“高”的界限。我评估熵的想法是:x
p(x)
p(x)
- 将 GMM 拟合到加权样本,然后估计 GMM 的熵
- 根据样本的概率复制样本,然后使用 KDE 方法估计样本的熵
x
对于选项 1,我不想指定 GMM 组件的数量。
sklearn
具有具有预期行为的狄利克雷过程高斯混合模型,但没有适合加权样本的 API。这样做有一个开放的拉取请求:https://github.com/scikit-learn/scikit-learn/pull/17130- 这个独立的存储库 https://github.com/ktrapeznikov/dpgmm 可能是我需要的 - 我会在测试后更新这个问题(编辑:它已经过时并引用了 sklearn 内部,因此无法使用)
pomegranate
在相关问题中提到:python 使用协方差最小的高斯混合模型 (GMM) 拟合加权数据似乎具有加权数据拟合,但自 1.0 以来有重大的 API 更改和缺少教程,并且似乎没有一种简单的方法可以不设置组件的数量
对于选项 2,我将使用额外的超参数,因为一些采样的概率非常低。最高值和最低值之间的差值可能是 的因数,因此找到最大公分母并将其用作权重 1(有 1 个副本)可能不可行。我需要一个截止值,即使在这种情况下,我也会显着增加样本集的大小。x
p(x)
10000
p(x)
scipy.stats
具有来自样本的微分熵估计- 由于是 9 维的,手动直方图方法可能不可行
x
- 搜索中显示了很多选项和论文,但很少有实现
选项 1 和选项 2 是否同样有效?我的直觉是,GMM 可以相当适合。您对选项 1 或 2 的实施有什么建议吗?p(x)
答: 暂无答案
评论