機器學習統計學習


統計學習

前言:機器學習比較重要的幾部分:線性模型、統計學習、深度學習,線性部分包括SVM、壓縮感知、稀疏編碼,都是控制整個模型的稀疏性去做線性函數,偏 Discriminative 判別模型;統計學習主要通過統計方法對數據建模找到極大似然,偏 Generative 生成方法;深度學習就是 neural model,偏非線性。

機器學習中的統計多是基於對事件的不確定性度量關於,是主觀的,而不是客觀地基於頻次。

EM算法 ( 期望最大算法,Expectation Maximum )

參考:EM-最大期望算法

隱含變量

給定訓練數據 \(D={(x^{(1)},y^{(1)}),...,(x^{(N)},y^{(N)})}\),一般想學習到的情況是 \(x^{(i)}\)\(y^{(i)}\) 之間的函數關系,但是在統計學習里想學習到的是 \(P(y^{(i)}|x^{(i)})\),在二分類問題里就是 \(P(0|x^{(i)})\)\(P(1|x^{(i)})=1-P(0|x^{(i)})\)

一般假設數據服從某種分布,根據給定數據估計分布函數的參數求極大似然值\(L(\mu,\sigma)=\prod_{i=1}^N P(x^{(i)}|\mu,\sigma)=\sum_{i=1}^N logP(x^{(i)}|\mu,\sigma)\)

隱含變量和概率分布的關系

變量 \(X\) 每一個維度都相互獨立

\[P(X)=P(x_1,x_2,...,x_n)=\prod_{j=1}^n P(x_j) \]

\(X\) 和某隱含變量 \(Z\) 相關

\[P(X)=\sum_ZP(X,Z)邊緣概率\\=\sum_ZP(X|Z)P(Z) \]

  • 已知 \(Z\)\(X\) 有某種隱含關系,\(P(X|Z)\) 是可以求出來的
  • \(P(Z)\) 可假設 \(Z\) 服從某種先驗分布

舉例

擲硬幣,\(X=\{0,1\}\),認為擲硬幣的結果可能和高度相關,\(Z\) 為擲硬幣的高度,拋擲高度、角度等都是假象的可能和結果有關的變量,我們假想這些因素來刻畫數據的肌理,就是所謂 Generative Model。

假設三枚硬幣 \(A,B,C\),擲出正面的概率分別為 \(\pi,p,q\),想象生成過程比較復雜,擲出 \(A\) ,若結果為 1 ,就擲 \(B\),若結果為 0 ,就擲 \(C\),每次先擲 \(A\),由 \(A\) 的結果決定擲 \(B\) 還是 \(C\),記下 \(B,C\) 的結果,生成 \(Y=(y^{(1)},y^{(2)},...,y^{(N)})\),如何預測 \(y^{(i)}\)

  1. 有參模型,\(\theta=(\pi,p,q)\)

  2. \(P(y|\theta)=\sum_ZP(y,Z|\theta)\),引入一個隱含變量 \(Z\),控制事件 \(y\),表示 \(A\) 硬幣的結果,\(Z=1\) 表示擲的硬幣 \(B\)\(Z=0\) 表示擲的硬幣 \(C\)

    • \(P(y|\theta)=\sum_ZP(y|Z,\theta)P(Z|\theta)\)

    • \(P(Z|\theta)=P(Z|(\pi,p,q))=\pi\),因為 \(P(Z=1|\theta)=\pi\)\(P(Z=0|\theta)=1-\pi\)

    • \(\sum_ZP(y|Z,\theta)=P(y|Z=1,\theta)+P(y|Z=0,\theta)\)

      • \(P(y|Z=1,\theta)=p^y(1-p)^{1-y}\)

        \(P(y|Z=0,\theta)=q^y(1-q)^{1-y}\)

  3. 拆開

    \[z=1\quad P(y|\theta)=\pi p^y(1-p)^{1-y}\\z=0 \quad P(y|\theta)=(1-\pi)q^y(1-q)^{1-y}\\\Rightarrow P(y|\theta)=\pi p^y(1-p)^{1-y}+(1-\pi)q^y(1-q)^{1-y} \]

  4. 似然值為

    \[P(Y|\theta)=\prod_{i=1}^NP(y^{(i)}|\theta)=\\\prod_{i=1}^N\pi p^{y^{(i)}}(1-p)^{1-y^{(i)}}+(1-\pi)q^{y^{(i)}}(1-q)^{1-y^{(i)}}\\=\sum_{i=1}^N log P(y^{(i)}|\theta) \]

  5. \(\pi,p,q\)。只知道 \(y^{(i)}\),如何估計 \(\pi,p,q\)

    • \(P(y|\theta)=\pi p^y(1-p)^{1-y}+(1-\pi)q^y(1-q)^{1-y}\)混合模型\(p^y(1-p)^{1-y}\) 是硬幣 \(B\) 擲出來的伯努利分布,\(q^y(1-q)^{1-y}\) 是硬幣 \(C\) 結果的伯努利分布。\(\pi\)\(1-\pi\) 就像兩個事情的權重,就是兩事件的混合模型 (多模態混合,\(\alpha_1P_1,...,\alpha_nP_n\)\(\sum_i\alpha_i=1\))。

    • \(p=\frac{num (B正面)}{N}\)\(q=\frac{num (C正面)}{N}\)\(\pi=\frac{num (B)}{N}\)

    • E.step

      \[\mu=\frac{\pi p^y(1-p)^{1-y}}{\pi p^y(1-p)^{1-y}+(1-\pi)q^y(1-q)^{1-y}} \]

      • 給出擲出結果是硬幣 \(B\) 擲出的概率
    • M.step:

      \[\pi = \frac{1}{N}\sum_{j=1}^{N} \mu_j \]

      • 對每一次擲出結果是硬幣 \(B\) 擲出的概率求均值,得出整體來說是硬幣 \(B\) 擲出的概率

      \[p=\frac{\sum_{j=1}^N \mu_j y^{(j)}}{\sum_{j=1}^N \mu_j} \]

      • \(y^{(j)}=1\) 正面,\(y^{(j)}=0\) 反面

      \[q=\frac{\sum_{j=1}^N (1-\mu_j) y^{(j)}}{\sum_{j=1}^N (1-\mu_j)} \]

      • \(\pi,p,q\) 進行最大化估計
  6. \(\theta_0=(\pi_0,p_0,q_0)\) 互相迭代至 \(\pi,p,q\) 不再變化,結果就是對 \(\pi,p,q\) 最好的估計

琴生不等式

  1. \(f\) 是凸函數,對任意變量 \(x\):

    \[E(f(x))\ge f(E(x)) \]

  2. \(f\) 是凹函數,對任意變量 \(x\):

    \[E(f(x))\le f(E(x)) \]

8.png

琴生不等式在EM的應用

求極大似然值

\[L(\theta)=\sum_{i=1}^m logP(x|\theta)=\sum_{i=1}^mlog\sum_zP(x,z|\theta) \]

  • \(z\) 隱含變量

展開

\[\sum_i logP(x^{(i)}|\theta)=\sum_ilog \sum_{z^{(i)}}P(x^{(i)},z^{(i)}|\theta)\\=\sum_ilog\sum_{z^{(i)}}Q_i(z^{(i)})\frac{P(x^{(i)},z^{(i)}|\theta)}{Q_i(z^{(i)})}\\ \ge \sum_i\sum_{z^{(i)}}Q_i(z^{(i)})log\frac{P(x^{(i)},z^{(i)}|\theta)}{Q_i(z^{(i)})} \]

  • \(E(g(x))=\sum_x g(x)P(x)\)
  • \(Q_i(z^{(i)})\) 表示 \(z^{(i)}\) 的概率分布 \(P(z^{(i)})\)
  • \(\sum_{z^{(i)}}Q_i(z^{i})\frac{P(x^{(i)},z^{(i)}|\theta)}{Q_i(z^{i})}\) 可看成函數 \(g(z^{(i)})=\frac{P(x^{(i)},z^{(i)}|\theta)}{Q_i(z^{i})}\) 數學期望
  • \(log\) 提出來,因為 \(log\) 是凹函數,根據琴生不等式 \(log(E(x))\ge E(log(x))\)

要提高極大似然值,就優化下界使最大化。函數 \(\sum_i\sum_{z^{(i)}}Q_i(z^{(i)})log\frac{P(x^{(i)},z^{(i)}|\theta)}{Q_i(z^{(i)})}\) 記作 \(E(f(z^{(i)}))\),要使得該期望最大化,需滿足 \(f(z^{(1)})=f(z^{(2)})=...=f(z^{(n)})\),即

\[\frac{P(x^{(i)},z^{(i)}|\theta)}{Q_i(z^{(i)})}=c \Leftrightarrow Q_i(z^{(i)}) \varpropto P(x^{(i)},z^{(i)}|\theta) \]

因為 \(\sum_zQ_i(z^{(i)})=1\),則

\[Q_i(z^{(i)}) = \frac{P(x^{(i)},z^{(i)}|\theta)}{\sum_z P(x^{(i)},z^{(i)}|\theta)}=\frac{P(x^{(i)},z^{(i)}|\theta)}{P(x^{(i)}|\theta)}=P(z^{(i)}|x^{(i)},\theta) \]

EM 算法公式表述

**迭代至收斂 **{

(E-step) ,for each \(i\),set

\(Q_i(z^{(i)}):=P(z^{(i)}|x^{(i)},\theta)\)

(M-step) ,set

$ \theta:= arg \ max_{\theta}\sum_i\sum_{z^{(i)}}Q_i(z^{(i)})log\frac{p(x^{(i)},z^{(i)}|\theta)}{Q_i(z^{(i)})}$
}

  • EM 算法常用於估計參數隱變量
  • EM 算法通過引入隱含變量,使用 MLE (極大似然估計) 進行迭代求解參數。
  • E-step 通過已有數據和現有模型估計隱含參數
  • M-step 假設隱含參數已知的情況下,最大化似然函數從而獲取新的參數值

高斯混合模型 ( Gaussian Mixed Model, GMM)

高斯分布 ( 正態分布 ) 函數:\(X \sim N(\mu,\sigma^2)\)

高斯混合模型就是多個高斯分布函數的線性組合,通常用於處理同一集合數據分布類型不同的情況。

高斯混合模型能夠平滑地近似任意形狀的密度分布。

二維混合模型

假設第一個高斯分布參數為 \(\mu_1,\sigma_1\),第二個高斯分布參數為 \(\mu_2,\sigma_2\),混合兩個高斯分布的模型滿足

\[P(x|\theta)P(x|\mu_1,\mu_2,\delta_1,\delta_2,\pi)\\=\pi N(\mu_1,\delta_1)+(1-\pi)N(\mu_2,\delta_2) \]

給定數據為 \(D=\{x^{(1)},x^{(2)},...,x^{(N)}\}\)

參數的極大似然值

\[L(\theta)=arg \ maxP(D|\theta)\\=arg \ max \prod_{i=0}^N P(x^{(i)}|\theta)\\=arg \ max \sum_{i=1}^N log P(x^{(i)}|\theta) \]

如何求 \(P(x^{(i)}|\theta)\)

\[P(x|\theta)=\sum_zP(x,z|\theta)\\=\sum_z P(x|z,\theta)P(z|\theta)\ (由聯合概率變為條件概率和其先驗分布)\\ =\sum P(x|z=0,\theta)P(z=0|\theta)+P(x|z=1,\theta)P(z=1|\theta)\\=\pi N(\mu_1,\delta_1)+(1-\pi)N(\mu_2,\delta_2) \]

對觀察數據 \(x^{(j)}\) 推測屬於哪個高斯分布函數,概率為

\[w^{(j)}=\frac{\pi \cdot P(x^{(j)}|\mu_1,\delta_1)}{\pi \cdot P(x^{(j)}|\mu_1,\delta_1)+(1-\pi) \cdot P(x^{(j)}|\mu_2,\delta_2)} \]

  • 這步是 \(E-step\),估計參數

\[\pi=\frac{\sum_{j=1}^N w^{(j)}}{N}\\\mu_1=\frac{\sum_{j=1}^N w^{(j)}x^{(j)}}{\sum_{j=1}^Nw^{(j)}}\\\mu_2=\frac{\sum_{j=1}^N (1-w^{(j)})x^{(j)}}{\sum_{j=1}^N(1-w^{(j)})}\\\delta_1^2=\frac{w^{(j)}(x^{(j)}-\mu_1)^2}{\sum_{j=1}^Nw^{(j)}}\\\delta_2^2=\frac{(1-w^{(j)})(x^{(j)}-\mu_2)^2}{\sum_{j=1}^N(1-w^{(j)})} \]

  • 這是 \(M-step\),代入參數估計值

多維混合模型

\[p(x)=\sum_{k=1}^K\pi_kN(x|\mu_k,\delta_k) \]

  • \(N(x|\mu_k,\delta_k)\) 稱為混合模型中第 \(k\) 個分量
  • \(\pi_k\) 是混合系數,是每個分量的權重,是每個分量被選中的概率
  • \(\sum_{k=1}^K\pi_k=1\ (0 \le \pi_k \le 1)\)

隱馬爾可夫模型

馬爾可夫鏈 ( Markov chain ),又稱離散時間馬爾可夫鏈,因俄國數學家安德烈. 馬爾可夫得名,為狀態空間中從一個狀態到另一個狀態轉換的 "無記憶" 隨機過程,下一狀態的概率分布只能由當前狀態決定。

隱馬爾可夫模型 ( Hidden Markov Model ),有隱含變量控制的馬爾科夫鏈,狀態並不是直接可見的,但受狀態影響的某些變量則是可見的。每一個狀態在可能輸出的符號上都有一概率分布。因此輸出符號的序列能夠透露出狀態序列的一些信息。

9.png

舉例

假設你有一個住得很遠的朋友,他每天跟你打電話告訴你他那天做了什么。你的朋友僅僅對三種活動感興趣:公園散步,購物以及清理房間。他選擇做什么事情只憑天氣。你對於他所住的地方的天氣情況並不了解,但是你知道總的趨勢。在他告訴你每天所做的事情基礎上,你想要猜測他所在地的天氣情況。

你認為天氣的運行就像一個馬爾可夫鏈。其有兩個狀態“雨”和“晴”,但是你無法直接觀察它們,也就是說,它們對於你是隱藏的。每天,你的朋友有一定的概率進行下列活動:“散步(W)”、“購物(S)”、“清理(C)”。因為你朋友告訴你他的活動,所以這些活動就是你的觀察數據。這整個系統就是一個隱馬爾可夫模型(HMM)。

假設朋友告訴你一連串活動 CSSSCWWSCW 問下一次朋友做什么活動的概率最大。

對於復雜系統需要學習合適參數使得參數能最大擬合給定數據,這就是一個如何訓練隱馬爾可夫鏈的問題。

記狀態轉移矩陣 A ,描述的是天氣運行的狀態轉移概率

\[A=\left[\begin{matrix}0.8&0.4\\0.2&0.6\end{matrix}\right]=a_{q_t,q_{t+1}}\quad q_t \in\{Sunny,Rainy\} \]

  • 描述的是當前狀態為 "雨" 或 "晴" 時,下一狀態為 "雨" 或 "晴"的概率
  • \(q_t\) 是隱含變量,無法觀測到

記生成矩陣 B,描述的是天氣狀態與活動之間的生成概率

\[B=\left[\begin{matrix}0.1&0.5\\0.2&0.3\\0.7&0.2\end{matrix}\right]=b_{q_t,y_t}\quad q_t \in\{Sunny,Rainy\},y_t\in\{Clean,Walk,Shop\} \]

  • \(y_t\) 是實際觀察到的數據,根據 \(q_t\) 生成

記初始狀態,即初始天氣狀態的概率

\[P(Sunny)=\pi\quad P(Rainy)=1-\pi \]

則給定的條件用公式描述為

\[P(y|\theta)=P(y|A,B,\pi) \]

則計算某一時刻的狀態,即聯合概率 \(P(q^{(i)},y^{(i)})=P(y^{(i)}|q^{(i)})P(q^{(i)})\)

\[P(Q,Y)=P(q^{(0)})\prod_{t=0}^{T} P(q^{(t+1)}|q^{(t)})\prod_{t=0}^{T}P(y^{(t)}|q^{(t)})\\=\pi \prod_{t=0}^{T}a_{q^{(t)},q^{(t+1)}}\prod_{t=0}^{T}b_{q^{(t)},y^{(t)}} \]

\[P(y)=\sum_QP(Q,Y)=\sum_{q^{(0)}}\sum_{q^{(1)}}...\sum_{q^{(T)}}\pi \prod_{t=0}^{T}a_{q^{(t)},q^{(t+1)}}\prod_{t=0}^{T}b_{q^{(t)},y^{(t)}} \]

前向后向算法

把隱馬爾可夫鏈分為兩個部分,前邊部分為 \(q^{(t)}\) 前包括 \(q^{(t)}\) ,后邊部分為 \(q^{(t+1)}\)\(q^{(T)}\)

對隱含狀態的估計 \(P(q^{(t)}|y)=\frac{P(y|q^{(t)})P(q^{(t)})}{P(y)}=\frac{P(y^{(0)},y^{(1)},...,y^{(t)}|q^{(t)})P(q^{(t)})P(y^{(t+1)}...y^{(T)}|q^{(t)})}{P(y)}\)

構造 \(\alpha, \beta\) 函數

\[\alpha(q^{(t)})=P(y^{(0)},y^{(1)},...,y^{(t)},q^{(t)}) \]

\[\beta(q^{(t)})=P(y^{(t+1)}...y^{(T)}|q^{(t)}) \]

\[P(q^{(t)}|y)=\frac{\alpha(q^{(t)})\beta(q^{(t)})}{P(y)} \]

因為

\[\alpha(q^{(t+1)})=P(y^{(0)},y^{(1)},...,y^{(t)},y^{(t+1)},q^{(t+1)})\\=P(y^{(0)},y^{(1)},...,y^{(t+1)}|q^{(t+1)})P(q^{(t+1)})\\=P(y^{(0)},y^{(1)},...,y^{(t)}|q^{(t+1)})P(y^{(t+1)}|q^{(t+1)})P(q^{(t+1)})\\=\sum_{q^{t}}P(y^{(0)},y^{(1)},...,y^{(t)},q^{(t)}|q^{(t+1)})P(y^{(t+1)}|q^{(t+1)})P(q^{(t+1)})\\發現P(q^{(t+1)})可寫成聯合概率形式\\=\sum_{q^{t}}P(y^{(0)},y^{(1)},...,y^{(t)},q^{(t)},q^{(t+1)})P(y^{(t+1)}|q^{(t+1)})\\P(y^{(t+1)}|q^{(t+1)})就是b_{q+1,y+1}\\=\sum_{q^{t}}P(y^{(0)},y^{(1)},...,y^{(t)},q^{(t+1)}|q^{(t)})P(q^{(t)})b_{q+1,y+1}\\=\sum_{q^{t}}P(y^{(0)},y^{(1)},...,y^{(t)}|q^{(t)})P(q^{(t+1)}|q^{(t)})P(y^{(t+1)}|q^{(t+1)})\\=\sum_{q^{t}}P(y^{(0)},y^{(1)},...,y^{(t)},q^{(t)})P(q^{(t+1)}|q^{(t)})b_{q+1,y+1}\\=\sum_{q^{t}}\alpha(q^{(t)})a_{q^t,q^{t+1}}b_{q+1,y+1} \]

每一時刻的 \(\alpha\) 值都是前一時刻 \(\alpha\) 值的累加乘所有可能的狀態轉移概率與生成概率。

其他兩個問題參考

機器學習算法之隱馬爾可夫模型

主題模型

Dirichlet 分布


免責聲明!

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



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