日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

潜在狄利克雷分布(LDA)初探

發布時間:2023/12/19 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 潜在狄利克雷分布(LDA)初探 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 多項式分布與狄利克雷分布
    • 多項式分布
    • 狄利克雷分布
  • 潛在狄利克雷分布模型
    • 文本生成
    • 模型定義
  • LDA 與 PLSA 異同

潛在狄利克雷分布(Latent Dirichlet Allocation, LDA),是一種無監督學習算法,用于識別文檔集中潛在的主題詞信息。在訓練時不需要手工標注的訓練集,需要的僅僅是文檔集以及指定主題的數量 k 即可。對于每一個主題均可找出一些詞語來描述它。

LDA是一種典型的詞袋模型,即它認為一篇文檔是由一組詞構成的一個集合,詞與詞之間沒有順序以及先后的關系。一篇文檔可以包含多個主題,文檔中每一個詞都由其中的一個主題生成。

多項式分布與狄利克雷分布

狄利克雷分布是多項式分布的共軛先驗概率分布。

多項式分布

假設重復進行nnn次獨立隨機試驗,每次試驗可能出現的結果有kkk種,第iii種結果出現的概率為pip_ipi?,第iii種結果出現的次數為nin_ini?,隨機變量X=(X1,X2,…,Xk)X=(X_1,X_2,\ldots,X_k)X=(X1?,X2?,,Xk?) 表示試驗所有可能的結果的次數,XiX_iXi?表示第iii種結果出現的次數。那么隨機變量X服從多項分布:
P(X1=n1,X2=n2,…,Xk=nk)=n!n1!n2!…nk!p1n1p2n2…pknkP(X_1=n_1,X_2=n_2,\ldots,X_k = n_k) = \frac{n!}{n_1!n_2!\ldots n_k!} p_1^{n_1} p_2^{n_2}\ldots p_k^{n_k} P(X1?=n1?,X2?=n2?,,Xk?=nk?)=n1?!n2?!nk?!n!?p1n1??p2n2??pknk??
其中p=(p1,p2,...,pk),∑i=1kpi=1,∑i=1kni=np=(p_1, p_2,...,p_k),\sum_{i=1}^k p_i =1, \sum_{i=1}^k n_i =np=(p1?,p2?,...,pk?)i=1k?pi?=1,i=1k?ni?=n 。我們稱變量X服從參數為(n,p)(n,p)(n,p)的多項式分布,記作:X~Mult(n,p)X \sim Mult(n,p)XMult(n,p)

狄利克雷分布

多元連續隨機變量θ=(θ1,θ2,…,θk)\theta = (\theta_1,\theta_2,\ldots,\theta_k)θ=(θ1?,θ2?,,θk?)的概率密度為:
P(θ∣α)=Γ(∑i=1Kαi)∏i=1KΓ(αi)∏i=1Kθiαi?1P(\theta| \alpha) = \frac{\Gamma(\sum\limits_{i=1}^K\alpha_i)}{\prod_{i=1}^K\Gamma(\alpha_i)}\prod_{i=1}^K\theta_i^{\alpha_i-1} P(θα)=i=1K?Γ(αi?)Γ(i=1K?αi?)?i=1K?θiαi??1?
其中∑i=1kθi=1,θi≥0,α=(α1,α2,…,αk),αi>0\sum_{i=1}^k \theta_i =1,\theta_i \geq 0, \alpha=(\alpha_1,\alpha_2,\ldots,\alpha_k), \alpha_i \gt 0i=1k?θi?=1,θi?0,α=(α1?,α2?,,αk?),αi?>0,且Γ(s)\Gamma(s)Γ(s)是伽馬函數:
Γ(s)=∫0∞xs?1e?xdxs>0\Gamma(s) = \int_{0}^\infty x^{s-1}e^{-x}dx \qquad s>0 Γ(s)=0?xs?1e?xdxs>0
則稱隨機變量θ\thetaθ 服從參數為α\alphaα的狄利克雷分布,記作θ~Dir(α)\theta \sim Dir(\alpha)θDir(α)

狄利克雷分布有一些重要性質:(1)狄利克雷分布屬于指數分布族;(2)狄利克雷分布是多項分布的共軛先驗。

如果后驗分布與先驗分布屬于同類,則二者稱為共軛分布,先驗分布稱為共軛先驗。使用共軛分布的好處是便于從先驗分布計算后驗分布。

由于多項分布的先驗分布和后驗分布都是狄利克雷分布,所以狄利克雷分布是多項分布的共軛先驗;狄利克雷后驗分布的參數等于狄利克雷先驗分布參數α=(α1,α2,…,αk)\alpha=(\alpha_1,\alpha_2,\ldots,\alpha_k)α=(α1?,α2?,,αk?) 加上多項分布的觀測計數n=(n1,n2,…,nk)n=(n_1,n_2,\ldots,n_k)n=(n1?,n2?,,nk?)

潛在狄利克雷分布模型

文本生成

LDA 模型是概率圖模型,特點是以狄利克雷分布為多項式分布的先驗分布,學習過程就是給定文本集合,通過后驗概率分布的估計,推斷模型的所有參數。利用LDA進行話題分析,就是對給定文本集合,學習每個文本的話題分布,以及每個話題的單詞分布。文本生成過程如下圖所示:


可以認為LDA是概率潛在語義分析(PLSA)的擴展,在文本生成過程中,LDA使用狄利克雷分布作為先驗分布,而PLSA不使用先驗分布(或者說假設先驗分布是均勻分布)。LDA的優點是:使用先驗概率分布,可以防止學習過程中產生的過擬合 。

模型定義

LDA使用三個集合:

  • VVV個單詞集合W={w1,…,wv,…,wV}W=\{w_1,\ldots,w_v,\ldots,w_V\}W={w1?,,wv?,,wV?}
  • MMM個文本的集合D={w1,…,wm,…,wM}D=\{\mathbf w_1,\ldots,\mathbf w_m,\ldots, \mathbf w_M \}D={w1?,,wm?,,wM?}wm\mathbf w_mwm? 是第m個文本的單詞,共NmN_mNm?個單詞序列wm=(wm1,…,wmn,…,wmNm)\mathbf w_m = (w_{m1},\ldots,w_{mn},\ldots,w_{mN_m})wm?=(wm1?,,wmn?,,wmNm??)
  • KKK個話題的集合Z={z1,…,zk,…,zK}Z=\{z_1,\ldots,z_k,\ldots,z_K\}Z={z1?,,zk?,,zK?}
  • 給定狄利克雷分布的超參數α和β,LDA文本集合的生成過程如下:

    (1) 生成話題的單詞分布

    隨機生成K個話題的單詞分布:按照狄利克雷分布Dir(β)Dir(\beta)Dir(β) 隨機生成一個參數向量φk=(φk1,φk2,…,φkV),φk~Dir(β)\varphi_k = (\varphi_{k1},\varphi_{k2},\ldots,\varphi_{kV}), \varphi_k \sim Dir(\beta)φk?=(φk1?,φk2?,,φkV?),φk?Dir(β)φkV\varphi_{kV}φkV?表示話題zkz_kzk? 生成單詞wvw_vwv?的概率,φk\varphi_{k}φk?作為話題zkz_kzk?的單詞分布P(w∣zk)P(w|z_k)P(wzk?)

    (2) 生成文本的話題分布

    隨機生成MMM文本的話題分布:按照狄利克雷分布Dir(α)Dir(\alpha)Dir(α) 隨機生成一個參數向量θm=(θm1,θm2,…,θmk),θm~Dir(α)\theta_m = (\theta_{m1},\theta_{m2},\ldots,\theta_{mk}), \theta_m \sim Dir(\alpha)θm?=(θm1?,θm2?,,θmk?),θm?Dir(α)θmk\theta_{mk}θmk?表示文本 wm\mathbf w_mwm? 生成話題zkz_kzk?的概率,θm\theta_mθm?作為文本wm\mathbf w_mwm?的話題分布P(z∣wm)P(z|\mathbf w_m)P(zwm?)

    (3) 生成文本的單詞序列

    要隨機生成MMM個文本的NmN_mNm?個單詞,則文本 wm,(m=1,2,...,M)\mathbf w_m,(m= 1,2,... ,M)wm?,(m=1,2,...,M) 的單詞wmn(n=1,2,..,Nm)w_{mn} (n=1,2,.. ,Nm)wmn?(n=1,2,..,Nm)的生成過程如下:

    (3-1) 首先按照多項分布Mult(θm)Mult(\theta_m)Mult(θm?)隨機生成一個話題zmnz_{mn}zmn?zmn~Mult(θm)z_{mn} \sim Mult(\theta_m)zmn?Mult(θm?)

    (3-2) 然后按照多項分布Mult(φzmn)Mult(\varphi_{z_{mn}})Mult(φzmn??)隨機生成一個單詞wmn,wmn~Mult(φzmn)w_{mn}, w_{mn} \sim Mult(\varphi_{z_{mn}})wmn?,wmn?Mult(φzmn??),文本wm\mathbf w_mwm?本身是單詞序列wm=(wm1,…,wmn,…,wmNm)\mathbf w_m = (w_{m1},\ldots,w_{mn},\ldots,w_{mN_m})wm?=(wm1?,,wmn?,,wmNm??),對應著隱式的話題序列Z={zm1,zm2,…,zmNm}Z=\{z_{m1},z_{m2},\ldots,z_{mN_m}\}Z={zm1?,zm2?,,zmNm??}

    上述過程對應的概率圖模型如下:

    展開后如下圖所示:

    LDA 與 PLSA 異同

    相同點:兩者都假設話題是單詞的多項分布,文本是話題的多項分布。

    不同點:

  • 在文本生成過程中,LDA使用狄利克雷分布作為先驗分布,而PLSA不使用先驗分布(或者說假設先驗分布是均勻分布。;使用先驗概率分布,可以防止學習過程中產生的過擬合 。

  • 學習過程LDA基于貝葉斯學習,而PLSA基于極大似然估計。

  • 參考文章:

    《統計學習方法 第二版》

    【轉】LDA數學八卦

    總結

    以上是生活随笔為你收集整理的潜在狄利克雷分布(LDA)初探的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。