【Topic Model】主題模型之機率潛在語義分析(Probabilistic Latent Semantic Analysis)php
感受LDA在實踐中的優點其實不大,學好pLSA纔是重點html
閱讀筆記算法
2008年的時候,pLSA已經被新興的LDA掩蓋了。vim
LDA是pLSA的generalization:LDA的hyperparameter設爲特定值的時候,就specialize成pLSA了。網絡
從工程應用價值的角度看,這個數學方法的generalization,容許咱們用一個訓練好的模型解釋任何一段文本中的語義。而pLSA只能理解訓練文本中的語義。app
LSA主要使用了線性代數中奇異值分解的方法,可是並無嚴格的機率推導,因爲文本文檔的維度每每很高,若是在主題聚類中單純的使用奇異值分解計算複雜度會很高,使用機率推導可使用一些優化迭代算法來求解。機器學習
Thomas Hofmann 於1998年根據似然原理定義了生成模型並由此提出了機率潛在語義分析模型(Probabilistic Latent Semantic Analysis),簡稱PLSA。ide
PLSA屬於機率圖模型中的生成模型,相關的模型還有語言模型中的一元模型(Unigram Model)、混合一元模型(Mixture of Unigrams Model)等。函數
首先對文集進行設定。假設文集的詞典中共有V個詞,詞典向量爲,假設詞是獨立同分布的(一袋子詞),即,學習
一篇文章能夠表示爲,其中表示第i個詞在當前文檔中出現的次數。(無須考慮順序性)
-- 多項分佈 --
一元模型中假設每篇文檔的詞都獨立聽從於多項式分佈,即假設詞典中第i個詞在文檔中出現的次數聽從多項式分佈,
即。打個比方來講假設咱們有一個V面的骰子,骰子第i面向上的機率爲,每擲一次骰子獲得一個詞,擲M次後便獲得一篇由M個詞組成的文檔(文檔的詞之間是獨立同分布的)。根據多項式分佈能夠知道文檔的機率爲:
(a)即是一元語言模型的機率圖模型,
(b)中是PLSA的機率圖模型。
PLSA模型中與一元模型中假設:詞聽從多項式分佈不一樣。
PLSA模型中引入了潛層變量做爲主題變量,即假設當前文集由K個主題構成。
PLSA模型的生成過程以下:
固然每一個模型都對文集有必定的假設,PLSA作了以下的假設:
PLSA最初是根據 視面模型(Aspect Model)提出的,
舉個例子來講:X表示你口袋裏有沒有2塊錢,Z表示你能不能買一隻筆,Y表示你能不能參加考試。
PLSA最終是要求得每一個並元對應主題的機率,即。下面咱們來推導公式。PLSA使用極大似然估計(MLE)。
(如下高能)
首先求解隱變量z的對數似然函數:
因爲PLSA模型的假設1,因此有:
其中表示第n篇文檔中的第m個詞出現的次數。
又因爲在已知變量z的狀況下d和w是獨立的,可得:
From: http://blog.csdn.net/yangliuy/article/details/8330640
爲什麼 have to EM, 以下表述的更好:
注意這是一個關於和的函數,一共有N*K + M*K個自變量(注意這裏M表示term的總數,通常文獻習慣用V表示),
若是直接對這些自變量求偏導數,咱們會發現因爲自變量包含在對數和中,這個方程的求解很困難。
所以對於這樣的包含「隱含變量」或者「缺失數據」的機率模型參數估計問題,咱們採用EM算法。
PLSA使用EM算法求解極大似然,EM算法是一種機器學習中很是經常使用的迭代近似算法。通常用來求解獲得極大似然或極大後驗的參數值。
E步指的是在當前參數的狀況下隱變量的後驗機率(Expectation),M步指的是求解獲得極大似然或極大後驗的參數值(Maximization)。
首先計算上面似然函數的指望值:
上式有兩個限制條件:
根據拉格朗日乘數法進行極值推導,分別對兩個約束設定兩個參數,:
在上式中分別對變量和求偏導獲得:
與以前的限制條件聯立獲得:
因而便獲得了M步求最大化的等式。
PLSA的EM步驟即可以化簡以下:
PLSA的問題即是在變量中含有文檔d這個變量,在模型上受限使其很難應用到其餘文檔上去。
以後David Blei提出的LDA(Latent Dirichlet Allocation)即是給文集設定了兩個超參來省略掉文檔這個固定變量。
代碼:http://hpc.cs.tsinghua.edu.cn/research/cluster/plsa/index.html
Application
PLSA may be used in a discriminative setting, via Fisher kernels.
PLSA has applications in information retrieval and filtering, natural language processing, machine learning from text, and related areas.
It is reported that the aspect model used in the probabilistic latent semantic analysis has severe overfitting problems.