最近在讀一些 Machine Learning(機器學習)相關的東西
因此就來做一些筆記吧!
就先從這個比較入門的主題開始吧!
要講最大似然估計(Maximum Likelihood Estimation)之前
要先定義似然函數(Likelihood Function)
定義之前先來看看為什麼要有這個?
在日常生活中
很多時候我們知道某些資料是來自於某個分布
但卻不知道其相關參數為何?
舉個情境來說明,已知某個學校有好幾千位學生
其身高分布符合高斯分布(Gaussian Distribution)
如今我們抽取其中 100 位學生來量身高
想要透過這些數據知道高斯分布的參數(μ 和 σ)為何
這就是最大似然估計要做的事情
也就是說,已知我們有 N 個採樣 { X1, X2, X3, ... , XN } 來自於某分布(如上例的 100 位學生來自於高斯分布)
目的是要尋找該分布的分布參數 θ (如上例,高斯分布的分布參數 θ = (μ, σ ))
因此我們在所有 θ 的可能值裡面選一個使這個採樣的可能性最大
為什麼要說「使這個採樣的可能性最大」呢?
先來看個例子
假設嚼食檳榔的人罹患口腔癌的機率是不嚼食檳榔的人的 28 倍
已知某人罹患了口腔癌,試問某人是否有嚼食檳榔呢?
在正常情況下,我們會去猜某人有嚼食檳榔
因為「某人有嚼食檳榔」這件事情會得到「某人罹患口腔癌」的機率會是最大的
所以我們認為某人有嚼食檳榔
雖然這個結果並不是百分之百正確
有嚼食檳榔不能百分之百保證就會得到口腔癌
有口腔癌也不能百分之百保證就是有嚼食檳榔
但是我們用這樣的方法來使這個模型「最合理」
知道了最大似然估計的涵義後
我們就來看看什麼叫做似然函數
剛剛就有說我們已知一組採樣 X 要去求分布參數 θ
故似然函數通常都被寫作 L(θ|X)
但事實上似然函數可以看作是條件機率的逆反
L(θ|X) 的值其實會等於 P(X|θ)
P(X|θ) 是什麼呢?
就是在已知 θ 的情況下得到採樣 X 的機率
以 100 個學生為例
我們獲得這 100 個學生採樣的機率就是每個學生採樣機率的乘積(學生互相獨立)
即 P(X|θ) = P(X1|θ) * P(X2|θ) * P(X3|θ) * ... * P(X100|θ)
來看一個例子怎麼運用這個似然函數
已知丟一個公平的硬幣,出現正面及反面的機率各是 0.5
如今做實驗,假設出現正面的機率是 p,出現反面的機率是 1 - p
若投擲四次得到的結果是 E = {正正正反},試問 p 為何?
我們可以寫下似然函數 L(p|E) = p * p * p * (1 - p) = p3 *(1 - p)
求導得 p = 0.75 時 L(p|E) 最大
因此根據此實驗結果,我們認為「P(正) = 0.75」是最合理的
但事實上 P(正) 應該要等於 0.5
故最大似然估計並不能保證估計的正確性
它只能找出一個最適合的分布參數來合理說明目前得到的採樣資訊
額外要提到的是
在大部分情況下,似然函數並不會長得像上面那個例子那樣的簡單
通常都是個很複雜的式子
由於似然函數一般都是以乘積的形式呈現
求導時會非常不方便
因此寫出似然函數的下一步通常都是先取對數
變成 Log-likelihood Function
這樣的好處是原本的乘積就會變成「對數的和」
在求導時會容易且方便許多
參考資料:
[1] 維基百科:http://en.wikipedia.org/wiki/Maximum_likelihood
[2] 維基百科:http://en.wikipedia.org/wiki/Likelihood_function
留言列表