天天看點

第14章 機率圖模型第14章 機率圖模型

第14章 機率圖模型

14.1 隐馬爾可夫模型

機率模型(probabilistic model)提供了一種描述架構,将學習任務歸結于計算變量的機率分布。

在機率模型中,利用已知變量推測未知變量的分布稱為推斷,其核心是如何基于可觀測變量推測出未知變量的條件分布。

隐馬爾可夫模型(Hidden Markov Model, HMM)是結構最簡單的動态貝葉斯網(dynamic Bayesian network),主要用于時序資料模組化。

馬爾科夫鍊(Markov chain):系統下一刻的狀态僅由目前狀态決定,不依賴于以往的任何狀态。

隐馬爾可夫模型中的變量可分為兩組。第一組是狀态變量 { y 1 , y 2 , … , y n } \left\{ y_{1},y_{2},\ldots,y_{n} \right\} {y1​,y2​,…,yn​},其中 y i ∈ Y y_{i}\mathcal{\in Y} yi​∈Y表示第 i i i時刻的系統狀态。第二組是觀測變量 { x 1 , x 2 , … , x n } \left\{ x_{1},x_{2},\ldots,x_{n} \right\} {x1​,x2​,…,xn​},其中 x i ∈ X x_{i}\mathcal{\in X} xi​∈X表示第 i i i時刻的觀測值。系統多狀态之間的轉換為 { s 1 , s 2 , … , s N } \left\{ s_{1},s_{2},\ldots,s_{N} \right\} {s1​,s2​,…,sN​},假定其取值範圍 X = { o 1 , o 2 , … , o M } \mathcal{X} = \left\{ o_{1},o_{2},\ldots,o_{M} \right\} X={o1​,o2​,…,oM​},所有變量的聯合機率分布為

P ( x 1 , y 1 , … , x n , y n ) = P ( x 1 ∣ y 1 ) ∏ i = 2 n P ( y i ∣ y i − 1 ) P ( x i ∣ y i ) P\left( x_{1},y_{1},\ldots,x_{n},y_{n} \right) = P\left( x_{1} \middle| y_{1} \right)\prod_{i = 2}^{n}{P\left( y_{i} \middle| y_{i - 1} \right)P\left( x_{i} \middle| y_{i} \right)} P(x1​,y1​,…,xn​,yn​)=P(x1​∣y1​)i=2∏n​P(yi​∣yi−1​)P(xi​∣yi​)

狀态轉移機率:模型各個狀态間轉換的機率,通常記為矩陣 A = [ a ij ] N × N A = \left\lbrack a_{\text{ij}} \right\rbrack_{N \times N} A=[aij​]N×N​,其中

a ij = P ( y t + 1 = s j ∣ y t = s i ) , 1 ≤ i , j ≤ N a_{\text{ij}} = P\left( y_{t + 1} = s_{j} \middle| y_{t} = s_{i} \right),1 \leq i,j \leq N aij​=P(yt+1​=sj​∣yt​=si​),1≤i,j≤N

表示在任意時刻 t t t,若狀态為 s i s_{i} si​,則下一時刻狀态為 s j s_{j} sj​的機率。

輸出觀測機率:模型根據目前狀态獲得各個觀測值的機率,通常記為矩陣 B = [ b ij ] N × M B = \left\lbrack b_{\text{ij}} \right\rbrack_{N \times M} B=[bij​]N×M​,其中

b ij =   P ( x t = o j ∣ y t = s i ) , 1 ≤ i ≤ N , 1 ≤ j ≤ M b_{\text{ij}} = \ P\left( x_{t} = o_{j} \middle| y_{t} = s_{i} \right),1 \leq i \leq N,1 \leq j \leq M bij​= P(xt​=oj​∣yt​=si​),1≤i≤N,1≤j≤M

表示在任意時刻 t t t,若狀态為 s i s_{i} si​,則觀測值 o j o_{j} oj​被擷取的機率。

初始狀态機率:模型在初始時刻各狀态出現的機率,通常記為 π = { π 1 , π 2 , … , π N } \pi = \left\{ \pi_{1},\pi_{2},\ldots,\pi_{N} \right\} π={π1​,π2​,…,πN​},其中

π i = P ( y 1 = s i ) , 1 ≤ i ≤ N \pi_{i} = P\left( y_{1} = s_{i} \right),1 \leq i \leq N πi​=P(y1​=si​),1≤i≤N

表示模型的初始狀态為 s i s_{i} si​的機率。

通過指定狀态空間 Y \mathcal{Y} Y、觀測空間 X \mathcal{X} X和上述三組參數,就能确定一個隐馬爾可夫模型,通常用其參數 λ = [ A , B , π ] \lambda = \left\lbrack A,B,\pi \right\rbrack λ=[A,B,π]來指代。給定隐馬爾可夫模型 λ \lambda λ,按如下過程産生觀測序列:

  1、設定 t = 1 t = 1 t=1,并根據初始狀态機率選擇初始狀态 y 1 y_{1} y1​

  2、根據狀态 y t y_{t} yt​和輸出觀測機率B選擇觀測變量取值 x t x_{t} xt​

  3、根據狀态 y t y_{t} yt​和狀态轉移矩陣A轉移模型狀态,即确定 y t + 1 y_{t + 1} yt+1​

  4、若 t &lt; n t &lt; n t<n,設定 t = t + 1 t = t + 1 t=t+1,并轉到2步,否則停止

其中 y t ∈ { s 1 , s 2 , … , s N } y_{t} \in \left\{ s_{1},s_{2},\ldots,s_{N} \right\} yt​∈{s1​,s2​,…,sN​}和 x t ∈ { o 1 , o 2 , … , o M } x_{t} \in \left\{ o_{1},o_{2},\ldots,o_{M} \right\} xt​∈{o1​,o2​,…,oM​}分别為第 t t t時刻的狀态和觀測值。

14.2 馬爾可夫随機場

在馬爾可夫随機場中,對于n個變量 x = { x 1 , x 2 , … , x n } x = \left\{ x_{1},x_{2},\ldots,x_{n} \right\} x={x1​,x2​,…,xn​},所有團構成的集合為 C \mathcal{C} C,與團 Q ∈ C Q\mathcal{\in C} Q∈C對應的變量集合記為 x Q x_{Q} xQ​,則聯合機率 P ( x ) P\left( x \right) P(x)定義為

P ( x ) = 1 Z ∏ Q ∈ C ψ Q ( x Q ) P\left( x \right) = \frac{1}{Z}\prod_{Q\mathcal{\in C}}^{}{\psi_{Q}\left( x_{Q} \right)} P(x)=Z1​Q∈C∏​ψQ​(xQ​)

其中 ψ Q \psi_{Q} ψQ​為與團Q對應的勢函數,用于對團Q中的變量關系進行模組化, Z = ∑ x ∏ Q ∈ C ψ Q ( x Q ) Z = \sum_{x}^{}{\prod_{Q\mathcal{\in C}}^{}{\psi_{Q}\left( x_{Q} \right)}} Z=∑x​∏Q∈C​ψQ​(xQ​)為規範化因子,以確定 P ( x ) P\left( x \right) P(x)是被正确定義的機率。

假定所有極大團構成的集合為 C ∗ \mathcal{C}^{*} C∗,則有

P ( x ) = 1 Z ∗ ∏ Q ∈ C ∗ ψ Q ( x Q ) P\left( x \right) = \frac{1}{Z^{*}}\prod_{Q \in \mathcal{C}^{*}}^{}{\psi_{Q}\left( x_{Q} \right)} P(x)=Z∗1​Q∈C∗∏​ψQ​(xQ​)

其中 Z ∗ = ∑ x ∏ Q ∈ C ∗ ψ Q ( x Q ) Z^{*} = \sum_{x}^{}{\prod_{Q \in \mathcal{C}^{*}}^{}{\psi_{Q}\left( x_{Q} \right)}} Z∗=∑x​∏Q∈C∗​ψQ​(xQ​)為規範化因子

全局馬爾可夫性(global Markov property):給定兩個變量子集的分離集,則這兩個變量子集條件獨立。

局部馬爾可夫性(local Markov property):給定某變量的鄰接變量,則該變量條件獨立于其他變量

成對馬爾可夫性(pairwise Markov property):給定所有其他變量,兩個非鄰接變量條件獨立。

14.3 條件随機場

條件随機場(Conditional Random Field,CRF)是一種判别式無向圖模型。條件随機場對多個變量在給定觀測值後的條件機率進行模組化。

令 G = ⟨ V , E ⟩ G = \left\langle V,E \right\rangle G=⟨V,E⟩表示結點于标記變量 y y y中的元素一一對應的無向圖, y v y_{v} yv​表示與結點 v v v對應的标記變量, n ( v ) n\left( v \right) n(v)表示結點 v v v的鄰接結點,若圖 G G G的每個變量 y v y_{v} yv​都滿足馬爾可夫性,即

P { y v ∣ x , y \ { v } } = P ( y v ∣ x , y n ( v ) ) P\left\{ y_{v} \middle| x,y\backslash\left\{ v \right\} \right\} = P\left( y_{v} \middle| x,y_{n\left( v \right)} \right) P{yv​∣x,y\{v}}=P(yv​∣∣​x,yn(v)​)

則 ( y , x ) \left( y,x \right) (y,x)構成一個條件随機場。

在條件随機場中,通過選用指數勢函數并引入特征函數,條件機率被定義為

P ( y ∣ x ) = 1 Z exp ⁡ ( ∑ j ∑ i = 1 n − 1 λ j t j ( y i + 1 , x , i ) + ∑ k ∑ i = 1 n μ k s k ( y i , x , i ) ) P\left( y \middle| x \right) = \frac{1}{Z}\exp\left( \sum_{j}^{}{\sum_{i = 1}^{n - 1}{\lambda_{j}t_{j}\left( y_{i + 1},x,i \right)}} + \sum_{k}^{}{\sum_{i = 1}^{n}{\mu_{k}s_{k}\left( y_{i},x,i \right)}} \right) P(y∣x)=Z1​exp(j∑​i=1∑n−1​λj​tj​(yi+1​,x,i)+k∑​i=1∑n​μk​sk​(yi​,x,i))

其中 t j ( y i + 1 , x , i ) t_{j}\left( y_{i + 1},x,i \right) tj​(yi+1​,x,i)是定義在觀測序列的兩個相鄰标記位置上的轉移特征函數(transition feature

function),用于刻畫相鄰标記變量之間的相關關系以及觀測序列對它們的影響, s k ( y i , x , i ) s_{k}\left( y_{i},x,i \right) sk​(yi​,x,i)是定義在觀測序列的标記位置 i i i上的狀态特征函數(status feature function),用于刻畫觀測序列對标記變量的影響, λ j , μ k \lambda_{j},\mu_{k} λj​,μk​為參數, Z Z Z為規範化因子。

14.4 學習與推斷

基于機率圖模型定義的聯合機率分布,對目标變量的邊際分布(marginal distribution)或以某些可觀測變量為條件的條件分布進行推測。

邊際分布:對無關變量求和或積分後得到結果。

對機率圖模型,還需确定具體分布的參數,使用極大似然估計或最大後驗機率估計求解。

假設圖模型所對應的變量集 x = { x 1 , x 2 , … , x N } x = \left\{ x_{1},x_{2},\ldots,x_{N} \right\} x={x1​,x2​,…,xN​}能分為 x E x_{E} xE​和 x F x_{F} xF​兩個不相交的變量集,推斷問題的目标就是計算邊際機率 P ( x E ) P\left( x_{E} \right) P(xE​)或條件機率 P ( x F ∣ x E ) P\left( x_{F} \middle| x_{E} \right) P(xF​∣xE​)。由條件機率定義有

P ( x F ∣ x E ) = P ( x E , x F ) P ( x E ) = P ( x E , x F ) ∑ x F P ( x E , x F ) P\left( x_{F} \middle| x_{E} \right) = \frac{P\left( x_{E},x_{F} \right)}{P\left( x_{E} \right)} = \frac{P\left( x_{E},x_{F} \right)}{\sum_{x_{F}}^{}{P\left( x_{E},x_{F} \right)}} P(xF​∣xE​)=P(xE​)P(xE​,xF​)​=∑xF​​P(xE​,xF​)P(xE​,xF​)​

其中聯合機率 P ( x E , x F ) P\left( x_{E},x_{F} \right) P(xE​,xF​)可基于機率圖模型獲得。

計算邊際分布

P ( x E ) = ∑ x F P ( x E , x F ) P\left( x_{E} \right) = \sum_{x_{F}}^{}{P\left( x_{E},x_{F} \right)} P(xE​)=xF​∑​P(xE​,xF​)

14.4.1 變量消去

精确推斷的變質是一類動态規劃算法,利用圖模型所描述的條件獨立性來削減計算目标機率值所需的計算量。

缺點:若計算多個邊際分布,重複使用變量消去法将會造成大量的備援計算。

14.4.2 信念傳播

信念傳播(Belief Propagation)算法将變量消去法中的求和操作看作一個消息傳遞過程,較好地解決了求解多個邊際分布時的重複計算問題。

變量消去法通過求和操作

m ij ( x j ) = ∑ x i ψ ( x i , x j ) ∏ k ∈ n ( i ) \ j m ki ( x i ) m_{\text{ij}}\left( x_{j} \right) = \sum_{x_{i}}^{}{\psi\left( x_{i},x_{j} \right)\prod_{k \in n\left( i \right)\backslash j}^{}{m_{\text{ki}}\left( x_{i} \right)}} mij​(xj​)=xi​∑​ψ(xi​,xj​)k∈n(i)\j∏​mki​(xi​)

消去變量 x i x_{i} xi​,其中 n ( i ) n\left( i \right) n(i)表示結點 x i x_{i} xi​的鄰接結點。

在信念傳播算法中,一個結點僅在接收到來自其他所有結點的消息後才能向另一個結點發送消息,且結點的邊際分布正比于它所接收的資訊的乘積,即

P ( x i ) ∝ ∏ k ∈ n ( i ) m ki ( x i ) P\left( x_{i} \right) \propto \prod_{k \in n\left( i \right)}^{}{m_{\text{ki}}\left( x_{i} \right)} P(xi​)∝k∈n(i)∏​mki​(xi​)

若圖結構中沒有環,則信念傳播算法經過兩個步驟即可完成所有資訊傳遞,進而能計算所有變量上的邊際分布:

  1、指定一個根結點,從所有葉結點開始向根結點傳遞消息,直到根結點收到所有鄰接結點的消息

  2、從根結點開始向葉結點傳遞消息,直到所有葉結點均受到消息

14.5 近似推斷

14.5.1 MCMC采樣

假定目标是計算函數 f ( x ) f\left( x \right) f(x)在機率密度函數 p ( x ) p\left( x \right) p(x)下的期望

E p ( f ) = ∫ f ( x ) p ( x ) dx \mathbb{E}_{p}\left( f \right) = \int_{}^{}{f\left( x \right)p\left( x \right)\text{dx}} Ep​(f)=∫​f(x)p(x)dx

則可根據 p ( x ) p\left( x \right) p(x)抽取一組樣本 { x 1 , x 2 , … , x N } \left\{ x_{1},x_{2},\ldots,x_{N} \right\} {x1​,x2​,…,xN​},然後計算 f ( x ) f\left( x \right) f(x)在這些樣本上的均值

f ^ = 1 N ∑ i = 1 N f ( x i ) \hat{f} = \frac{1}{N}\sum_{i = 1}^{N}{f\left( x_{i} \right)} f^​=N1​i=1∑N​f(xi​)

機率圖模型中最常用的采樣技術是馬爾科夫鍊蒙特卡羅(Markov Chain Monte Carlo,MCMC)方法。

給定連續 x ∈ X x\mathcal{\in X} x∈X的機率密度函數 p ( x ) p\left( x \right) p(x), x x x在區間A中的機率可計算為

P ( A ) = ∫ A p ( x ) dx P\left( A \right) = \int_{A}^{}{p\left( x \right)\text{dx}} P(A)=∫A​p(x)dx

若有函數 f : X ↦ R f:\mathcal{X}\mathbb{\mapsto R} f:X↦R,則可計計算 f ( x ) f\left( x \right) f(x)的期望

p ( f ) = E p [ f ( X ) ] = ∫ x f ( x ) p ( x ) dx p\left( f \right) = \mathbb{E}_{p}\left\lbrack f\left( \mathcal{X} \right) \right\rbrack = \int_{x}^{}{f\left( x \right)p\left( x \right)\text{dx}} p(f)=Ep​[f(X)]=∫x​f(x)p(x)dx

MCMC先構造服從 p p p分布的獨立分布随機變量 { x 1 , x 2 , … , x N } \left\{ x_{1},x_{2},\ldots,x_{N} \right\} {x1​,x2​,…,xN​},再得無偏估計

p ^ ( f ) = 1 N ∑ i = 1 N f ( x i ) \hat{p}\left( f \right) = \frac{1}{N}\sum_{i = 1}^{N}{f\left( x_{i} \right)} p^​(f)=N1​i=1∑N​f(xi​)

假定平穩馬爾科夫鍊 T T T的狀态轉移機率為 T ( x ∣ x ′ ) T\left( x \middle| x&#x27; \right) T(x∣x′), t t t時刻狀态的分布為 p ( x t ) p\left( x^{t} \right) p(xt),則若在某時刻馬爾科夫鍊滿足平穩條件

p ( x t ) T ( x t − 1 ∣ x t ) = p ( x t − 1 ) T ( x t ∣ x t − 1 ) p\left( x^{t} \right)T\left( x^{t - 1} \middle| x^{t} \right) = p\left( x^{t - 1} \right)T\left( x^{t} \middle| x^{t - 1} \right) p(xt)T(xt−1∣∣​xt)=p(xt−1)T(xt∣∣​xt−1)

則 p ( x ) p\left( x \right) p(x)是該馬爾科夫鍊的平穩分布,且馬爾科夫鍊在滿足該條件時已收斂到平穩狀态。

Metropolis-Hastings算法

基于拒絕采樣(reject sampling)來逼近平穩分布 p p p。算法每次根據上一輪采樣結果 x t − 1 x^{t - 1} xt−1來采樣獲得候選狀态樣本 x ∗ x^{*} x∗,但這個候選樣本回憶一定的機率被拒絕掉。假定從狀态 x t − 1 x^{t- 1} xt−1到狀态 x ∗ x^{*} x∗的轉移機率為 Q ( x ∗ ∣ x t − 1 ) A ( x ∗ ∣ x t − 1 ) Q\left( x^{*} \middle| x^{t - 1} \right)A\left( x^{*} \middle| x^{t - 1} \right) Q(x∗∣∣​xt−1)A(x∗∣∣​xt−1),其中 Q ( x ∗ ∣ x t − 1 ) Q\left( x^{*} \middle| x^{t - 1} \right) Q(x∗∣∣​xt−1)是使用者給定的先驗機率, A ( x ∗ ∣ x t − 1 ) A\left( x^{*} \middle| x^{t - 1} \right) A(x∗∣∣​xt−1)是 x ∗ x^{*} x∗被接受的機率。若 x ∗ x^{*} x∗最終收斂到平穩狀态,則有

p ( x t − 1 ) Q ( x ∗ ∣ x t − 1 ) A ( x ∗ ∣ x t − 1 ) = p ( x ∗ ) Q ( x t − 1 ∣ x ∗ ) A ( x t − 1 ∣ x ∗ ) p\left( x^{t - 1} \right)Q\left( x^{*} \middle| x^{t - 1} \right)A\left( x^{*} \middle| x^{t - 1} \right) = p\left( x^{*} \right)Q\left( x^{t - 1} \middle| x^{*} \right)A\left( x^{t - 1} \middle| x^{*} \right) p(xt−1)Q(x∗∣∣​xt−1)A(x∗∣∣​xt−1)=p(x∗)Q(xt−1∣∣​x∗)A(xt−1∣∣​x∗)

将接受率設定為

A ( x ∗ ∣ x t − 1 ) = min ⁡ ( 1 , p ( x ∗ ) Q ( x t − 1 ∣ x ∗ ) p ( x t − 1 ) Q ( x ∗ ∣ x t − 1 ) ) A\left( x^{*} \middle| x^{t - 1} \right) = \min\left( 1,\frac{p\left( x^{*} \right)Q\left( x^{t - 1} \middle| x^{*} \right)}{p\left( x^{t - 1} \right)Q\left( x^{*} \middle| x^{t - 1} \right)} \right) A(x∗∣∣​xt−1)=min(1,p(xt−1)Q(x∗∣xt−1)p(x∗)Q(xt−1∣∣​x∗)​)

第14章 機率圖模型第14章 機率圖模型

吉布斯采樣(Gibbs sampling)

假定 x = { x 1 , x 2 , … , x N } x = \left\{ x_{1},x_{2},\ldots,x_{N} \right\} x={x1​,x2​,…,xN​},目标分布為 p ( x ) p\left( x \right) p(x),在初始化 x x x的取值後,通過循環執行以下步驟來完成采樣:

  1、随機或以某個次序選取某變量 x i x_{i} xi​

  2、根據 x x x中除 x i x_{i} xi​之外是變量的現有取值,計算條件機率 p ( x i ∣ x i ‾ ) p\left( x_{i} \middle| x_{\overset{\overline{}}{i}} \right) p(xi​∣∣∣​xi​),其中 x i ‾ = { x 1 , x 2 , … x i − 1 , x i + 1 , … , x N } x_{\overset{\overline{}}{i}} = \left\{ x_{1},x_{2},\ldots x_{i- 1},x_{i + 1},{\ldots,x}_{N} \right\} xi​={x1​,x2​,…xi−1​,xi+1​,…,xN​}

  3、根據 p ( x i ∣ x i ‾ ) p\left( x_{i} \middle| x_{\overset{\overline{}}{i}} \right) p(xi​∣∣∣​xi​)對變量 x i x_{i} xi​采樣,用采樣值代替原值

14.5.2 變分推斷

變分推斷通過使用已知簡單分布來逼近需推斷的複雜分布,并通過限制近似分布的類型,進而得到一種局部最優、但具有确定解的近似後驗分布。

變量 x x x的聯合分布的機率密度函數為

p ( x ∣ Θ ) = ∏ i = 1 N ∑ z p ( x i , z ∣ Θ ) p\left( x \middle| \Theta \right) = \prod_{i = 1}^{N}{\sum_{z}^{}{p\left( x_{i},z \middle| \Theta \right)}} p(x∣Θ)=i=1∏N​z∑​p(xi​,z∣Θ)

所對應的對數似然函數為

ln ⁡ p ( x ∣ Θ ) = ∑ i = 1 N ln ⁡ { ∑ z p ( x i , z ∣ Θ ) } \ln{p\left( x \middle| \Theta \right) = \sum_{i = 1}^{N}{\ln\left\{ \sum_{z}^{}{p\left( x_{i},z \middle| \Theta \right)} \right\}}} lnp(x∣Θ)=i=1∑N​ln{z∑​p(xi​,z∣Θ)}

其中 x = { x 1 , x 2 , … , x N } x = \left\{ x_{1},x_{2},\ldots,x_{N} \right\} x={x1​,x2​,…,xN​}, Θ \Theta Θ是 x x x與 z z z服從的分布參數。

用EM算法:在E步,根據 t t t時刻的參數 Θ t \Theta^{t} Θt對 p ( z ∣ x , Θ ) p\left( z \middle| x,\Theta \right) p(z∣x,Θ)進行推斷,并計算聯合似然函數 p ( , z ∣ Θ ) p\left( ,z \middle| \Theta \right) p(,z∣Θ);在M步,基于E步的結果進行最大化尋優,即對關于變量 Θ \Theta Θ的函數 Q ( Θ ; Θ t ) \mathcal{Q}\left( \Theta;\Theta^{t} \right) Q(Θ;Θt)進行最大化進而求取

第14章 機率圖模型第14章 機率圖模型

近似分布

q ( z ) = ln ⁡ p ( x ) = L ( q ) + K L ( q ∣ ∣ p   ) q\left( z \right) = \ln{p\left( x \right)}\mathcal{= L}\left( q \right) + KL\left( q \middle| \left| p \right.\ \right) q(z)=lnp(x)=L(q)+KL(q∣∣p )

其中

L ( q ) = ∫ q ( z ) ln ⁡ { p ( x , z ) q ( z ) } d z \mathcal{L}\left( q \right) = \int_{}^{}{q\left( z \right)\ln\left\{ \frac{p\left( x,z \right)}{q\left( z \right)} \right\}}dz L(q)=∫​q(z)ln{q(z)p(x,z)​}dz

KL ( q ∣ ∣ p   ) = − ∫ q ( z ) ln ⁡ p ( z ∣ x ) q ( z )   d z \text{KL}\left( q \middle| \left| p \right.\ \right) = - \int_{}^{}{q\left( z \right)\ln\frac{p\left( z \middle| x \right)}{q\left( z \right)}}\ dz KL(q∣∣p )=−∫​q(z)lnq(z)p(z∣x)​ dz

14.6 話題模型

話題模型(topic model):是一簇生成式有向圖模型。主要用于處理離散型的資料。

詞:待處理資料的基本離散單元

文檔:待處理的資料對象,它由一組詞組成,這些詞在文檔中是不計順序的

話題:表示一個概念,具體表示為一系列相關的詞,以及它們在該概念下出現的頻率。

隐狄利克雷配置設定模型(Latent Dirichlet Allocation, LDA)

用向量 Θ t ∈ R K \Theta_{t} \in \mathbb{R}^{K} Θt​∈RK表示文檔 t t t中所包含的每個話題的比例, Θ t , k \Theta_{t,k} Θt,k​表示文檔 t t t中包含話題 k k k的比例,進而通過下面的步驟由話題生成文檔 t t t:

  1、根據參數為 α \alpha α的狄利克雷分布随機采樣一個話題分布 Θ t \Theta_{t} Θt​

  2、按如下步驟生成文檔中的 N N N個詞:

    (a)、根據 Θ t \Theta_{t} Θt​進行話題指派,得到文檔 t t t中詞 n n n的話題 z t , n z_{t,n} zt,n​

    (b)、根據指派的話題所對應的詞頻分布 β k \beta_{k} βk​(依賴參數 η \eta η)随機采樣生成詞

LDA模型對應的機率分布為

p ( W , z , β , Θ ∣ α , η ) = ∏ t = 1 T p ( Θ t ∣ α ) ∏ i = 1 K p ( β k ∣ η ) ( ∏ n = 1 N P ( ω t , n ∣ z t , n , β k ) P ( z t , n ∣ Θ t ) ) p\left( W,z,\beta,\Theta \middle| \alpha,\eta \right) = \prod_{t = 1}^{T}{p\left( \Theta_{t} \middle| \alpha \right)\prod_{i = 1}^{K}{p\left( \beta_{k} \middle| \eta \right)\left( \prod_{n = 1}^{N}{P\left( \omega_{t,n} \middle| z_{t,n},\beta_{k} \right)}P\left( z_{t,n} \middle| \Theta_{t} \right) \right)}} p(W,z,β,Θ∣α,η)=t=1∏T​p(Θt​∣α)i=1∏K​p(βk​∣η)(n=1∏N​P(ωt,n​∣zt,n​,βk​)P(zt,n​∣Θt​))

其中 p ( Θ t ∣ α ) p\left( \Theta_{t} \middle| \alpha \right) p(Θt​∣α)和 p ( β k ∣ η ) p\left( \beta_{k} \middle| \eta\right) p(βk​∣η)通常分别設定為以 α \alpha α和 η \eta η為參數的 K K K維和 N N N維狄利克雷分布,詞頻向量 ω i ( i = 1 , 2 , … , T ) \omega_{i}\left(i = 1,2,\ldots,T \right) ωi​(i=1,2,…,T)

給定訓練資料 W = { ω 1 , ω 2 , … , ω T } W = \left\{ \omega_{1},\omega_{2},\ldots,\omega_{T} \right\} W={ω1​,ω2​,…,ωT​},LDA的模型參數可通過極大似然法估計,即尋找 α \alpha α和 η \eta η以最大化對數似然

LL ( α , η ) = ∑ t = 1 T ln ⁡ p ( ω t ∣ α , η ) \text{LL}\left( \alpha,\eta \right) = \sum_{t = 1}^{T}{\ln{p\left( \omega_{t} \middle| \alpha,\eta \right)}} LL(α,η)=t=1∑T​lnp(ωt​∣α,η)

若模型已知,即參數 α \alpha α和 η \eta η已确定,則根據詞頻 ω t , n \omega_{t,n} ωt,n​來推斷文檔集所對應的話題結構可通過求解

p ( z , β , Θ ∣ W , α , η ) = p ( W , z , β , Θ ∣ α , η ) p ( W ∣ α , η ) p\left( z,\beta,\Theta \middle| W,\alpha,\eta \right) = \frac{p\left( W,z,\beta,\Theta \middle| \alpha,\eta \right)}{p\left( W \middle| \alpha,\eta \right)} p(z,β,Θ∣W,α,η)=p(W∣α,η)p(W,z,β,Θ∣α,η)​

繼續閱讀