LDA臨時筆記,待整理
學習建議:
從大方向上把握LDA
1、先了解主題模型的歷史
可以通過了解主題模型的歷史,從基於統計學分佈的一元模型,多元混合模型,到基於貝葉斯的一元模型。再到pLSA,再到基於貝葉斯的LDA。
參考https://blog.csdn.net/pipisorry/article/details/42560693
2、再瞭解pLSA與LDA可以用來幹什麼
對於M篇文件,通過模型的計算,可以得到M篇文件中每一個文件下的主題分佈,每一個主題下的單詞分佈。
用處1,可以用此來得到每個文章之間的相似性(計算主題向量之間的距離即可,越小的說明越相似)。用處2,可以用來的到一篇文件的關鍵詞(不同主題下的前幾個概率最大的詞)
注意pLSA是統計觀點,是通過EM演算法求得。而LDA是貝葉斯觀點,通過Gibbs或者變分EM演算法可以求解得到模型引數。參考http://www.cnblogs.com/pinard/p/6873703.html
而對於新來的一篇文章,怎樣計算得到該文章的主題分佈呢?
pLSA類似於樸素貝葉斯, 仍然需要統計各種東西然後按照EM演算法的到的引數公式進行計算。
而LDA則通過Gibbs取樣的前半部分可以得到其主體分部。參考http://www.cnblogs.com/pinard/p/6873703.html
以上就是LDA基本原理,弄懂就可以呼叫LDA包了。要是想深挖下面的理論,還需要弄清許多推導的細節。
3、再具體瞭解LDA中的幾個基本概念都是什麼。
4、最後再看看LDA模型是怎麼得到以及怎麼求解引數(gibbs取樣)的。參考https://blog.csdn.net/yhao2014/article/details/51098037
LDA要乾的事情:根據給定的一篇文件,推測其主題分佈。
狄利克雷分佈,被稱為是分佈的分佈。
從一個分佈中取樣,得到的就是一個隨機變數X。
從一個分佈的分佈中取樣,得到的就是關於X的分佈。然後再從X的分佈中取樣,才能得到隨機變數X。
對圖片中四句話的解釋:
狄利克雷分佈 是多項式分佈的 共軛先驗分佈。也就是說,已知先驗概率,是可以對X進行取樣的。
主題符合多項式分佈。於是,先取樣的到主題的分佈。
再從主題的分佈中取樣的到第j個單詞的主題。
單詞符合多項式分佈,再從狄利克雷beta中取樣得到單詞的分佈
再從單詞的分佈中取樣得到單詞。
順序統計量中Xk的分佈。先計算落在[x,x+detax]的概率。
通過上述推論,在區間中有一個X落在[x,x+detax]中的概率是P(E)。而這個X的取值可能有n個,所以情況會有Cnn-k種。
超過兩個的額情況就是高階無窮小。
於是可知落在區間中的概率,而連續分佈的概率密度,可以通過極限求得。
1、最終發現這個可以與gama函式聯絡起來。然後推出了beta分佈。
2、beta分佈中,beta是二項分佈的共軛先驗分佈,這一點從知乎,如何通俗理解beta分佈中可以得到結論。
經過最終計算beta的期望,發現最終E(p)等於alpha\alpha+beta,服從beta分佈的隨機變數的均值,都可以通過這個期望來得到。
EM演算法,推導過程也挺簡單,可以特意記一下公式。最終的引數jesen不等式,得到的引數值。
對於pLSA演算法,認為引數theta是固定引數,設定好引數以後,最終可以對此引數採用EM演算法,估計得到模型的兩個引數,使得能夠滿足極大似然,從而可以用於估計,分類。
注意,此時pLSA沒有考慮先驗分佈。而LDA考慮了先驗分佈,所以才需要加上兩個先驗概率。
最終求得狄利克雷概率分佈的期望值(知道其中任意元素的期望值,也就是一系列的概率分佈值也確定了)。
而alpha,beta引數也已知
所以,通過gibbs取樣,得到了兩個狄利克雷分佈。LDA模型需要的引數就已經知道啦。
LDA中,先根據狄利克雷分佈,取樣產生主題分佈,再根據主題分佈產生主題。(多了一步取樣產生主體分佈。因為在pLSA中認為主體分佈是固定的引數,不需要取樣的。)
再查查LDA在文字分類上的應用。
得到模型的引數以後,就可以對文字求得後驗概率,每個文字屬於某一個主題的概率也就可以確定了。主題相似的文字相似度就高。
LDA模型的一個簡單應用。
應用:將LDA模型應用於1篇文件,進行關鍵詞抽取。
方法與原理依據:LDA模型能夠得到每個主題生成每個詞的概率,那麼我們可以把每個主題中的TopK個詞取出來作為該文件的關鍵詞(移除重複出現的詞)。
對上面這句話的理解,就是,比如我們假定有5個主題,那麼我們可以根據LDA算出這篇文件屬於這五個主題的概率。然後這5個主題生成詞的概率我們也能知道,比如第1個主題生成每個詞的概率我們能夠得到,我們就取前兩個或者三個詞作為這個文字的關鍵詞。同理我們能得到十個或者十五個關鍵詞,再去重,取權重,就能得到這個文件的關鍵詞了。
與pLSA相比,貝葉斯化帶來的好處。
對於一篇新的文章,通過gibbs取樣,即可得到
這篇文章的主體分佈的引數。即可進行
這個利用看到的文件推斷其隱藏的主題(分佈)的過程(其實也就是產生文件的逆過程),便是主題建模的目的:自動地發現文件集中的主題(分佈)。
怎麼進行目的呢?即求得主題分佈呢?
pLSA中,把已知概率p(w,d)用兩個與主題有關的概率參數列示,然後利用極大似然函式,此時,未知引數與極大似然函式都已經具備,就可以進行EM演算法了。
https://www.cnblogs.com/fengsser/p/5836677.html
LDA的使用是上述文件生成的逆過程,它將根據一篇得到的文章,去尋找出這篇文章的主題,以及這些主題對應的詞。
是不是可以認為,在得到樣本x以後,就可以得到後驗分佈theta了,相當於一直x以後,該文件的主題也就都可以求得了。
pLSA的通過EM演算法求解,我們會得到兩分引數的估計。根據這兩個估計,我們可以求得每個文章中的主題分佈,每個主題下的單詞的分佈。
如下,其中LDA與pLSA類似。
對於下圖中的pLSA,在已經訓練,得到這兩個引數以後,基於統計的思想,我們認為,這兩個引數是不變的。因為是矩陣,我們甚至可以求得每個文件下的主題分佈,每個主題下的詞的分佈。
類似於樸素貝葉斯,需要對許多資料進行統計,然後求得引數。
而對於來了一篇新的文章,想要得到該文章的主題分佈,以及主題下詞的分佈。就可以利用這兩個公式進行計算了。k等於5的話,文件i下面我們就能得到5個theta。
LDA的求解方法:因為LDA基於貝葉斯學派的觀點,所以用別的演算法估計這兩個引數十分麻煩,可以用變分EM演算法或者gibbs取樣可以求得這兩個引數。
而對於新的一篇文件,要得到文件的主題分佈,也是用gibbs取樣的前半部分求得。參考http://www.cnblogs.com/pinard/p/6867828.html
相關文章
- Flutter筆記整理[待拆分]Flutter筆記
- 臨時筆記11筆記
- s3-api閱讀筆記(待整理)S3API筆記
- oracle筆記整理10——效能調優之臨時表與物化檢視Oracle筆記
- LDA入門級學習筆記LDA筆記
- 待整理
- 待整理 mybatisMyBatis
- ActiveMQ筆記整理MQ筆記
- ISLR讀書筆記七:線性判別分析(LDA)筆記LDA
- 隨記筆記未整理筆記
- Mysql索引讀書筆記(待續)MySql索引筆記
- mysql引擎筆記整理MySql筆記
- 筆記資源整理筆記
- 筆記, 配置阿里雲 Cumulo(ClojureScript) 臨時開發環境筆記阿里開發環境
- oracle臨時表空間學習筆記 增刪改查Oracle筆記
- GDI+學習筆記--未完待續筆記
- 小程式學習筆記(未完待續)筆記
- python待解決問題筆記Python筆記
- histogram一點研究(待整理)Histogram
- 調整sql臨時記錄SQL
- 演算法筆記整理演算法筆記
- AutoreleasePool、Block、Runloop整理筆記BloCOOP筆記
- 過往業務筆記整理筆記
- TimesTen臨時(記憶體)空間使用和調整臨時(記憶體)空間記憶體
- JavaScript工作指令碼筆記整理JavaScript指令碼筆記
- 【pandas學習筆記】綜合整理筆記
- Redis學習整理筆記02Redis筆記
- SpringBoot整理筆記06Spring Boot筆記
- SpringBoot整理筆記08Spring Boot筆記
- 學習筆記——字串方法整理筆記字串
- 前端面試整理筆記一前端面試筆記
- 學習筆記——物件方法整理筆記物件
- 近幾日工作筆記整理筆記
- Java虛擬機器學習筆記整理Java虛擬機機器學習筆記
- 一些老筆記整理筆記
- [python] LDA處理文件主題分佈程式碼入門筆記PythonLDA筆記
- Android筆記----第二天(待更。。)Android筆記
- QOwnNotes for mac筆記和待辦事項記錄軟體Mac筆記