咱們進行參數估計的方法通常主要有最大似然估計和貝葉斯估計。這裏提一下兩種估計的門派來加深理解:算法
最大似然估計屬於統計學裏的頻率學派。頻率派從事件自己出發,認定事件自己是隨機的。事件在重複試驗中發生的頻率趨於極限時,這個極限就是該事件的機率。事件的機率通常設爲隨機變量,當變量爲離散變量時,變量的分佈用機率質量函數來表徵;變量連續時,則用機率密度函數去表徵。框架
貝葉斯估計屬於統計學裏的貝葉斯學派。貝葉斯學派從觀察者角度出發,構造一個框架,使用人的已有知識來推理未知的事物。也就是咱們常說的利用先驗知識不斷更新後驗知識。機器學習
你們有興趣的深刻了解兩個學派不一樣之處的能夠看一下<u>貝葉斯學派與頻率學派有何不一樣</u>ide
下面來介紹機器學習中的兩種估計方法及它們的不一樣之處。函數
首先說一下點估計,點估計是爲一些感興趣的量提供「最優」預測的,而預測就是經過求解一個訓練數據集爲輸入的函數從而獲得咱們想要的估計值。至於這個函數怎麼選取,就須要一個準則來判斷了。最大似然估計每每能夠提供這個準則來構建估計的函數。學習
考慮一組具備 m 個樣本的數據集 \(X=\lbrace x^{(1)},\ldots ,x^{(m)}\rbrace \) ,獨立地由未知的真實數據生成分佈 \(p_{data}(x)\) 生成。優化
令 \(p_{model}(x;\theta)\) 是一族由參數 \(\theta \) 肯定在相同空間上的機率分佈(簡稱模型族)。咱們的目標就是找到最大的機率分佈及其對應的參數 \(\theta \) 。最大似然估計定義以下:spa
$$ \theta _{ML}=\arg \max _{\theta } p _{model} \left( X;\theta \right), $$3d
$$ =\arg \max _{\theta } \prod ^{m} _{i=1} p _{model} \left( x^{(i)};\theta \right). $$事件
由於多個機率的乘積可能會引發數值計算的下溢,因此咱們引入似然對數將乘積化爲便於計算的求和形式:
$$ \theta _{ML}=\arg \max _{\theta } \sum ^{m} _{i=1} \log p _{model} \left( x^{(i)};\theta \right). $$
咱們再除以樣本數 m 即可以獲得和訓練數據經驗分佈 \( \widehat {p} _{data} \) 相關的指望來做爲準則:
$$ \theta _{ML}=\arg \max _{\theta } E _{x \sim \widehat{p} _{data} } \log p _{model} \left( x^{(i)};\theta \right). $$
爲了更好地解釋最大似然,咱們能夠將最大似然當作最小化訓練集上的經驗分佈 \( \widehat {p} _{data} \) 和模型分佈之間的差別,差別能夠用<u> KL 散度(相對熵)</u>來表徵,其表達式以下:
$$ D _{KL} \left( \widehat {p} _{data} \mid \mid p _{model} \right) = E _{x \sim \widehat{p} _{data} } \left[ \log \widehat {p} _{data} \left( x \right) - \log p _{model} \left( x \right) \right] $$
很明顯,左邊一項僅和數據生成過程有關,與模型無關。因此咱們要減少經驗分佈和模型分佈之間的差別,只要最小化右邊一項:
$$ - E _{x \sim \widehat{p} _{data} } \log p _{model} \left( x \right) $$
這與上述最大化準則等價。
最大似然估計一般是機器學習中的首選估計,主要是由於它的兩個性質:
可是要注意的是,上述的性質基於兩個條件:
貝葉斯估計不一樣於最大似然估計只基於估計單一值 \( \theta \) ,它考慮了全部可能的 \( \theta \) 。
在觀察到數據前,\( \theta \) 的已知知識須要被表示成先驗機率分佈,即 \( p( \theta) \) (簡稱「先驗」)。通常,先驗會選擇一個至關寬泛的分佈(高熵),來反映觀測到任何數據前參數 \( \theta \) 的高度不肯定性。
假設有一組數據樣本 \(X=\lbrace x^{(1)},\ldots ,x^{(m)}\rbrace \) 。經過貝葉斯規則結合數據似然 \( p(x^{(1)},\ldots ,x^{(m)} \mid \theta ) \) 和先驗,咱們能夠獲得參數 \( \theta \) 對數據的條件機率(即參數的完整貝葉斯後驗分佈):
$$ p( \theta \mid x^{(1)},\ldots ,x^{(m)} ) = \frac {p(x^{(1)},\ldots ,x^{(m)} \mid \theta ) p( \theta) }{ p(x^{(1)},\ldots ,x^{(m)} ) } $$
在觀測到 m 個數據樣本後,咱們再預測下一個數據樣本的分佈:
$$ p(x ^{m+1} \mid x^{(1)},\ldots ,x^{(m)} ) = \int p(x ^{m+1} \mid \theta ) p( \theta \mid x ^{(1)},\ldots ,x ^{(m)} ) ,{\rm d} \theta $$
由此能夠看出貝葉斯估計使用的是 \( \theta \) 的全分佈, 每一個具備正機率密度的 \( \theta \) 的值都有助於下一個樣本的預測。
當訓練數據有限時,貝葉斯方法一般泛化得更好,可是訓練數據很大時,計算代價會比較大。
這裏再提一下利用兩種估計方法優勢的最大後驗估計(MAP),既使用了先驗,又回到最大似然估計來進行計算,這裏就不贅述了。
參數估計貫穿整個機器學習,通常咱們機器學習有四部分組成:特定的數據集、目標函數(也稱代價函數或損失函數)、優化過程、模型,而其中目標函數的構建離不開參數估計的指導,特別是最大似然估計。