1. 程式人生 > >【數學基礎】引數估計之極大似然估計

【數學基礎】引數估計之極大似然估計

背景

先來看看幾個小例子:

  • 獵人師傅和徒弟一同去打獵,遇到一隻兔子,師傅和徒弟同時放槍,兔子被擊中一槍,那麼是師傅打中的,還是徒弟打中的?
  • 一個袋子中總共有黑白兩種顏色100個球,其中一種顏色90個,隨機取出一個球,發現是黑球。那麼是黑色球90個?還是白色球90個?

看著兩個小故事,不知道有沒有發現什麼規律...由於師傅的槍法一般都高於徒弟,因此我們猜測兔子是被師傅打中的。隨機抽取一個球,是黑色的,說明黑色抽中的概率最大,因此猜測90個的是黑色球。

他們有一個共同點,就是我們的猜測(估計),都是基於一個理論:概率最大的事件,最可能發生。

其實我們生活中無時無刻不在使用這種方法,只是不知道它在數學中是如何確定或者推導的。而在數理統計中,它有一個專業的名詞:極大似然估計(maximum likelihood estimation, MLE),通俗的說就是 —— 最像估計法(最可能估計法)

貝葉斯決策

首先來看貝葉斯分類,我們都知道經典的貝葉斯公式:

其中:p(w):為先驗概率,表示每種類別分佈的概率;:類條件概率,表示在某種類別前提下,某事發生的概率;而為後驗概率,表示某事發生了,並且它屬於某一類別的概率,有了這個後驗概率,我們就可以對樣本進行分類。後驗概率越大,說明某事物屬於這個類別的可能性越大,我們越有理由把它歸到這個類別下。

        我們來看一個直觀的例子:已知:在夏季,某公園男性穿涼鞋的概率為1/2,女性穿涼鞋的概率為2/3,並且該公園中男女比例通常為2:1,問題:若你在公園中隨機遇到一個穿涼鞋的人,請問他的性別為男性或女性的概率分別為多少?

從問題看,就是上面講的,某事發生了,它屬於某一類別的概率是多少?即後驗概率。

設:

由已知可得:

男性和女性穿涼鞋相互獨立,所以

由貝葉斯公式算出:

貝葉斯公式就是在描述,你有多大把握能相信一件證據?(how much you can trust the evidence)

在這個問題中貝葉斯公式描述的就是你有多大的把握相信穿了涼鞋的這個人是男生或者女生。

同時從另一個角度解釋貝葉斯公式,做判斷的時候,要考慮所有的因素。

講的就是不能因為女生穿涼鞋的概率高你就認為穿拖鞋的都是女性,你還要考慮到其它因素,比如題目中給的男女比例,如果比例在誇張一點,100個人裡面才有1個女的,即使女性穿拖鞋的概率是100%,穿拖鞋的人是個女生的概率也是很小。

從這個角度思考貝葉斯公式:一個本來就難以發生的事情,就算出現某個證據和他強烈相關,也要謹慎。證據很可能來自別的雖然不是很相關,但發生概率較高的事情。

性別於穿不穿涼鞋的相關性很強,但就如上面取那個極端男女比例的例子一樣,男女比例的高低於穿不穿涼鞋沒有半毛錢關係,(你就想穿涼鞋的人多了男女比例能上升或者下降嗎?反過來就有關係了,有的時候關係很複雜,一時間看不出來就是這個道理,比如你今天工作效率低被老闆教訓了,但誰知道老闆教訓你的真正原因是不是早上老闆的老婆大人教訓了他一頓呢?)但有的時候真正影響結果的原因就是來自這些不是很相關的東西,因其能影響某些事件的概率。

問題引出

但是在實際問題中並不都是這樣幸運的,我們能獲得的資料可能只有有限數目的樣本資料,而先驗概率和類條件概率(各類的總體分佈)都是未知的。根據僅有的樣本資料進行分類時,一種可行的辦法是我們需要先對先驗概率和類條件概率進行估計,然後再套用貝葉斯分類器。

先驗概率(如這裡的男女比例)的估計較簡單:

  1. 每個樣本所屬的自然狀態都是已知的(有監督學習);
  2. 依靠經驗;
  3. 用訓練樣本中各類出現的頻率估計。

類條件概率的估計(非常難,如這裡的男性穿涼鞋的概率,女性穿涼鞋的概率),原因包括:

  1. 概率密度函式包含了一個隨機變數的全部資訊;
  2. 樣本資料可能不多;
  3. 特徵向量x的維度可能很大等等。

總之要直接估計類條件概率的密度函式很難。

解決的辦法就是,把估計完全未知的概率密度轉化為估計引數。這裡就將概率密度估計問題轉化為引數估計問題,極大似然估計就是一種引數估計方法。當然了,概率密度函式的選取很重要,模型正確,在樣本區域無窮時,我們會得到較準確的估計值,如果模型都錯了,那估計半天的引數,肯定也沒啥意義了。

重要前提

        上面說到,引數估計問題只是實際問題求解過程中的一種簡化方法(由於直接估計類條件概率密度函式很困難)。所以能夠使用極大似然估計方法的樣本必須需要滿足一些前提假設。

重要前提

  1. 訓練樣本的分佈能代表樣本的真實分佈。
  2. 每個樣本集中的樣本都是所謂獨立同分布的隨機變數 (iid條件),
  3. 且有充分的訓練樣本。

極大似然估計(Maximum Likelihood Estimate,MLE)

極大似然估計的原理,用一張圖片來說明,如下圖所示:

總結起來,最大似然估計的目的就是:利用已知的樣本結果,反推最有可能(最大概率)導致這樣結果的引數值。

原理:極大似然估計是建立在極大似然原理的基礎上的一個統計方法,是概率論在統計學中的應用。極大似然估計提供了一種給定觀察資料來評估模型引數的方法,即:“模型已定,引數未知”。通過若干次試驗,觀察其結果,利用試驗結果得到某個引數值能夠使樣本出現的概率為最大,則稱為極大似然估計。

這裡先以一個分類問題來說明一般引數估計面對的資料形式。考慮一個M類的問題,特徵向量服從p(x|\omega_i),i=1,2...,M分佈。這是現實情況中最常見的一種資料存在形式,資料集合X是由M個類別的資料子集X_m,m=1,2...,M組成的,第m類別的資料子集X_m對應的概率密度函式是p(x|\omega_m)

前面已經介紹過了,想要確定資料的概率分佈,需要知道概率密度函式的 形式 和 引數,這裡首先做一個基本假設:概率分佈的形式已知,比如假設每個類別的資料都滿足高斯分佈,那麼,似然函式就可以以引數 \theta_i 的形式表示,如果是高斯分佈,則引數為\mu_i\sigma^2_i,即\theta_i=(\mu_i,\sigma_i^2)

為了強調概率分佈p(x|\omega_i)和 \theta_i 有關,將對應的概率密度函式記為p(x|\omega_i;\theta_i)

注意,這裡p(x|\omega_i;\theta_i)不等同於p(x|\omega_i,\theta_i),前者\theta預設為是一個固定的值,一個本身就存在的最佳引數矩陣;而後者認為\theta是一個變數(統計學中frequentist和Bayesian的差別)。

白話文又來了。

p(x|\omega_i;\theta_i)其實等同於p(x|\omega_i)(這是一個條件概率,在w_i類時x事件發生的概率),\theta_i作為一個待估引數其實是已經確定的,即使還不知道。

p(x|\omega_i,\theta_i)不能夠化簡,此時是關於變數w_i,\theta_i的條件概率,表示在這兩個變數確定的情形下,事件x發生的概率,\theta_i是一個變數並不是一個固定的引數。

該記法屬於頻率概率學派的記法。這裡的極大似然估計對應於一個類條件概率密度函式

在概率論中一直有兩大學派,分別是頻率學派和貝葉斯學派。簡單點說,頻率學派認為,概率是頻率的極限,比如投硬幣,當實驗次數足夠大時,正面朝上的頻率可以認為是這枚硬幣正面朝上的概率,這個是頻率學派。但是,如果要預測一些未發生過的事情,比如,北極的冰山在2050年完全融化的概率,由於這個事情完全沒有發生過,所以無法用頻率來代替概率表示,只能研究過去幾十年,北極冰山融化的速率,並將其作為先驗條件,來預測北極的冰山在2050年完全融化的概率,這就是概率的貝葉斯學派。上面的問題,如果用貝葉斯學派的記法的話,是:p(x|\omega_i,\theta_i)。這兩個學派適用的情況不太一樣,但是,在我目前所用到的概率論的知識中,貌似這兩個學派並沒有什麼太大的區別,只是記法略有不同,稍微注意下即可。

從上面的描述中可以知道,利用每一個類X_i中已知的特徵向量集合,可以估計出其對應的引數\theta_i進一步假設每一類中的資料不影響其他類別資料的引數估計,那麼上面的M個類別的引數估計就可以用下面這個統一的模型,獨立的解決:

設 x_1,x_2,...,x_N 是從概率密度函式 p(x;\theta) 中隨機抽取的樣本,那麼就可以得到聯合概率密度函式 p(X;\theta) , 其中 X=\{x_1,x_2,...,x_N\} 是樣本集合。假設不同的樣本之間具有統計獨立性,那麼:

注意:這裡的p(x_k;\theta)本來的寫法是p(x_k|\omega_i;\theta_i), 是一個類條件概率密度函式,只是因為這裡是一個統一的模型,所以可以將w_i省略。(統一的意思就是p(x_k;\theta)=\sum _{i=1}^M p(x_k|\omega_i;\theta_i)

需要重申一下,想要得到上面這個公式,是做了幾個基本的假設的,第一:假設M個類別的資料子集的概率密度函式形式一樣,只是引數的取值不同;第二:假設類別i中的資料和類別j中的資料是相互獨立抽樣的,即類別j的引數僅僅根據類別j的資料就可以估計出來,類別i的資料並不能影響類別j的引數估計,反之亦然;第三:每個類別內的樣本之間具有統計獨立性,即每個類別內的樣本之間是獨立同分布 (iid) 的。

此時,就可以使用最大似然估計(Maximum Likelihood Estimate,MLE)來估計引數\theta了:

似然函式為:

為了得到最大值,\hat{\theta}_{ML} 必須滿足的必要條件是,似然函式對\theta的梯度必須為0,即:

一般我們取其對數形式:

需要注意:極大似然估計對應於似然函式的峰值

極大似然估計有兩個非常重要的性質:漸進無偏 和 漸進一致性,有了這兩個性質,使得極大似然估計的成為了非常簡單而且實用的引數估計方法。這裡假設\theta_0是密度函式p(x;\theta)中未知引數的準確值。

漸進無偏

極大似然估計是漸進無偏的,即:

也就是說,這裡認為估計值 \hat{\theta}_{ML} 本身是一個隨機變數(因為不同的樣本集合X會得到不同的 \hat{\theta}_{ML}),那麼其均值就是未知引數的真實值,這就是漸進無偏。

漸進一致

極大似然估計是漸進一致的,即:

這個公式還可以表示為:

對於一個估計器而言,一致性是非常重要的,因為存在滿足無偏性,但是不滿足一致性的情況,比如,\hat{\theta}_{ML} 在 \theta_0 周圍震盪。如果不滿足一致性,那麼就會出現很大的方差。

注意:以上兩個性質,都是在漸進的前提下(N \to \infty)才能討論的,即只有NN足夠大時,上面兩個性質才能成立。

一個簡單的例子

經典的例子是拋硬幣,這裡換一個差不多的。

已知總體X是離散型隨機變數,其可能的取值是0、1、2。且

對X抽取容量為10的樣本,其中2個取0,5個取1,3個取2。 

求θ的最大似然估計值。 

解法: 

其實就是找到使得 2個取0,5個取1,3個取2的可能性最大的θ。 

2個取0,5個取1,3個取2的可能性,用下面的似然函式來衡量: 


 

然後,轉化為: 

 

令: 

 

可以得到θ的最大似然估計值為9/20。 

參考文章: