這篇部落格主要是介紹如何對貝葉斯平滑的引數進行估計,以及具體的**實現。
首先,我們回顧一下前文中介紹的似然函式,也就是我們需要進行最大化的目標函式:
下面我們就基於這個目標函式介紹怎樣估計引數。
矩估計在這裡有點亂入的意思:),因為它其實不是用來最大化似然函式的,而是直接進行引數的近似估計。
矩估計的方法要追溯到19世紀的karl pearson,是基於一種簡單的 「替換」 思想建立起來的一種估計方法。 其基本思想是用樣本矩估計總體矩. 由大數定理,如果未知引數和總體的某個(些)矩有關係,我們可以很自然地來構造未知引數的估計。具體計算步驟如下:
1)根據給出的概率密度函式,計算總體的原點矩(如果只有乙個引數只要計算一階原點矩,如果有兩個引數要計算一階和二階)。由於有引數這裡得到的都是帶有引數的式子。比如,有兩個引數時,需要先計算出:期望
2)根據給出的樣本,按照計算樣本的原點矩。通常它的均值mean用
3)讓總體的原點矩與樣本的原點矩相等,解出引數。所得結果即為引數的矩估計值。這裡有,mean = e(x) = α / (α+β),var = d(x) = αβ / (α+β)2(α+β+1)。於是乎,我們可以求得α,β:
α = [mean*(1-mean)/var - 1] * mean
β = [mean*(1-mean)/var - 1] * (1-mean)
首先構造出似然函式,然後利用fixed-point iteration來求得似然函式的最大值。
1)首先給出引數的乙個初始值(通常可以使用矩估計得到的結果作為初始值)。
2)在初始值處,構造似然函式的乙個緊的下界函式。這個下界函式可以求得其最大值處的閉式解,將此解作為新的估計用於下一次迭代中。
3)不斷重複上述(2)的步驟,直至收斂。此時便可到達似然函式的stationary point。如果似然函式是convex的,那麼此時就是唯一的最優解。
其實fixed-point iteration的思想與em類似。
首先給出兩個不等式關係:
由此可以得到對數似然函式的乙個下界:
想要得到此下界函式的最大值,可以分別對α,β求偏導,並令之等於零,此時便得到α和β各自的迭代公式:
由此,每次迭代,引數都會達到此次下界函式的最大值處,同時也就使得對應的似然函式值也相應地不斷增大,直至收斂到似然函式的最大值處。
通過將概率引數作為隱含變數,任何估計概率引數的演算法都可以使用em進一步變成估計個數引數的演算法。
(2)m-step:對e-step中的期望值求最大值,便可得到相應的超引數的本輪迭代的更新值。
(3)不斷重複地執行e-step和m-step,直至收斂。
而此時的完全資料的對數似然函式的期望為:
其中,於是乎,我們可以對完全資料的對數似然函式的期望求最大值,從而得到α,β的更新值,有很多方法,直接求偏導,梯度下降,牛頓法等。
但是呢,此時我們並不需要非常精確地求得它的最大值,而是僅僅用牛頓法迭代一次。相比於精確地求得最大值,這種方法在每次迭代時只有一半的計算量,但是迭代次數會超過兩倍。
牛頓法的迭代可見:
實戰中的貝葉斯
貝葉斯,人人都學過一點,大部分人都以為自己懂了,不就是乙個條件概率公式嗎,其實還真沒那麼簡單,想完全學通弄透還是要花點力氣的 下面的都是你必須弄懂的 貝葉斯學派和頻率學派的區別之一是特別重視先驗資訊對於inference的影響。我們的概率主要有如下幾種 p 先驗分布 p x 後驗分布 p x p x...
大資料中的貝葉斯學習
在大資料時代,種類多樣的科學與工程資料快速增加。由於物理環境的隨機性 資料雜訊 資訊不完全等因素的存在,大資料中具有普遍的不確定性。如何對大資料進行有效的不確定性建模和高效計算是機器學習面臨的重要挑戰。貝葉斯方法自1763年提出以來,已有250多年的歷史,在人工智慧 機器學習的眾多領域得到了廣泛應用...
機器學習中的MLE MAP 貝葉斯估計
mle 極大似然估計 map 最大後驗估計 以及貝葉斯估計 bayesian 仍有可能一知半解。對於乙個基礎模型,通常都可以從這三個角度去建模,比如對於邏輯回歸 logistics regression 來說 logistics regression map regularized logistic...