機器學習 --- 2. 從最大似然再看線性迴歸

從最大似然再看線性迴歸

1. 線性迴歸的回顧

上一節我們嘗試解決“房價與房子大小”之間關係的時候,使用了線性迴歸去擬合一個線性的方程,使得這個線性方程與所獲得的房價房大小數據最大限度地吻合。

所以,我們的問題的解決思路是,

  • 把數據當成事實

  • 用一個特定的模型(e.g.線性方程或非線性方程)去匹配數據

這些數據被當成了上帝,而讓我們用模型去匹配他們。數據就是事實,當誤差很大時,只能說明模型不夠好,仍需努力來匹配我們的數據。


2. 換個角度看線性迴歸

剛纔是數據是事實,換個角度來看,數據應該是事實的一個表現。也就是”房價數據”應該是“房價與房子大小關係”的一個表現。現在假設北京某地房價和房子大小之間關係已經確定了

房價=房子大小*500,

但是我們不知道,現在拿到了5個數據,

(500, 1),   (502, 1), (1510, 3), (1120, 2), (1500, 2). 會發現這5個數據並不符合關係。這是爲什麼,這是因爲這些數據裏面並不僅僅包含了"房價”與"房子大小”之間的關係,還很可能包含了, "房價”與“新舊”,“房屋”與“朝向”,“房屋”與“小區環境”...等等各種因素,而且這些因素很可能是可以觀察到,也有可能是觀察不到的。


所以說想完美準確的預測房價與房子大小的關係是有可能的!! 只要找出所有影響房價的因素.

找到所有影響房價的因素這是不可能的!! 所以我們可能勉爲其難,只需要一個最近似的關係就好了,所以只要把其他因素都看成是一些與房子大小無關的小噪聲就好了。於是,


y就是我們的房價,f(x)就是房價與房子大小之間的關係,\epsilon就是一些與房子大小無關的小噪聲,當然,因爲\epsilon是一個隨機的東西,我們可以用隨機變量E來表示它,




3.最大似然

無論如何, 現在我們有了一串X,Y,就可以嘗試地找出一個最有可能的f(x)去擬合數據了。

什麼叫最有可能?

假如有M個f(x), 那麼我們需要評估哪個模型最有可能產生這一串數據D (Y, X). 可能性應該用概率來表示,

是f(x)的參數, 如果這些數據與數據之間是獨立的,就有


下面這個方程,表示了模型產生數據X,Y的可能性


因爲X,Y已經確定了,現在要使得可能性最大,我們只能通過調整的值了。

對任意一個數據,(xi, yi),我們可以計算



現在要計算一個模型產生數據的可能性,我們只要知道這個模型預測值與實際值之間的誤差,和這個噪聲隨機變量E的分佈就可以了。

解決最大似然問題的流程

到這,問題已經可以解決了,也就是,對於已有的數據D(X,Y)和任意一個參數爲的f(x),找到最好的參數我們需要,

  1. 選擇一個模型f(x), 和初始化其參數

  2. 估測噪聲隨機變量E的分佈情況(e.g. 均勻分佈,高斯分佈...), 得到Likelihood表達式

  3. 計算Likelihood函數, 並調整使得Likelihood達到最大

調整的方法可以使用像前一章中介紹的“導數下降法”,當然也可以直接找極值點(導數爲0)來得到其極大極小值。


Likelihood 函數會隨着模型f(x)的選擇和噪聲隨機變量E的選擇出現不同的情況。下面就由我展示一下,最大似然怎麼與前面兩位迴歸(線性迴歸(Linear Regression)和分類迴歸(Logistic Regression))聯繫起來的吧!


4. 最大似然變身線性迴歸

這時候,模型我選 f(x) = ax + b,  噪聲隨機變量 E一個正態分佈N(0,2).



要讓Likelihood最大,只需要把最小化就好了。啊啊啊!這個公式熟悉麼? 這正是前面線性迴歸的cost函數嗎?原來線性迴歸只是最大似然的一種特殊情況!


5. 最大似然與分類


這時候,模型我選f(x)=, 這時隨機噪聲變量的分佈就不再是高斯分佈了,是一個極其複雜的分佈。但是幸運的是,我們可以得到Likelihood的表達式, 因爲




統一一下這個式子,


於是有,


最後可以看到,這個Likelihood函數變成了,分類迴歸中的cost函數的取負。所以最大化Likelihood就等同於最小化分類迴歸中的cost函數。


以上兩類問題,線性迴歸和分類迴歸,都可以由最大似然估計法推導而來,說明了最大似然估計法是一種更普適的描述模型匹配的方法。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章