我可以看到 Kullback-Leibler 与 Kolmogorov-Smirnov 距离度量之间存在很多形式上的差异。但是,两者都用于测量分布之间的距离。
- 是否存在应该使用一个而不是另一个的典型情况?
- 这样做的理由是什么?
我可以看到 Kullback-Leibler 与 Kolmogorov-Smirnov 距离度量之间存在很多形式上的差异。但是,两者都用于测量分布之间的距离。
例如,KL 散度通常用于信息论设置,甚至贝叶斯设置,以测量应用推理前后分布之间的信息变化。它不是典型(度量)意义上的距离,因为缺乏对称性和三角形不等式,因此它用于方向性有意义的地方。
KS 距离通常用于非参数测试的上下文中。事实上,我很少看到它用作通用的“分布之间的距离”,其中距离、Jensen-Shannon 距离和其他距离更常见。
另一种以更通俗的方式陈述与先前答案相同的事情的方式:
KL Divergence - 实际上提供了衡量两个分布彼此之间差异有多大的度量。正如前面的答案所提到的,这个度量不是一个合适的距离度量,因为它不是对称的。即分布 A 和 B 之间的距离与分布 B 和 A 之间的距离不同。
Kolmogorov-Smirnov 检验 - 这是一个评估指标,它着眼于测试分布的累积分布相对于参考分布之间的最大分离。此外,您可以使用此度量标准,就像针对 Kolmogorov 分布的 z 分数一样,对测试分布是否与参考分布相同进行假设检验。该度量可以用作距离函数,因为它是对称的。即 A 的 CDF 与 B 的 CDF 之间的最大分离与 B 的 CDF 与 A 的 CDF 之间的最大分离相同。
KL 散度上限为 Kolmogrov 距离和总变差,这意味着如果两个分布具有小的 KL 散度,则遵循有一个小的总变化,随后有一个小的 Kolmogrov 距离(按此顺序)。
另请查看本文以获取更多信息https://math.hmc.edu/su/wp-content/uploads/sites/10/2019/06/ON-CHOOSING-AND-BOUNDING-PROBABILITY.pdf
KS 测试和 KL 散度测试都用于找出两个分布之间的差异 KS 测试是基于统计的,KL 散度是基于信息论的 但是 KL 和 KS 测试之间的一个主要差异,以及为什么 KL 在机器学习中更受欢迎是因为 KL 散度的公式是可微的。为了解决机器学习中的优化问题,我们需要一个可微的函数。在机器学习的上下文中,KL_dist(P||Q) 通常被称为如果使用 Q 而不是 P 所获得的信息增益
链接: https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test