頻率派和貝葉斯派是兩種不一樣的學派。頻率派認爲事件發生的機率徹底由已有數據決定;而貝葉斯學派認爲事件發生的機率自己就符合必定的機率分佈,而這個分佈是人爲主觀肯定的,也就稱之爲先驗分佈。頻率派的表明主要就是極大似然估計(MLE),而貝葉斯學派的表明有極大後驗估計和貝葉斯估計。
仍是先複習下貝葉斯公式
$$P(\theta|X)=\dfrac{P(X|\theta)P(\theta)}{\sum_iP(X|\theta_i)P(\theta_i)}$$函數
MLE最大化$L(\theta|D)=\argmax\limits_\theta\prod\limits_{i=1}^{n} P(x_i|\theta)$.MLE是徹底依靠已知數據作出結論,不摻雜任何的先驗。當數據量很大時,$\hat{\theta}_{MLE}$會估計的很好;但數據量很小時,可能會獲得離譜的不可靠結果。事件
設X爲硬幣正面朝上的機率爲$\theta$,正面爲1,反面爲0,則一次拋硬幣事件的機率分佈爲$P(X=x_i|\theta)\begin{cases} \theta,x_i=1(正面) \\ 1-\theta,x_i=0(反面) \end{cases}$,則:
$$P(X=x_i|\theta)=\theta^{x_i}(1-\theta)^{1-x_i}$$
假設拋了n次硬幣,則MLE使如下似然函數最大化:
$$\hat{\theta}_{MLE}=\argmax\limits_{\theta}\prod\limits_{i=1}^{n} P(x_i|\theta)=\argmin\limits_{\theta}-\sum\limits_{i=1}^{n}log P(x_i|\theta)$$
上式對$\theta$求導得:
$$\sum\limits_{i=1}^{n}(\dfrac{x_i}{\theta}-\dfrac{1-x_i}{1-\theta})=0$$
通分化簡求$\theta$得:
$$\hat{\theta}_{MLE}=\dfrac{\sum\limits_{i=1}^{n}x_i}{n}$$
這不就是數一數硬幣正面朝上得比例嘛,若是硬幣拋了兩次,所有反面朝上,則獲得正面朝上得機率爲0......
可是,一旦數據多了起來,則結果會愈來愈準確it
貝葉斯派與頻率派的區別是使用了先驗機率,即認爲參數得取值符合必定的機率分佈,而這個分佈是人爲選擇的,所以稱爲先驗。貝葉斯派又有兩種:極大後驗估計和貝葉斯估計,兩者的區別是貝葉斯估計須要求出具體的機率分佈並經過貝葉斯決策獲得參數的最優估計,使整體指望風險最小。變量
極大後驗估計,和MLE相似,是點估計的一種,在似然項後面跟了先驗機率。
$$\hat{\theta}_{MAP}=\argmax\limits_{\theta}\prod\limits_{i=1}^{n} P(x_i|\theta)\cdot P(\theta)=\argmin\limits_{\theta}-\sum\limits_{i=1}^{n}log P(x_i|\theta)\cdot P(\theta)$$lambda
貝葉斯估計則是須要求出參數分佈,即求出貝葉斯公式中的後驗機率$P(\theta|X)$,而後作一個羣體決策,若是用公式表示,則貝葉斯估計求參數以下:
$$\hat{\theta}_{Bayes}=\int\theta P(\theta|X)d\theta$$
固然,這是假設損失函數爲均方損失時計算得來的。方法
前面咱們已經經過三種方法對參數$\theta$作出了估計。此時,若新數據來臨,則三種方法作預測的步驟是:
$$\begin{cases} MLE:根據參數直接預測P(X=x^{new}|\theta),參數\theta已知 \\ MAP:根據參數直接預測P(X=x^{new}|\theta),參數\theta已知 \\ Bayes估計: P(x^{new}|X)=\int P(\theta|X)P(x^{new}|X,\theta)d\theta=\int P(x^{new},\theta|X)d\theta,先根據X計算全部\theta,再積分 \end{cases}$$im
機率的機率分佈其實就是小數(0-1之間)的分佈,之因此要講機率的機率分佈,是由於有兩點好處,一點是機率的機率分佈能夠由此建模;第二點是用此作先驗能夠和似然組成共軛分佈,使得後驗機率與先驗機率同分布。經驗
$$P(\theta|\alpha,\beta)=\dfrac{\theta^{\alpha-1}(1-\theta)^{\beta-1}}{B(\alpha,\beta)}$$
其中,α和β是兩個控制參數,分母是標準化函數,使其成爲一個機率分佈。Beta分佈有以下優勢:數據
迪利克雷分佈與beta分佈相似,不過是對多分類參數機率分佈建模,且與多項式分佈組成共軛分佈
$$P(\theta_1,\theta_2,...,\theta_k|\alpha_1,\alpha_2,...,\alpha_k)=\dfrac{1}{B(\alpha_1,\alpha_2,...,\alpha_k)}\prod\limits_{i=1}^{k}\theta_i^{\alpha_i-1}$$標籤
前面提到過拋硬幣,假設拋了m次硬幣,其中$m_\alpha$次朝上,$m_\beta$次朝下,則似然項$P(X|\theta)=\theta^{m_\alpha}(1-\theta)^{m_{_\beta}}$。若是此時咱們認爲硬幣朝上的機率不應該簡單的認爲是數次數,而應該是知足必定的機率分佈,那麼假設咱們選擇beta分佈做爲先驗,依據貝葉斯公式,則後驗機率$P(\theta|X)$可表示爲:
$$P(\theta|X)\propto P(X|\theta)\cdot P(\theta)$$
若是先驗選擇Beta分佈B(α,β),則後驗機率可表示爲:
$$\begin{aligned} P(\theta|X) & \propto \theta^{m_\alpha}(1-\theta)^{m_{_\beta}}\cdot \theta^{\alpha-1}(1-\theta)^{\beta-1} \\ & \propto \theta^{m_\alpha+\alpha-1}(1-\theta)^{m_{_\beta}+\beta-1} \end{aligned}$$
會發現,後驗分佈也符合Beta分佈,與先驗分佈同類,只不過參數有所變化,此時稱先驗分佈和後驗分佈爲共軛分佈,先驗稱爲似然的共軛先驗。
共軛分佈有不少好處,最重要的是計算方便。當來了新的觀測數據時,咱們只須要簡單的修改參數α和β,使之成爲新的先驗分佈。
加了Beta分佈的拋硬幣,theta的預測再也不是數次數,而是使用貝葉斯估計,經過積分求指望獲得。前面說過,此時的後驗機率屬於Beta分佈,而Beta分佈的指望是$\dfrac{\alpha}{\alpha+\beta}$,對於拋硬幣來說,參數的估計(指望)變成了$\dfrac{\alpha+m_\alpha}{\alpha+m_\alpha+\beta+m_\beta}$。假設咱們設置α=β=100,即先驗認爲拋硬幣正面朝上的機率最多是0.5,那麼經過實驗拋硬幣,即便開始的幾回拋硬幣全是反面,那麼咱們所得出的結論也不會有太大問題。
此外,α和β能夠是歷史數據,也但是人爲設置的初值。更能夠說,α和β像是先驗強度,當咱們將α和β設置的很大時(好比10000),咱們須要足夠多的數據糾正先驗(若是先驗不正確),若是設置的很小(10),咱們只須要少許數據便可修改先驗,或者說咱們對參數的機率分佈也不肯定。
先驗就是在數據少時防止推斷出過於不可靠的結果,換句話說,先驗是在數據量不多時對誤差的修正。具體來講,若是貝葉斯作參數估計,或者說作預測(預測新硬幣正面朝上的機率和估算硬幣正面朝上的機率參數等價),則:
$$\hat{\theta}_{Bayes}=\int\theta P(\theta|X)d\theta=\dfrac{\alpha+m_\alpha}{\alpha+m_\alpha+\beta+m_\beta}$$
當使用MLE作預測,似然函數以下:
$$\prod\limits_{i=1}^{n} P(x_i|\theta)=\theta^{m_\alpha}(1-\theta)^{m_{_\beta}}$$
參數估計以下:
$$\hat{\theta}_{MLE}=\argmax\limits_{\theta}\prod\limits_{i=1}^{n} P(x_i|\theta)=\argmin\limits_{\theta}-\sum\limits_{i=1}^{n}log P(x_i|\theta)$$
求導後,解得最優θ爲$\dfrac{m_\alpha}{m_\alpha+m_\beta}$
兩者進行比較,能夠發現,在前期數據少的時候,先驗主導了參數估計,使得預測不至於太差;而隨着數據量增多,先驗知識逐漸減弱,數據的重要性逐漸加強,所以,數據量比較小的時候,先驗每每可以帶來好處。
Laplace平滑在樸素貝葉斯里面會用到的一種方法,理論正好是這篇文章中寫的,就順便在這裏先寫了。
多分類場景下,咱們要預測各個類別可能的機率。則貝葉斯作以下估計:
$$P(\theta_1,\theta_2,...,\theta_k|X)\propto P(X|\theta_1,\theta_2,...,\theta_k)P(\theta_1,\theta_2,...,\theta_k)$$
其中,似然項爲多項式分佈:$P(X|\theta_1,\theta_2,...,\theta_k)=\theta_1^{m_1}\theta_2^{m_2}...\theta_k^{m_k}$,先驗爲迪利克雷分佈:$P(\theta_1,\theta_2,...,\theta_k)=\theta_1^{\alpha_1-1}\theta_2^{\alpha_2-1}...\theta_k^{\alpha_k-1}$,則後驗分佈與先驗分佈組成共軛分佈:
$$P(\theta_1,\theta_2,...,\theta_k|X)\propto \theta_1^{m_1+\alpha_1-1}\theta_2^{m_2+\alpha_2-1}...\theta_k^{m_k+\alpha_k-1}$$
當作預測時X屬於第j類:
$$\begin{aligned}P(Y=c_j|X) & =\int P(Y=j,\theta_j|X)d\theta_j \\ & =\int P(Y=j,|X,\theta_j)P(\theta_j|X)d\theta_j \\ &=\int \theta_jP(\theta_j|X)d\theta_j\end{aligned}$$
咱們看到,第二步向第三步轉化是由於$\theta_j$自己就表明屬於第J類的機率
所以預測即求指望的過程,而迪利克雷的指望爲:
$$P(Y=c_j|X)=\dfrac{m_j+\alpha_j}{\sum\limits_{i=1}^{k}(m_i+\alpha_i)}=\dfrac{m_j+\alpha_j}{N+\sum\limits_{i=1}^{k}\alpha_i}$$
當咱們簡單的認爲每一個類別出現的機率一致,即α爲λ,則公式化簡爲:$P(Y=c_j|X)=\dfrac{m_j+\lambda}{N+k\lambda}$。當λ取值爲1時,則稱爲Laplace平滑,當λ爲0時,則不摻先驗,變成了MLE。
注意,樸素貝葉斯參數估計爲貝葉斯估計,而標籤訓練爲極大後驗估計。
貝葉斯推斷就是更新數據認知的過程。新數據來了後,計算後驗,而後經過後驗更新先驗。
或者說貝葉斯推斷就是經過反覆使用貝葉斯定理,持續更新對未知變量的認知的過程
結構風險-MLE指望風險-Bayes經驗風險-MAP