-----plsa概率潛在語義分析、lda潛在狄瑞雷克模型
plsa: -------有過擬合問題,就是求d, z, w
plsa由lsa發展過來,而早期lsa的實現主要是通過svd分解。plsa的模型圖如下:
公式中的意義如下:
具體可以參考2010龍星計畫:機器學習中對應的主題模型那一講
在**《googlenews personalization scalable online cf》一文中提級針對使用者聚類,利用相似使用者性資訊計算喜歡的news。其中包含min-hash以及plsi,plsi是model-based 推薦演算法,屬於topic(aspect) model,其在nlp領域中用途很大。
引入:在文字挖掘時,計算文件相似性是很基礎的操作,通常,對文字進行分詞,構建vsm,通過jaccard或者cosin計算距離或者相似性,這是基於corpus的思路,僅僅考慮片語,並未考慮文字的語義資訊。針對下面情況,基於cropus很難處理:
*如果時間回到2023年,馬雲和楊致遠的手還會握在一起嗎
*阿里巴巴集團和雅虎就股權回購一事簽署了最終協議
如果採用基於corpus的jaccard距離等演算法,那麼這兩個文字的完全不相關,但是事實上,馬雲和阿里巴巴集團,楊致遠和雅虎有著密切的聯絡,從語義上看,兩者都和「阿里巴巴"有關係。
此外,另乙個case:
*富士蘋果真好,趕快買
*蘋果四代真好,趕快買
從corpus上來看,兩者非常相似,但是事實上,2個句子從語義上來講,沒有任何關係,乙個是」水果「另乙個是」手機"。
通過上面的例子,差不多也看出來topic model是什麼以及解決什麼問題。
概念:topic model是針對文字隱含主題的建模方法,針對第乙個case,馬雲對應的主題是阿里巴巴,阿里巴巴集團也隱含阿里巴巴主題,這樣兩個文字的主題匹配上,認為他們是相關的,針對第二個,分別針對水果以及手機主題,我們認為他們是不相關的。
究竟什麼是主題?
[接下來參考
搜尋研發部官方部落格中對語義主題的定義
]主題就是乙個概念、乙個方面。它表現為一系列相關的詞,能夠代表這個主題。比如如果是
」阿里巴巴
「主題,那麼」馬雲
「」電子商務
「等詞會很高的頻率出現,而設計到」「
主題,那麼
「馬化騰
」「遊戲
」「qq」
會以較高的頻率出現。如果用數學來描述一下的話,主題就是詞彙表上詞語的條件概率分布,與主題密切相關的詞,條件概率
p(w|z)
越大。主題就像乙個桶,裝了出現頻率很高的詞語,這些詞語和主題有很強的相關性,或者說這些詞語定義了這個主題。同時,乙個詞語,可能來自於這個桶,也可能來自那個桶,比如
「電子商務
」可以來自
「阿里巴巴
」主題,也可以來自「京東
「主題,所以一段文字往往包含多個主題,也就是說,一段文字不只有乙個主題。
上面介紹了主題的概念,我們最為關心的是如何得到這些主題?這就是topic model要解決的問題。
define:d
表示文件,
w表示詞語,
z表示隱含的主題。
其中 p(w|d)表示w在文件d中出現的概率,針對訓練語料,對文字進行分詞,w的頻度除以文件所有詞語的頻度和,可以求出,對於未知資料,model用來計算該value.
p(w|z)表示在給定主題情況下詞語的出現的概率是多少,刻畫詞語和主題的相關程度。
p(z|d)表示文件中每個主題出現的概率
所以主題模型就是 利用大量已知的
p(w|d)詞語-
文件資訊,訓練出來主題-文件
p(z|d)
以及詞語-主題
p(w|z)。
plsa模型:
plsa是一種topic model,它屬於生成模型(不是很理解),給定文件d後,以一定的概率選擇d對應的主題z,然後以一定概率選擇z中的詞語w.
plsa提供了一種模型求解的方法,採用之前介紹的em演算法,em演算法在之前已經介紹,現在不作處理,直接利用em資訊對topic model進行求解。
其中q是z的分布函式,表示在給定引數的情況下(w,d),z的後驗概率。
根據em演算法,我們最後求解:
符合上面約束的情況下,求解最大值,
其中θ代表期望估計的引數,p(wj|zk),p(zk|di),λz,λd
求l(θ)的最大值,需要對各個引數求偏導,令其等於0,
首先求解p(wj|zk)對其求導後,
已知有約束
最後可以求得引數:
基於同樣的方式,求p(zk|di),求偏導後有:
利用約束,可以求得:
em是迭代演算法,所以針對 p(zk|dip(wj|zk)都需要給出乙個初始值,而q(zk|di,wj) 表示在引數已知(上一輪迭代結果)時z的分布,所以每次迭代式q(zk|di,wj) 是利用之前的結果直接算出來。
主題模型的用途:
1.計算文字的相似性,考慮到文字語義,更好的刻畫文字相似性,避免多義詞,同義詞的影響
2.文字聚類,使用者聚類(rs)
3.去除噪音,只保留最重要的主題,更好的刻畫文件
這樣可以看出來描述的完全是同樣的問題,求解p(s|u)=∑zp(s|z)p(z|u),模型引數為p(s|z)?p(z|u),裡面上面的推導過程可以求得。
具體的可以參考:
unsupervised learning by probabilisticlatent semantic analysis
latent semantic models for collaborativefiltering
google news personalization scalable onlinecf
lda:主題模型,概率圖如下:
和plsa不同的是lda中假設了很多先驗分布(
dirichlet
),且一般引數的先驗分布都假設為dirichlet
分布,其原因是共軛分布時先驗概率和後驗概率的形式相同。
機器學習 主題模型 LSA
上圖是乙個term document矩陣,x代表該單詞出現在對應的檔案裡,星號表示該詞出現在查詢 query 中,當使用者輸入查詢 idf in computer based information look up 時,使用者是希望查詢與資訊檢索中idf 文件頻率 相關的網頁,按照精確詞匹配的話,文...
機器學習 潛在語義分析LSA和PLSA
3.plsa 基於概率的lsa 在自然語言處理nlp領域中,詞袋模型 bag of words,bow 是經典的模型之一。它考慮所有的詞彙都裝在乙個袋子中,任何一篇文件中的單詞都可以用袋子中的詞彙來描述。如果有10萬個詞彙,那麼每篇文件都可以表示為乙個10萬維的向量。得到文件向量之後,我們通過可以通...
機器學習之LDA主題模型演算法
2 知道beta分布和dirichlet分布數學含義 3 了解共軛先驗分布 4 知道先驗概率和後驗概率 5 知道引數 值的大小對應的含義 6 掌握lda主題模型的生成過程 7 知道超引數 等值的參考值 8 lda總結 知道lda說的降維代表什麼含義 將一篇分詞後的文章降維為乙個主題分布 即如20個特...