Home Articles

基于相似性聚类非结构化文本并计算最佳聚类数

Asked
Viewed 135 times
2

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

假设我们有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 Answer

  • 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) 成正比 .

Related