我有一个简单的(可能是愚蠢的)问题。我想在两个文件上计算Kullback-Leibler分歧。它需要每个文件的概率分布。
我不知道如何计算每个文件的概率。任何简单的回答与外行的例子将非常感激。
假设我们有两个文件:
1 - cross validated answers are good
2 - simply validated answers are nice
(文件的措辞只是bla bla给你一个例子)
我们如何计算这些文件的概率?
假设我们再添加一个文档:
3 - simply cross is not good answer
如果我们添加另一份文件,那么它会如何影响概率分布?
由于
答案 0 :(得分:1)
如果您将文档添加到文档集合中,除非该文档与文档集合完全相同,分发中的单词或术语的分布将更改以适应新添加的单词。问题出现了:“这真的是你想用第三个文件做的吗?”
Kullback-Leibler divergence衡量两种分布的差异。你们两个发行版是什么?
如果您的分布是文档中随机选择某个单词的概率,那么您具有概率值的空间就是构成文档的单词集合。对于前两个文档(我假设这是您的整个集合),您可以构建一个包含7个术语的文字空间。从文档中随机选择单词作为单词包的概率是:
doc 1 doc 2 doc 3 (lem)
answers 0.2 0.2 0.0 0.2
are 0.2 0.2 0.0 0.2
cross 0.2 0.0 .33 0.2
good 0.2 0.0 .33 0.2
nice 0.0 0.2 0.0 0.0
simply 0.0 0.2 .33 0.2
validated 0.2 0.2 0.0 0.0
[计算为术语 - 频率除以文档长度。请注意,新文档的单词形式与doc 1和doc 2中的单词不同。(lem)列将是概率,如果你将对(或是/)和同义词的词汇或词义化为(回答/答复)。]
在场景中引入第三个文档,您可能想要对Kullback-Liebler Divergence执行的典型活动是将新文档或文档集与已知文档或文档集进行比较。
计算Kullback-Liebler散度D(P||Q)
会产生一个值,表示使用替换分布P
捕获真实分布Q
的程度。因此,Q1
可以是文档1中的单词分布,而Q2
可以是文档2中单词的分布。计算KL分歧,P
是新单词中的单词分布文档(文档3),您可以测量新文档与文档1的差异程度以及它与文档2的差异。使用此信息,您可以说新文档与您的已知文档/集合的相似程度。< / p>