我是一名数据挖掘初学者,我正在尝试首先制定解决我正在解决的群集问题的方法。
假设我们有x个编写器,每个编写器都有一个特定的样式(使用唯一的单词等)。他们每个人都写了很多短文,比方说是ha句。我们从作者那里收集了数百个这样的haikus并尝试从haikus中理解,使用上下文分析,我们首先创作了多少作者(在一场大战之后,我们在某种程度上丢失了有多少作者的记录!)< / p>
假设我为每个haikus创建了一个单词哈希表。然后我可以编写一个距离函数来查看每个向量之间相似单词的重复。这可以让我实现某种k均值聚类功能。
我现在的问题是,概率地测量聚类的数量,即作者的数量,这将给我最佳拟合。
类似的东西:
number of authors | probability
1, 0.05
2, 0.1
3, 0.2
4, 0.4
5, 0.1
6, 0.05
7, 0.03
8, 0.01
这里唯一的限制是当作者(或群集)的数量变为无穷大时,我认为概率的西格玛应该收敛到1。
有没有人对如何实施第二部分有任何想法或建议?
答案 0 :(得分:1)
让我们使用贝叶斯统计数据制定一种方法。
在作者数量P(K)
上选择先前的K
。例如,您可以说K ~ Geometric(p)
支持{1, 2, ... }
,其中E[K] = 1 / p
是您在查看任何着作之前所期望的作者数量。
选择一个似然函数L(D|K)
,在给定固定数量的作者D
的情况下为写作数据K
分配可能性。例如,您可能会说L(D|K)
是通过期望最大化找到的k分量GMM中的总误差量。要真正彻底,你可以从数据中学习L(D|K)
:互联网上充满了已知作者的ha句。
找出最大化后验概率K
的{{1}}的值 - 您对作者数量的最佳猜测。请注意,由于P(K|D)
,P(K|D) = P(D|K)P(K)/P(D)
是常量,P(D)
与L(D|K)
成正比,因此您有:
P(D|K)
关于您的问题,表格中的第一列对应max { P(K|D) | K = 1, 2, ... } = max { L(D|K)P(K) | K = 1, 2, ... }
,第二列对应标准化K
;也就是说,它与P(K|D)
成比例。