文章原創(chuàng),最近更新:2018-05-19
1.似然函數(shù)求解
2.目標(biāo)函數(shù)推倒
3.線性回歸求解
4.案例:計算最大似然估計
課程來源: python數(shù)據(jù)分析與機器學(xué)習(xí)實戰(zhàn)-唐宇迪
1.似然函數(shù)求解
有了誤差之后,對最終建立的模型又有什么樣的關(guān)系呢?之前講了誤差與預(yù)測值的關(guān)系,以及誤差服從高斯分布,這節(jié)課來學(xué)習(xí),來理解似然函數(shù).

(2)的公式需要說明,均值為0.將(1)帶入到(2).

注意:如果數(shù)學(xué)哪個知識點不懂,就去網(wǎng)上查相關(guān)資料.最好是邊用邊學(xué).
什么叫極大似然函數(shù)?先來看看幾個小例子:
- 獵人師傅和徒弟一同去打獵,遇到一只兔子,師傅和徒弟同時放槍,兔子被擊中一槍,那么是師傅打中的,還是徒弟打中的?
- 一個袋子中總共有黑白兩種顏色100個球,其中一種顏色90個,隨機取出一個球,發(fā)現(xiàn)是黑球。那么是黑色球90個?還是白色球90個?
- 看著兩個小故事,不知道有沒有發(fā)現(xiàn)什么規(guī)律...由于師傅的槍法一般都高于徒弟,因此我們猜測兔子是被師傅打中的。隨機抽取一個球,是黑色的,說明黑色抽中的概率最大,因此猜測90個的是黑色球。
- 他們有一個共同點,就是我們的猜測(估計),都是基于一個理論:概率最大的事件,最可能發(fā)生.
概念
極大似然估計方法(Maximum Likelihood Estimate,MLE)也稱為最大概似估計或最大似然估計,似然就是可能性的意思?,F(xiàn)在已經(jīng)拿到了很多個樣本,這些樣本值已經(jīng)實現(xiàn),最大似然估計就是去找到那個(組)參數(shù)估計值,使得前面已經(jīng)實現(xiàn)的樣本值發(fā)生概率最大。因為你手頭上的樣本已經(jīng)出現(xiàn)了,其發(fā)生概率最大才符合邏輯。即,樣本所展現(xiàn)的狀態(tài)便是所有可能狀態(tài)中出現(xiàn)概率最大的狀態(tài)。
原理
最大似然估計的目的就是:利用已知的樣本結(jié)果,反推最有可能(最大概率)導(dǎo)致這樣結(jié)果的參數(shù)值。通過若干次試驗,觀察其結(jié)果,利用試驗結(jié)果得到某個參數(shù)值(這個參數(shù)值要具體問題具體分析)能夠使樣本出現(xiàn)的概率為最大,則稱為極大似然估計。
舉個栗子
現(xiàn)在有一個黑箱子里面有標(biāo)有1或2的球共100個,現(xiàn)在從中有放回的抽取10個球,結(jié)果為{1,2,2,2,1,2,1,1,2,2},估計標(biāo)有1的球在黑箱子里面有多少個。
我們不妨把標(biāo)有1的球設(shè)為θ個,那么抽到1的概率p(x=1)=θ/100,這里簡單記作p,則產(chǎn)生實驗結(jié)果{1,2,2,2,1,2,1,1,2,2}的概率為 P = (p ^ 4)*((1-p)^ 6),這里的待估參數(shù)為θ,P是一個關(guān)于θ的函數(shù),不妨記作P(θ)。根據(jù)前面講的原理,“已發(fā)生的就是概率最大的”,θ有多種可能取值,但根據(jù)最大似然原理,θ應(yīng)當(dāng)取使{1,2,2,2,1,2,1,1,2,2}發(fā)生的概率最大時對應(yīng)的值,即求P(θ)取最大值時θ的取值。
在這里,我們成P(θ)為似然函數(shù),常記為L(θ),或L(θ)=L(x1, x2 ,..., xn; θ),其中x1, x2 ,..., xn是已發(fā)生的樣本,記p(xi; θ)為xi發(fā)生的概率,則似然函數(shù)可以寫為:
若總體X為連續(xù)型,其概率密度函數(shù)為f(x; θ),θ為未知參數(shù)。則似然函數(shù)為:
極大似然法的一般步驟:
1 構(gòu)造似然函數(shù)L(θ)
2 取對數(shù):lnL(θ)
3 求導(dǎo),計算極值
4 解方程,得到θ
對于第3步不能利用求導(dǎo)取極值的情況,可以先將求對數(shù)似然函數(shù)的極大值轉(zhuǎn)化為求極小值(或最小值),然后如果轉(zhuǎn)換后的函數(shù)時高階連續(xù)可導(dǎo)凸函數(shù),則可以利用梯度下降法、牛頓法等求其最優(yōu)解。
學(xué)習(xí)參考鏈接:機器學(xué)習(xí)入門——極大似然估計
2.目標(biāo)函數(shù)推倒
什么叫對數(shù)似然?
- 是將乘法轉(zhuǎn)換成加法.因此這就是似然函數(shù)轉(zhuǎn)換成對數(shù)似然的原因.

注意:似然函數(shù)/對數(shù)函數(shù)/最小二乘法這些都是考試常考的內(nèi)容.需要知道推倒過程.

需要將目標(biāo)函數(shù)展開,
為什么求偏導(dǎo)?因為要使目標(biāo)函數(shù)最小,所以要求導(dǎo)求出目標(biāo)函數(shù)的極小值點?偏導(dǎo)等于0的位置滿足這樣的數(shù).
3.線性回歸求解

這個是最常用的評估項.
殘差平方和:是指預(yù)測值與真實值之間的差異.
類似方差項:是指真實值與均值之間的差異.
需要知道用什么工具做什么事情?為什么去做?需要把理論知識打結(jié)實一點.這些知識對后續(xù)理解算法理解代碼都會有很大的幫助.
4.案例:計算最大似然估計
用一個例子來演示這個過程.案例如下:
假設(shè)這次有三個數(shù)據(jù)點,我們假設(shè)它們是從一個被高斯分布充分描述的過程生成的。這些點是 9、9.5 和 11。那么如何用最大似然估計逼近這個高斯分布的參數(shù) μ 和 σ 呢?
我們要計算的是同時觀察到所有這些數(shù)據(jù)的概率,也就是所有觀測數(shù)據(jù)點的聯(lián)合概率分布。因此,我們需要計算一些可能很難算出來的條件概率。我們將在這里做出第一個假設(shè),假設(shè)每個數(shù)據(jù)點都是獨立于其他數(shù)據(jù)點生成的。這個假設(shè)能讓計算更容易些。如果事件(即生成數(shù)據(jù)的過程)是獨立的,那么觀察所有數(shù)據(jù)的總概率就是單獨觀察到每個數(shù)據(jù)點的概率的乘積(即邊緣概率的乘積)。
從高斯分布中生成的單個數(shù)據(jù)點 x 的(邊緣)概率是:
在表達(dá)式 P(x; μ, σ) 中的分號是為了強調(diào)在分號后的符號都是概率分布的參數(shù)。所以千萬不要把這個與條件概率相混淆。條件概率一般會用豎線來表達(dá),比如說 P(A| B)。
在我們的例子中,同時觀察到這三個數(shù)據(jù)點的總(聯(lián)合)概率是:

我們只要找出能夠讓上述表達(dá)式最大化的μ、σ值就可以了。
如果你在數(shù)學(xué)課上學(xué)過微積分,那么你可能會意識到有一種技巧可以幫助我們找到函數(shù)的最大值(和最小值)。我們所要做的就是求出函數(shù)的導(dǎo)數(shù),把導(dǎo)函數(shù)設(shè)為零然后重新變換方程,使其參數(shù)成為方程的未知數(shù)。
總概率表達(dá)式實際上是很難微分,這里就需要用到對數(shù)似然函數(shù).這里需要解釋一下,為什么可以用取自然對數(shù)進(jìn)行簡化?
因為自然對數(shù)是一個單調(diào)遞增的函數(shù)。這意味著,如果 x 軸上的值增加,y 軸上的值也會增加(見下圖)。這一點很重要,因為它確保了概率的最大對數(shù)值出現(xiàn)在與原始概率函數(shù)相同的點上。因此,我們可以用更簡單的對數(shù)概率來代替原來的概率。
原函數(shù)的單調(diào)性,左邊是 y = x,右邊是(自然)對數(shù)函數(shù) y = ln(x)。

這是一個非單調(diào)函數(shù)的例子,因為從左至右 f(x) 會上升,然后下降,然后又上升。

最后,設(shè)置等式的左邊為零,然后以μ為未知數(shù)整理式子,可以得到:
這樣我們就得到了 μ 的最大似然估計。我們可以用同樣的方法得到 σ 的最大似然估計。