1. 程式人生 > >從最大似然估計開始,你需要打下的機器學習基石

從最大似然估計開始,你需要打下的機器學習基石

選自Medium

作者:Jonny Brooks-Bartlett

機器之心編譯

概率論是機器學習與深度學習的基礎知識,很多形式化的分析都是以概率的形式進行討論。而這些討論或多或少都離不開最大似然估計,因為它是引數估計的基礎之一,也是構建模型的基石。在本文中,我們從最大似然估計到貝葉斯推理詳細地討論了機器學習的概率論基石,並希望能為讀者的預習與複習提供優秀的參考資源。

什麼是引數?

在機器學習中,我們經常使用一個模型來描述生成觀察資料的過程。例如,我們可以使用一個隨機森林模型來分類客戶是否會取消訂閱服務(稱為流失建模),或者我們可以用線性模型根據公司的廣告支出來預測公司的收入(這是一個線性迴歸的例子)。每個模型都包含自己的一組引數,這些引數最終定義了模型本身。

我們可以把線性模型寫成 y = mx + c 的形式。在廣告預測收入的例子中,x 可以表示廣告支出,y 是產生的收入。m 和 c 則是這個模型的引數。這些引數的不同值將在座標平面上給出不同的直線(見下圖)。


引數值不同的三個線性模型。

因此,引數為模型定義了一個藍圖。只有將引數選定為特定值時,才會給出一個描述給定現象的模型例項。

最大似然估計的直觀解釋

最大似然估計是一種確定模型引數值的方法。確定引數值的過程,是找到能最大化模型產生真實觀察資料可能性的那一組引數。

上述的定義可能聽起來還是有點模糊,那麼讓我們通過一個例子來幫助理解。

假設我們從某個過程中觀察了 10 個數據點。例如,每個資料點可以代表一個學生回答特定考試問題的時間長度(以秒為單位)。這 10 個數據點如下圖所示:


我們觀察到的 10 個(假設的)資料點。

我們首先要決定哪個模型最適合描述生成資料的過程,這一步至關重要。至少,我們應該對使用哪種模型有一個不錯的想法。這個判斷通常來自於一些領域內專家,但我們不在這裡討論這個問題。

對於這些資料,我們假設資料生成過程可以用高斯分佈(正態分佈)進行充分描述。對以上數值目測一番就可以得知,高斯分佈是合理的,因為這 10 個點的大部分都集中在中間,而左邊和右邊的點都很少。(因為我們只使用了 10 個數據點,做出這樣的草率決定是不明智的,但考慮到我是用某個確定的分佈函式生成這些資料點,我們就湊合著用吧)。

回想一下高斯分佈有兩個引數:均值μ和標準差σ。這些引數的不同值會對應不同的曲線(就像上面的直線一樣)。我們想知道「哪條曲線最可能產生我們觀察到的資料點」?(見下圖)。用最大似然估計法,我們會找到與資料擬合得最好的 μ、σ 的值。


10 個數據點和可能得出這些資料的高斯分佈。f_1 是均值為 10、方差為 2.25(方差等於標準偏差的平方)的正態分佈,也可以表示為 f_1∼N(10, 2.25)。其它曲線為 f_2∼N(10, 9)、f_3∼N(10, 0.25)、f_4∼N(8,2.25)。最大似然的目標是找到最有可能生成已知觀察資料分佈的引數值。

我生成這 10 個數據的真實分佈是 f_1~N(10, 2.25),也就是上圖中的藍色曲線。

計算最大似然估計

現在我們對最大似然估計有了直觀的理解,我們可以繼續學習如何計算引數值了。我們找到的引數值被稱為最大似然估計(maximum likelihood estimates,MLE)。

我們同樣將用一個例子來演示這個過程。假設這次有三個資料點,我們假設它們是從一個被高斯分佈充分描述的過程生成的。這些點是 9、9.5 和 11。那麼如何用最大似然估計逼近這個高斯分佈的引數 μ 和 σ 呢?

我們要計算的是同時觀察到所有這些資料的概率,也就是所有觀測資料點的聯合概率分佈。因此,我們需要計算一些可能很難算出來的條件概率。我們將在這裡做出第一個假設,假設每個資料點都是獨立於其他資料點生成的。這個假設能讓計算更容易些。如果事件(即生成資料的過程)是獨立的,那麼觀察所有資料的總概率就是單獨觀察到每個資料點的概率的乘積(即邊緣概率的乘積)。

從高斯分佈中生成的單個數據點 x 的(邊緣)概率是:


在表示式 P(x; μ, σ) 中的分號是為了強調在分號後的符號都是概率分佈的引數。所以千萬不要把這個與條件概率相混淆。條件概率一般會用豎線來表達,比如說 P(A| B)。

在我們的例子中,同時觀察到這三個資料點的總(聯合)概率是:


我們只要找出能夠讓上述表示式最大化的μ、σ值就可以了。

如果你在數學課上學過微積分,那麼你可能會意識到有一種技巧可以幫助我們找到函式的最大值(和最小值)。我們所要做的就是求出函式的導數,把導函式設為零然後重新變換方程,使其引數成為方程的未知數。然後就這樣,我們將得到引數的 MLE 值。我將串講一下這些步驟,但我假設讀者知道如何對常用函式進行微分。

對數似然函式

上述的總概率表示式實際上是很難微分,所以它幾乎總是通過對錶達式取自然對數進行簡化。這完全沒問題,因為自然對數是一個單調遞增的函式。這意味著,如果 x 軸上的值增加,y 軸上的值也會增加(見下圖)。這一點很重要,因為它確保了概率的最大對數值出現在與原始概率函式相同的點上。因此,我們可以用更簡單的對數概率來代替原來的概率。


原函式的單調性,左邊是 y = x,右邊是(自然)對數函式 y = ln(x)。

這是一個非單調函式的例子,因為從左至右 f(x) 會上升,然後下降,然後又上升。

取初始表示式的對數能得到:


我們可以用對數的運演算法則再一次簡化這個表示式,得到:


這個表示式可以通過求導得到最大值。在這個例子中,我們要找到平均值 μ。為此我們對函式求 μ 的偏導數,得到:


最後,設定等式的左邊為零,然後以μ為未知數整理式子,可以得到:


這樣我們就得到了 μ 的最大似然估計。我們可以用同樣的方法得到 σ 的最大似然估計,這留給有興趣的讀者自己練習。

最大似然估計小結

最大似然估計總是能精確地得到解嗎?

簡單來說,不能。更有可能的是,在真實的場景中,對數似然函式的導數仍然是難以解析的(也就是說,很難甚至不可能人工對函式求微分)。因此,一般採用期望最大化(EM)演算法等迭代方法為引數估計找到數值解,但總體思路還是一樣的。

為什麼叫「最大似然(最大可能性)」,而不是「最大概率」呢?

好吧,這只是統計學家們賣弄學問(但也是有充分的理由)。大多數人傾向於混用「概率」和「似然度」這兩個名詞,但統計學家和概率理論家都會區分這兩個概念。通過觀察這個等式,我們可以更好地明確這種混淆的原因。


這兩個表示式是相等的!所以這是什麼意思?我們先來定義 P(data; μ, σ) 它的意思是「在模型引數μ、σ條件下,觀察到資料 data 的概率」。值得注意的是,我們可以將其推廣到任意數量的引數和任何分佈。

另一方面,L(μ, σ; data) 的意思是「我們在觀察到一組資料 data 之後,引數 μ、σ 取特定的值的似然度。」

上面的公式表示,給定引數後資料的概率等於給定資料後引數的似然度。但是,儘管這兩個值是相等的,但是似然度和概率從根本上是提出了兩個不同的問題——一個是關於資料的,另一個是關於引數值的。這就是為什麼這種方法被稱為最大似然法(極大可能性),而不是最大概率。

什麼時候最小二乘引數估計和最大似然估計結果相同?

最小二乘法是另一種常用的機器學習模型引數估計方法。結果表明,當模型向上述例子中一樣被假設為高斯分佈時,MLE 的估計等價於最小二乘法。

直覺上,我們可以通過理解兩種方法的目的來解釋這兩種方法之間的聯絡。對於最小二乘引數估計,我們想要找到最小化資料點和迴歸線之間距離平方之和的直線(見下圖)。在最大似然估計中,我們想要最大化資料同時出現的總概率。當待求分佈被假設為高斯分佈時,最大概率會在資料點接近平均值時找到。由於高斯分佈是對稱的,這等價於最小化資料點與平均值之間的距離。


有隨機高斯噪聲的迴歸線

上一部分討論了機器學習和統計模型中引數估計的最大似然法。在下文我們將討論貝葉斯推理的引數估計,並解釋該方法如何可作為最大似然法的推廣,以及兩者等價的條件。

閱讀本文需要理解一些基本的概率論知識,例如邊緣概率和條件概率。此外,瞭解高斯分佈有助於理解,但並不是必要的。

貝葉斯定理

在介紹貝葉斯推理之前,理解貝葉斯定理是很有必要的。貝葉斯定理的意義在於使我們能利用已有的知識或信念(通常稱為先驗的)幫助計算相關事件的概率。例如,如果想知道在炎熱和晴朗的天氣中賣出冰淇淋的概率,貝葉斯定理可以使用「在其它型別天氣中可能賣出冰淇淋數量」的先驗知識。

數學定義

貝葉斯定理的數學定義如下:


其中,A 和 B 是事件,P(A|B) 是給定事件 B 發生時,事件 A 發生的條件概率,P(B|A) 同理。P(A) 和 P(B) 分別是事件 A 和事件 B 的邊緣概率。

示例

假定一副撲克牌裡有 52 張牌,其中 26 張是紅色的,26 張是黑色的。那麼當牌是紅色的時候,牌上數字為 4 的概率是多少?

我們將牌為數字 4 設為事件 A,將牌為紅色設為事件 B。因此我們需要計算的概率是 P(A|B)=P(4|red),接下來,我們使用貝葉斯定理計算這個概率值:

1. P(B|A) = P(red|4) = 1/2

2. P(A) = P(4) = 4/52 = 1/13

3. P(B) = P(red) = 1/2

然後根據貝葉斯定理可得到:P(4|red)=P(red|4)·P(4)/P(red)=1/13。

為什麼貝葉斯定理能結合先驗信念?

僅僅看數學公式很難理解這一點。我們將再次借用冰淇淋和天氣的例子。

令 A 為賣出冰淇淋的事件,B 為天氣的事件。我們的問題是「給定天氣的型別,賣出冰淇淋的概率是多少?」用數學符號表示為 P(A=ice cream sale | B=type of weather)。

貝葉斯定理右邊的 P(A) 被稱為先驗概率。在我們的例子中即 P(A = ice cream sale) 是賣出冰淇淋的邊緣概率(其中天氣是任何型別)。一般而言,這個概率都是已知的,因此其被稱為先驗概率。例如我通過檢視資料瞭解到 100 個人中有 30 個買了冰淇淋,因此 P(A = ice cream sale)=30/100=0.3,而這都是在瞭解任何天氣的資訊之前知道的。

注意:先驗知識本身並不是完全客觀的,可能帶有主觀成分,甚至是完全的猜測。而這也會對最終的條件概率計算產生影響,我將在後面解釋。

貝葉斯推理

定義

首先,(統計)推理是從資料中推導群體分佈或概率分佈的性質的過程。最大似然法也是同樣的,如可以通過一系列的觀察資料點確定平均值的最大似然估計。

因此,貝葉斯推理不過是利用貝葉斯定理從資料中推導群體分佈或概率分佈的性質的過程。

使用貝葉斯定理處理資料分佈

相關推薦

估計開始需要打下機器學習基石

選自Medium作者:Jonny Brooks-Bartlett機器之心編譯概率論是機器學習與深

函式與估計、交叉熵概念與機器學習中的交叉熵函式

文章目錄 似然函式與最大似然估計 似然的概念 似然函式 最大似然估計 伯努利分佈 伯努利分佈下的最大似然估計 高斯分佈 高斯分佈下的最大似然估計 資訊量、熵、相對熵、交叉熵、機器學習中的交

估計法到EM演算法

源地址:http://www.cnblogs.com/GuoJiaSheng/p/3966812.html?utm_source=tuicool 什麼是最大似然估計?      問題:給定一組觀察資料還有一個引數待定的模型,如何來估計這個未知引數呢?      觀察資料(x

機器學習基本理論】詳解估計(MLE)、後驗概率估計(MAP)以及貝葉斯公式的理解

總結 ora 二次 判斷 天都 特性 以及 解釋 意思 【機器學習基本理論】詳解最大似然估計(MLE)、最大後驗概率估計(MAP),以及貝葉斯公式的理解 https://mp.csdn.net/postedit/81664644 最大似然估計(Maximum lik

詳解估計(MLE)、後驗概率估計(MAP)以及貝葉斯公式的理解

<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id=

函式估計 簡單理解

摘抄自維基百科: https://zh.wikipedia.org/wiki/%E4%BC%BC%E7%84%B6%E5%87%BD%E6%95%B0 https://zh.wikipedia.org/wiki/%E6%9C%80%E5%A4%A7%E4%BC%BC%E7%84%B6%E4%BC%B0%

估計後驗估計貝葉斯估計聯絡與區別

1.什麼是引數 在機器學習中,我們經常使用一個模型來描述生成觀察資料的過程。例如,我們可以使用一個隨機森林模型來分類客戶是否會取消訂閱服務(稱為流失建模),或者我們可以用線性模型根據公司的廣告支出來預測公司的收入(這是一個線性迴歸的例子)。每個模型都包含自己的

估計交叉熵相對熵(KL散度)

在機器學習中,選擇損失函式時,通常會遇到交叉熵的概念,也就是交叉熵損失函式,那麼我們知道最小化交叉熵損失函式等價於最大化對數似然,那麼最小化交叉熵損失函式其含義是怎麼樣本的?我們知道針對分類問題,我們並不知道Y的真實分佈,因此需要通過模型來估計Y的真實分佈,以邏

估計後驗估計貝葉斯估計

這三種方法都是監督學習中的引數估計方法,假定已知data的分佈形式(比如第二章裡介紹的各種分佈),但是需要確定引數。 1 最大似然估計Maximize Likelihood Estimation等價於曲線擬合中的最小二乘法,MLE把待估的引數看作是確定性的量,只是其取值未知

通俗理解估計後驗概率估計貝葉斯估計

以下所有例子都是拋硬幣問題,在兩次試驗中出現正,反兩次結果,求該硬幣出現正面的概率p, 最大似然估計:       假設分佈為伯努利分佈,也就是二項分佈,出現正面的概率是p,則下次出現上述實驗結果現象的概率是:L=P(1-p),如何才能讓下次出現相同結過的概率最大?自然是L

【MLE】估計Maximum Likelihood Estimation

like 分布 什麽 9.png 顏色 ... 部分 多少 ati 模型已定,參數未知 最大似然估計提供了一種給定觀察數據來評估模型參數的方法,假設我們要統計全國人口的身高,首先假設這個身高服從服從正態分布,但是該分布的均值與方差未知。我們沒有人力與物力去統計

『科學計算_理論』估計

width 我們 註意 logs 概率 -s 分享 pan 技術 概述 通俗來講,最大似然估計,就是利用已知的樣本結果,反推最有可能(最大概率)導致這樣結果的參數值。 重要的假設是所有采樣滿足獨立同分布。 求解模型參數過程 假如我們有一組連續變量的采樣值(x1,x2,…,x

小二乘法和估計的聯系和區別(轉)

enc bsp 聯系 角度 tro span nbsp sdn .science 對於最小二乘法,當從模型總體隨機抽取n組樣本觀測值後,最合理的參數估計量應該使得模型能最好地擬合樣本數據,也就是估計值和觀測值之差的平方和最小。而對於最大似然法,當從模型總體隨機抽取n組樣本觀

估計小二乘

現在 最小 bayesian 我不知道 什麽 改變 我不 tps 有關 參考: 最大似然估計,就是利用已知的樣本結果,反推最有可能(最大概率)導致這樣結果的參數值。例如:一個麻袋裏有白球與黑球,但是我不知道它們之間的比例,那我就有放回的抽取10次,結果我發現我抽到了8次黑球

估計

概率與統計 lin 是什麽 簡單的 art 不規則 導數 單調性 人類 在討論最大似然估計之前,我們先來解決這樣一個問題:有一枚不規則的硬幣,要計算出它正面朝上的概率。為此,我們做了 10 次實驗,得到這樣的結果:[1, 0, 1, 0, 0, 0, 0, 0, 0, 1]

估計實例 | Fitting a Model by Maximum Likelihood (MLE)

-- sed clu ans fail warnings reg model perf 參考:Fitting a Model by Maximum Likelihood 最大似然估計是用於估計模型參數的,首先我們必須選定一個模型,然後比對有給定的數據集,然後構建一個聯合概

估計(轉載)

轉載請註明出處,文章來源:https://blog.csdn.net/qq_36396104/article/details/78171600#commentsedit  之前看書上的一直不理解到底什麼是似然,最後還是查了好幾篇文章後才明白,現在我來總結一下吧,要想看懂最大似然估計,首

估計 估計 (MLE) 後驗概率(MAP)

最大似然估計 (MLE) 最大後驗概率(MAP) 1) 最大似然估計 MLE 給定一堆資料,假如我們知道它是從某一種分佈中隨機取出來的,可是我們並不知道這個分佈具體的參,即“模型已定,引數未知”。例如,我們知道這個分佈是正態分佈,但是不知道均值和方差;或者是二項分佈,但是不知道均值。 最

函式和估計機器學習中的交叉熵函式之間的關係

關於似然函式和最大似然估計的詳細說明可以看這篇文章:https://blog.csdn.net/zgcr654321/article/details/83382729 二分類情況和多分類情況下的似然函式與最大似然估計: 二分類情況下的似然函式與最大似然估計: 我們知道按照生活中的常識

估計vs後驗概率

1) 最大似然估計 MLE 給定一堆資料,假如我們知道它是從某一種分佈中隨機取出來的,可是我們並不知道這個分佈具體的參,即“模型已定,引數未知”。例如,我們知道這個分佈是正態分佈,但是不知道均值和方差;或者是二項分佈,但是不知道均值。 最大似然估計(MLE,Maximum Lik