LDA總結 一 共軛分布

2022-07-04 08:36:11 字數 2223 閱讀 5175

今天開始,複習一下 lda ,記錄一些 lda 的關鍵步驟,為寫好**做鋪墊。第一節的主題是共軛分布,回憶貝葉斯公式:

\[p(\theta|x) = \frac \leftrightarrow \mathbf}\]

簡單來說,如果先驗分布 $p(\theta)$ 和似然函式 $p(x|\theta)$ 可以使得先驗 $p(\theta)$ 和後驗分布 $p(\theta|x)$ 有相同的形式,那麼就稱先驗分布與似然函式是共軛分布。

共軛的意義在於是共軛特性可以使得先驗分布和後驗分布的形式相同,這樣一方面合符人的直觀(它們應該是相同形式的)另外一方面是可以形成乙個先驗鏈,即現在的後驗分布可以作為下一次計算的先驗分布,如果形式相同,就可以形成乙個鏈條,後驗又可以作為下一次的先驗分布。

binomial 分布

n 次 binomial 分布試驗中事件發生 k 次的概率是:

\[ p(k;n,p) = c_n^k \cdot p^k (1-p)^ \]

beta分布

beta 分布有幾個重要的概念,紛紛介紹之:

1. gamma 函式

\[\gamma(x) = \int_0^t^e^dt\]

它具有如下性質

\[\gamma(x+1) = x\gamma(x)\]

2. beta函式

\[b(m,n) = \frac\]

綜上,給出 beta 分布:

\[f(x) = \fracx^(1-x)^\]

multinomial 分布

\[p( \vec n |\vec p ,n) = \frac \prod_^k p_k^\]

這裡有 $n _k$ 代表第 k 個事件發生的計數,且有 $

n = n_1 + n_2+…+n_k$.

d

irichlet分布

\[dir(\vec p|\vec \alpha)=\frac^k\alpha_k)}^k\gamma(\alpha_k)}\prod_^kp_k^\]

beta分布和dirichlet分布的性質

共軛性質

舉例來說,multinomial  分布中事件 k 發生的次數為 $n_k$ ,則可得乙個向量 $ \ vec n $, 代表每個事件的計數,直接使用 multinomial   的 mle 得到的結果為:

\[p_k = \frac\]

當對該 multinomial 分布引入乙個 先驗為 $\vec $ 的 d

irichlet 分布後,即:

\[ p(\vec p) \sim dir( \vec p| \vec a)\]

採用完全貝葉斯推斷的方法,得到該 d

irichlet 分布的後驗分布為:

\[dir(\vec p | \vec a) + multi(\vec n)= dir(\vec p | \vec a + \vec n)\]

期望性質

如果 $p \sim beta(t|\alpha,\beta)$ ,則

\begine(p)&=\int_0^1 t*beta(t|\alpha,\beta)dt\\&=\int_0^1 t*\frac t^(1-t)^dt\\&=\frac\int_0^1 t^\alpha(1-t)^dt\end

上式右邊的積分對應到概率分布 $beta(t|\alpha +1,\beta)$

\[beta(t | \alpha +1,\beta)=\int_0^1 t*\frac t^\alpha(1-t)^dt\]

而且我們有

\[\int_0^1beta(t|\alpha +1,\beta)dt=1\]

所以我們有

\[\int_0^1 t^\alpha(1-t)^dt=\frac\]

把上式帶入e(p) 中得到 beta 分布的期望:

\[e(p)=\frac\cdot\frac=\frac\]

同樣的,對於dirichlet分布我們可以得到其期望值:

\[e(\vec p)=(\frac\alpha_i},\frac\alpha_i},...,\frac\alpha_i})\]

總結一下二分搜尋

二分搜法,是通過不斷縮小解可能存在的範圍,從而求得問題最優解的方法。舉個例子 從有序陣列中查詢某個值 lower bound 給定長度是n的單調不下降序列,a 0 a 1 a 2 a n 1 和乙個數k,求滿足a i k條件的最小的i。不存在的情況下輸出n.限制條件 1 n 10 6 0 k 10 ...

Laravel 一部分總結

1.使用命令自動建立model層 進入所在目錄 php artisan make model test 2增刪改查 toarray 將資料變成陣列 public functionusertest 增 預設有兩個字段,可以在model層關閉,或者在表中新增 public timestamps fals...

物件導向一部分總結

1.靜態變數 加 static 屬於類,程式執行時,就分配空間,常用作常量,使用類就可以呼叫。2.例項變數 不加 static 屬於物件,在例項化 new 時,分配空間。3.區域性變數 在函式內的變數 屬於某個 塊 函式 在呼叫呼叫這個函式時,分配空間。後期靜態繫結 class a public s...