我是一名数据挖掘初学者,我正试图首先制定一种解决我正在解决的聚类问题的方法 .
假设我们有x个编写器,每个编写器都有一个特定的样式(使用独特的单词等) . 他们每个人都写了很多短文,比方说是ha句 . 我们从作者那里收集了数百个这样的haikus并尝试从haikus中理解,使用上下文分析,我们首先创作了多少作者(在一场大战之后,我们以某种方式丢失了有多少作者的记录!)
让我们假设我为每个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,我想 .
有没有人对如何实施第二部分有任何想法或建议?
1 回答
让我们用贝叶斯统计量来制定一种方法 .
在作者人数上选择
P(K)
,K
. 例如,您可能会说K ~ Geometric(p)
并且支持{1, 2, ... }
,其中E[K] = 1 / p
是您在查看任何着作之前所期望的作者数量 .选择一个似然函数
L(D|K)
,在给定固定数量的作者K
的情况下为写入数据分配可能性D
. 例如,您可能会说L(D|K)
是期望最大化找到的k分量GMM中的总误差量 . 要真正彻底,你可以从数据中学习L(D|K)
:互联网充满了已知作者的haikus .找到最大化后验概率的
K
的值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)
;也就是说,它与L(D|K)P(K)
成正比 .