2

我是一名数据挖掘初学者,正在尝试首先制定一种解决我正在解决的聚类问题的方法。

假设我们有 x 个作家,每个作家都有特定的风格(使用独特的词等)。他们每个人都写了多篇短文,比如说俳句。我们从作者那里收集了数百个俳句,并尝试从俳句中了解,使用上下文分析,我们首先有多少作者(我们不知何故丢失了有多少作者的记录,在一场大战之后!)

假设我为这些俳句中的每一个创建了一个单词哈希表。然后我可以编写一个距离函数来查看每个向量之间相似词的重复。这可以让我实现某种 k-mean 聚类功能。

我现在的问题是概率性地测量集群的数量,即作者的数量,这将给我最佳拟合。

就像是:

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

这里唯一的限制是,随着作者(或集群)的数量趋于无穷大,我认为概率的 sigma 应该收敛到 1。

有人对如何实施第二部分有任何想法或建议吗?

4

1 回答 1

1

让我们制定一种使用贝叶斯统计的方法。

  1. P(K)选择作者数量的先验, K。例如,您可能会K ~ Geometric(p)支持说在看到任何著作之前您期望的作者数量{1, 2, ... }在哪里。E[K] = 1 / p

  2. 选择一个似然函数,在给定固定数量的作者的情况下L(D|K)为写作数据分配一个可能性。例如,您可能会说是通过期望最大化找到的 k 分量 GMM 中的误差总量。要真正彻底,您可以从数据中学习:互联网上充斥着知名作者的俳句。DKL(D|K)L(D|K)

  3. 找到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,第二列对应于 normalized P(K|D);也就是说,它与 成正比L(D|K)P(K)

于 2014-08-13T22:00:07.917 回答