極大似然估計法的理解
極大似然估計法
1 前言
這幾天在研究機器學習的過程中,經常見到極大似然估計法,這個方法似乎運用十分廣泛,因此在網上找了一些資源,特此整合,以便自己經常翻閱。
2 原理和方法
網上給出了兩個經典例子: 1一位老獵人和一個學徒出去打獵,獵捕到了一隻野兔,那麼是誰打死的。 2兩個箱子,一個箱子有90個白球,10個黑球,另一個箱子有90個黑球,10個白球,抽出一個白球,那麼是從哪個箱子抽出來的。 針對以上兩個問題,按照經驗我們都會覺得對於第一個問題的答案很有可能是老獵人打死的,因為老獵人比學徒要更厲害,第二個問題的答案是從有90個白球的箱子抽出來的,因為白球更多,更容易抽出。 針對於這兩個問題,從數學的方法來解讀就是概率最大的事件最容易發生,一次實驗出現的應該有最大的概率,也就是極大似然估計法的依據(這是引數估計的另一種方法,至於什麼是引數估計我還沒看,大家可以自行研究)。 極大似然估計法的數學表示就是在一次抽樣中,如果得到樣本值X1,X2,X3…Xn,那麼對於樣本的總體引數θ來說,它的估計值應該使得樣本值X1,X2…Xn出現的概率最大。 針對於上述題目,有一個題目可幫大家理解. 現有一個黑箱子,裡面有白球和黑球,一共一百個,現在有放回的抽取十個球,發現抽到了4個白球,6個黑球,那麼估計白球黑球分別有多少個? 針對上述題目,應用極大似然估計法就是尋找引數θ,使得此次抽到的結果最大,那麼此時的θ設為白球個數,則抽到白球的概率為 P = P(x=白球)= θ /100, 抽到黑球的概率為 P1 = P(x=黑球) = (1-P(x=白球)) = 1 - P 那麼抽到6個白球,四個黑球的概率為:
運用
1線性迴歸 線上性迴歸模型中,誤差函式我們使用的是平方和,為什麼採用平方和,而不是絕對值呢,首先線上性迴歸模型中整體的求解方程如下: 希望可以找出引數向量w使得預測的值與真實值更加的接近,即誤差最小,那麼這裡引進b 作為誤差,注意我這裡的引數b ,是誤差,而不是偏移量,偏移量可以加入到w引數裡面,也就是為了方便起見,還是引入ε為誤差吧(因為實在沒有找到其他的符號)
2貝葉斯分類 貝葉斯分類來說,很多人知道這個公式,其中B代表特徵,即一個樣本,A代表所屬的類別, 在訓練資料中通過這個公式來訓練模型,對於P(B)和P(A)來說,P(A)可以通過統計計算,即某一類佔總類的比例,P(B)對於所有類標記相同,因此問題就轉化為了P(B|A)上,P(B|A)就是常說的類條件概率,對於B特徵的每一個屬性來說,現實世界中的值可能往往在訓練集中沒有出現過,例如在訓練資料中B中的某一個屬性有三個值m,n,p,然而現實世界中可能不止,比如說在訓練資料中該屬性出現了q,那麼此時根據計算概率為0,顯然是不行的,因為資料未被觀測到和出現概率為零通常是不一樣的。那麼對於未知的資料該如何處理呢,這裡我們採用極大似然估計法, 假設P(x|c),c為類別,x為特徵,也就是上面的P(B|A),假設P(x|c)可以被引數向量θ確定,這裡假設某一類樣本的集合為D,那麼對於類別為c的引數θ對於D的似然函式就是, 其中Xi為類別為c的集合D中的樣本,n為集合D的數目,通過取對數可求得對數似然函式為: 在這裡假設概率密度函式滿足