使用 Apache Spark MLLib 库,我尝试使用 Gaussian Mixture Model (number cluster =3) 在数据集中查找集群。现在它返回 3 个不同的平均值和标准差值。我试图找出任何两个分布之间是否存在任何重叠。为此,我试图找到分布之间的距离。
KL Div 的标准代码看起来像这样,通常采用参数,两个概率数组对应于两个不同的分布。
现在我的问题是 1。如何更改等式以处理均值和西格玛?2.如何通过查看返回值得出分布重叠的结论?
使用 Apache Spark MLLib 库,我尝试使用 Gaussian Mixture Model (number cluster =3) 在数据集中查找集群。现在它返回 3 个不同的平均值和标准差值。我试图找出任何两个分布之间是否存在任何重叠。为此,我试图找到分布之间的距离。
KL Div 的标准代码看起来像这样,通常采用参数,两个概率数组对应于两个不同的分布。
现在我的问题是 1。如何更改等式以处理均值和西格玛?2.如何通过查看返回值得出分布重叠的结论?
为了完成 Vadim 给出的答案,高斯分布的混合之间也有许多 Kullback-Leibler 散度的近似值。
这些近似值非常容易计算和实现。Hershey & Olsen 的这些论文提出了 7 或 8 种不同的近似,并建议使用变分近似:https ://pdfs.semanticscholar.org/4f8d/eabc58014eae708c3e6ee27114535325067b.pdf (论文标题是:Approximating the Kullback Leibler Divergence Between Gaussian Mixture Models .)
它将为您提供全局混合的相似性度量,您不必逐个组件进行比较。