對比傳統K-Means等聚類演算法,LDA主題模型在文本聚類上有何優缺點?
01-24
本人大三,最近在跟導師做自然語言相關研究,由於剛剛入門,接觸並簡單測試了一下LDA,感覺不是特別清楚,LDA是不是就是把文本按主題聚類?其對比其他傳統聚類演算法有何優缺點?
慢,非常慢...
這裡有一篇微博上的討論,大家對於微博上關於LDA和PLSA的討論,推薦給題主看一下lda和plsa的區別請參見 @紀路 的答案 我只談plsa和傳統演算法的關係
當我們談到plsa的時候 我們默認了兩個假設:
1 一篇文本包含多個主題2 每個主題生成各種詞語的概率服從multinomial分布傳統kmeans演算法首先違反第二個假設 假定了詞語向量服從多元高斯分布 其次 想要模擬第一個假設 我只想到一個非常hack的方法 將每個詞語和文檔id對當做一個對象 把這個文檔中的其他詞語當做特徵
通常我們說的nb不是一個聚類演算法 但是在plsa的那篇開創性論文中已經提到了一種nb mixture演算法 這種演算法和plsa的唯一區別就是違反了第一個假設
最後 違反第一個假設沒什麼大不了的 只是你得到的類和plsa的類的意義不同罷了題主題目說的分類 題干里又變成了聚類 因為題主是剛接觸 所以有很多概念上的不清 把接觸到的東西放在一起拿出來問 但其實這是很不適合的 不適合作答
到底想問分類還是聚類說是聚類吧
用樸素貝葉斯做聚類?我不太清楚這個的意義,一般說起樸素貝葉斯有兩個意思,一是一種假設,假設特徵是條件獨立的,一個特指樸素貝葉斯分類器。條件獨立的假設是一種簡化問題的常見方法,可以用在任何概率模型中。說是分類:
最後有一句「其對比其他傳統聚類演算法有何優缺點?」寫題目時請三思,如果自己沒有搞清想問什麼,別人更難看懂,自然也得不到想要的答案。其實我覺得可以用層次聚類代替k-means聚類,只不過字典變得非常大時,pca降維會爆內存。我現在在搜狗語料庫做聚類(PCA降維+層次聚類),精度在80%左右,不知道用PLSA這樣的演算法聚類精度能在多少。
推薦閱讀:
※海量數據的聚類通常如何做?
※哪種聚類演算法可以不需要指定聚類的個數,而且可以生成聚類的規則?
※如何根據每個策略的 daily return 對不同策略進行最為有效的分類?