轉 :hlda文獻學習筆記


David M.BLEI nCR文獻學習筆記(基本完成了)

題目:The Nested Chinese Restaurant Process and Bayesian Nonparametric Inference of Topic Hierarchies

 

David M.BLEI 這個LDA領域的大牛,對LDA有諸多變形,這一片是將隨機過程(stochastic process)用於無參貝葉斯推斷上,構造主題層次樹。

2012.9.17

剛剛開始學習,掌握了大概內容。

文中采用的方法:在貝葉斯無參推斷(BNP)中,先驗和后驗分布不再受限於參數的分布,而是一般的隨機過程。貝葉斯推斷過程也不再受限於優先維空間,可以擴展到一般的無限維空間。

構造主題層次結構樹(以JACM1987-2004年間536個摘要——abstract為例)

    圖中可以看到第一層是5個大的計算機的方向,每個方向中列出了前5個主題詞,然后每個主題又有若干子主題。

    該方法能夠發現不同領域中基於唯一的輸入數據中的有用的主題層次。通過為文檔定義概率模型,不需要定義主題的層次,而是定義統計過程。

    文章的結構:首先回顧隨機過程和貝葉斯無參統計的必要背景;第3部分:nested Chinese restaurant procee;第4部分:在層次主題模型中使用的拓撲;第5部分:近似后驗推斷算法;第6部分:樣本和經驗評估;第7部分:相關工作和討論。

    第2部分:

    Aldous 1985(Chinese restaurant process),Antoniak 1974(Dirichlet process mixture).

    這部分有一系列的公式,暫時沒有看懂,先跳過。

    第3部分:The Nested Chinese Restaurant Process (nCRP)

    nCRP過程和相關的分布被廣泛地使用在Bayesian nonparametric statistics 中,因為,它使得被假設從位置類數量中獲取統計模型成為可能。

    nCRP的過程大致如下:假設在一個城市中有無限多個餐館,每個餐館中有無限多張table。一個餐館被定義為樹的root,它的無限多張table上都有一張card,上面寫着其它餐館的名字。在其它餐館的每張table上也都有一張card,涉及到其它餐館的名字,這個結構重復無限多次。

    每個餐館確切地被提交一次;這樣這個城市中的餐館被組織成一個具有無限分支、無限深度的樹。注意每個餐館在樹中與一層相關聯。樹根的餐館在第1層,根餐館的table的card上涉及到的餐館在第2層,如此下去。如下圖。

    

    這張圖中涉及到3層,每個box表示一個餐館,有無限多table。如圖第1層有5張桌子,每張桌子引用下一層的唯一的table。在這種結構中,5個游客沿着4條唯一的路徑visit餐館。在hLDA模型中,每個餐館具有topic分布Beta.每個文檔被假設假設沿着一個隨機選擇的路徑,從topic分布中選擇它的word。

    一個游客到這個城市度假,第一天晚上,他進入根上的中觀餐館並且選擇了一張table,采用CRP分布選擇table。第二天晚上,他去第一天晚上的餐館table上標識得餐館,這樣一直重復下去。M個游客餐館這個城市后,路徑的集合就描述了無限樹的隨機子樹;子樹中一個分支因子,在所有節點上有至多為M。

    (圖中每個Beta表示1個餐館,根上表示1個餐館(有1,2,3,4,5游客來),這個餐館的table指向了3個餐館,1,2游客去了第二層最左邊的餐館,3,5游客去了第二層中間的餐館,4游客去了第二層最右邊的餐館)

    有許多方法在樹上設置先驗分布,我們的特殊選擇是基於幾個考慮。首要的是,一個先驗分布與似然結合以產生后驗分布。

4.Hierarchical Latent Dirichlet Allocation

    nCRP提供了在樹拓撲上定義先驗的方法,不受分支因子(數目)或深度的限制。我們采用這種分布作為概率topic模型的一個組成部分。

    topic模型的目標是識別Document中word的子集。早期的topic建模起源於潛在語義分析,隨后的工作將topic看做word上的概率分布,使用基於似然的方法從詞庫中估計這些分布。在LDA中概率topic模型被作為全Bayesian對待。

    像LDA這樣的topic模型,將topics對待為“flat”概率集合,在一個topic和另外topics之間沒有直接的聯系。這些模型可以從詞庫中發現topics,不能說明topic之間抽象的層次或者各種主題之間的聯系。

    我們提出的這個模型,建立在nCRP上,敵營了hierarchical topic model。這個模型將topics安排在tree中,具有一般性的主題應該出現在接近於root的位置,更具體的topics應該在葉子附近。

    定義這樣的模型,我們使用概率推斷同時識別topics和他們之間的關系。我們的方法定義層次topic model,基於識別由nCRP差生的帶有路徑的文檔。將ncRP增加到兩個方式去獲取文檔的產生模式,首先對樹中的每個節點,賦予一個主題(也就是word上的概率分布);第二,給定一個路徑選擇,使用GEM分布定義沿着這個路徑的topic的概率分布。給定一個draw,從GEM分布,document被產生,通過重復地選擇topic,根據draw定義的概率,然后從它選定的topic中選擇word。

    一般過程:

    

    這里,無限樹由nCRP定義,並且設置Cd表示第d個customer通過的路徑(例如document)。在hierarchical LDA(hLDA)中詞庫中的documents是假設從上面的過程中產生的。

    這里Z~Discrete(theta)分布,表示Z=i具有概率thetaI集合的離散分布.

    找到摘要(abstraction)的topic主題曾是是不同於層次聚類的。層次聚類是從下到上將每個節點看成葉子,結合產生根節點。內部節點反映的是下層節點的概括。而此方法:內部節點不是他們孩子節點的概括,而是反映了一種“共享”,第1張圖中,一個節點的高概率詞與其下層節點高概率詞是不同的。

    很重要的一點事,我們的方法是無監督學習方法,在我們已經定義的概率成分是潛在變量。也就是我們不需要假設topics是預先定義,也不需要建設document的嵌套分區或者主題在預定義的哪一層上。我們從Baysian計算中推斷實體,計算所有的潛在變量。

    注意,即使這個方法很靈活,模型仍然做了關於tree的假設。tree的大小、形狀和特征將由設置的hyerparameters集合來反映。影響最大的hyperparameter是Dirichlet參數——主題yita和stick-breaking(分塊?)參數,用作topic比例{m,pi}。yita控制topics的稀疏性;{m,pi}控制文檔中多少個詞可能來自於各種摘要的主題。小的yita將導致在小的words集合上產生topic,topics就多。如果設m大,例如m=0.5那么將可能從每個document中分配更多的words在抽象的更高層次上。設pi是大的,例如pi=100,意味着word分布將不可能脫離這樣的設置。

    最后,我們注意到,hLDA是展示nCRP的最簡單的模型,在更復雜的模型中,可以看率變體hLDA,每個文檔展示多條樹上的路徑。這可以使用兩層分布對word產生建模:首先選擇樹的路徑,然后為word選擇詞。

    最近對topic模型的擴展也可以考慮使用靈活的topic層次。在dynamic topic model中,文檔time stamped和隱藏的主題隨時間變化等。

    我們提出了另外的方法在text分析中使用層次概念。首先,我們學習topics層次而不是術語層次,這里topics是術語的分布,描述了數據中word發生的有意義的模式。此外,當關注text時,topics是簡化的word產生的分布,不依賴於詞的類型等其他信息,例如詞庫或語法。最后,我們的方法可以適應將來的數據。

    在我們的無參集合中,必須找到給定documents集合的層次、路徑分配和words層次分布對象的后驗分布。更進一步,我們需要能夠使用計算機的有限資源去做,hLDA不能再閉集上獲得,需要估計。

5.Probabilistic Inference

    使用Markov chain Monte Carlo(MCMC)算法估計hLDA的后驗概率。在本文中采用了Gibbs采樣,使用collapsed Gibbs Simpling[Liu 1994]。

    在hLDA中,我們采樣每個document的路徑Cd和每個詞對主題的層次分布,在路徑Zd,n上。我們邊緣化(marginalize out)參數BetaI和每個document的topc比例Thetad。對於單個文檔的Markov chain的演示如下:

    

   這是"A new approach to the maximum-flow problem"文章的摘要,摘要中的每個詞都被Wd,n都被在路徑上分配一個層次Zd,n,0表示最高層,2表示最底層。Gibbs采樣迭代取得文檔中所有word的Cd和Zd,n。

   隨后又一系列的參數推斷,還沒有完全看懂。

   6.Examples和Empirical Results

   一般來講,我們不能期望總是獲得正確的tree。這要依賴於數據集的大小,topics是多么的一致。在那些一詞多以或者topics之間比較相似的數據集中tree是不容易被識別的。

   hLDA與LDA的比較:首先在LDA中topic的數目是固定的參數,模式選擇過程需要選擇topics的數目。在層次Dirichlet process中可以解決這個問題。第二,給定topics集合,LDA沒有在詞庫中document使用的topics加以約束;而在hLDA中,document只能訪問在樹中存在於單一路徑上的topics。這樣來講LDA比hLDA更靈活。

   所以,可以擴展hLDA,先用LDA找到topics,然后再用hLDA建立topics的層次。

   進一步的工作,找到結合LDA和hLDA模型特征的合理的模型,可以考慮一個類hLDA層次模型,允許每個document沿着tree展開多條路徑。這樣的方法將更適用於full-text文章,而不是abstract。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM