作者clliu168 (风)
看板CSSE
标题Re: [问题] 问一个分群的问题
时间Sat Aug 27 13:34:37 2011
※ 引述《Arim (Arim5566)》之铭言:
: 各位板友好
: 小弟最近碰到一个分群的问题
: 首先我有一个term-by-document的matrix
: 假设我有8个term是A B C D E F G H
: 想利用cos similarity对这8个term做分群
: 分群的条件是群内的任两个term的cos similarity都大於等於门槛值
: 例如最後分出来的最大的两群为(A B C D) 以及 (F G H)
: 群内的任意两个term的cos similarity都大於等於门槛值
: 但是目前能想到的方法只有暴力法
: 例如先找跟A的cos similarity大於等於门槛值的term
: 可以先找到(A B C D E)这一个群,这时候就跑回圈检查B C D E的相似度
: 在回圈的过程中发现B跟E不相似,所以要把E或B拿掉,如果把E拿掉的话,
: 会变成(A B C D),之後检查C跟D也符合条件,就输出(A B C D)这一个群,
: 但如果把B拿掉的话,会变成(A C D E),但可能之後的检查过程中发
: 现C跟E又不相似,之後把C拿掉,接着D跟E又不相似,之後把D拿掉,到最後只会
: 剩下(A E),但是(A E)这一群并不是最大的...请问有什麽有效率的演算法有办法
: 解决目前我遇到的这个问题嘛?
: 谢谢指教
How about Agglomerative Hierarchical Clustering?
因为你的问题有 constraints,所以从底下开始 merge 的时候,只有
similarity 超过门槛才做 merge,等於是稍微修改一下 Hierarchical Clustering
演算法。
我没仔细去 trace 过,不过应该是可行
--
My Blog:
http://webapp-tech.blogspot.com/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.188.212
1F:→ Arim:谢谢~只是担心使用此演算法的矩阵size太大会吃光记忆体.. 08/27 15:51
2F:→ Arim:如果有50000个term要做cluster的话记忆体很可观.. 08/27 15:51