最大似然估計公式大全(帶你入門極大似然估計法)
2023-09-15 23:51:32
一、什麼是極大似然估計法極大似然估計是 1821 年由高斯提出,1912 年由費希爾完善的一種點估計方法。
通俗來說,極大似然估計法其實源自生活的點點滴滴,比方說有一個大學生他天天上課不聽講,天天上課玩手機,老師盯著他看了老半天,他也不知道收斂一些,那通過老師幾十年的教學經驗的判斷,這小子期末一定是掛科的,果不其然,他真的掛科了。老師以過去大量的相同事件來判斷目前正在發生的類似事件,這就是極大似然。
其實一開始寫這個分享,我準備了很多小故事,希望用風趣幽默的文法把一個很抽象的數學名詞儘可能的講給所有人聽,讓大家都能理解並接受。後來我發現,用上面老師和學生的例子是最為貼切的,因為也曾經這樣預判過別人。
好啦,故事講完了,接下來就是重頭菜了,原理看著很清晰,但實操起來,需要概率論基礎以及利用微分求極值。
導數
導數的概念的其實挺簡單的,這裡我們不要求掌握太多的關於微積分的公式,只消會求導就可以了。
複合函數的求導滿足鏈式法則:
值得一提的還有關於導函數求駐點,即令f『(x)=0,並求解 x,所得到的 x 即為駐點,駐點回代原函數可得極值。
二、求解極大似然估計量的四步驟終於到了本文的小高潮,如何利用極大似然估計法來求極大似然估計量呢?
首先我們來看一個例子:有一個抽獎箱,裡面有若干紅球和白球,除顏色外,其他一模一樣。我們每次從中拿出一個後記錄下來再放回去,重複十次操作後發現,有七次抽到了紅球,三次是白球,請估計紅球所佔的比例。
從題目可以分析出本次例子滿足二項分布,現在可以設事件 A 為"抽到紅球",那可以得到一個式子:
現在的目的就是為了求這個 P(A),那要怎麼求才又快又準呢?如果用求導解駐點來尋找極值,7 次方好像也不是很大,那要是我們重複進行了一百、一千次操作呢?所以,優化算法勢在必行,下面的騷操作就是先輩們經過不懈地探求總結出來的——先取對數再求導!
三、基於極大似然原理的 KNN 算法KNN,即 K-近鄰算法,是極大似然的一個體現,具體思想如下:
首先我們定義一個點,這個點很特別,它具有:
X軸的值Y軸的值顏色標籤(這裡我們使用黑、紅、藍三種顏色做個演示)然後我們多搞幾個點,製造出點群,也是較為簡陋的一個數據集
接著有一個不知道自己是啥顏色的小不點溜進來了
現在黑、藍、紅三個點群展開了激烈的爭論,到底這個小不點是屬於哪一方的!可是應該如何來判決呢?小不點想出了一個絕妙的法子,記錄自身到每一個顏色點的距離,然後選取其中 K 個距離值,並以最大的那個距離為半徑,自身為圓心,畫一個圓,計算圓內每一個顏色佔總點數的概率,最大概率的那個顏色標籤即是小不點的顏色。
當 k=2 時
當 k=6 時
我們可以發現在有效的K值內,小不點有極大概率是藍色的,因此我們賦予它一個藍色的顏色標籤。至此 KNN 的基本原理已經闡明,該貼一份 C 的 KNN 代碼啦。但還有一個問題:如何選擇一個最優的 K 值?目前一般使用交叉驗證或貝葉斯。
四、KNN 算法的 C 簡單實現測試圖如下:
,