在前面講解線性迴歸時,我們以房價預測為例,引出了我們認為“比較合理”的cost function:
在一些面試中,面試官可能會問:線性迴歸的cost function為什麼是這種格式?能不能是其他格式?
下面,我們將從數學的角度進行講解。
講解之前,先給大家補充點概率論的知識,大家也可以查點資料,加深對概念的理解
概率
概率就是某件事發生的可能性。
如果y是關於變量x、參數θ的函數(離散函數或者連續函數),那麼
p(y|x;θ)表示:在參數等於θ,變量等於x時,y的概率
例如:p(y=1|x;θ) 表示給定x,θ的條件下y=1的概率。
似然
似然,也表示一種可能性,與概率不同之處在於:兩者的對象不同:
“概率”:在參數θ已知的情況下,預測接下來的觀測所得到的結果(參數θ為確定值,而x為變量)。
”似然“:在已知某些觀測結果的情況下(training set),對有關事物的性質(參數θ)進行估計。
也就是說,概率表示事件發生的可能性,而似然表示某一組參數適應已知樣本的能力。
此外,似然函數等於概率(或概率密度)的乘積,
最大似然估計
最大似然估計,就是利用已知的樣本結果(training set),反推最有可能(最大概率)導致這樣結果的參數值θ。
簡單來說,我們現在有一堆已知樣本結果(training set),藉助於最大似然估計,我們就可以找到一組參數θ,這組參數θ,可以比較大概率的適用於已知的樣本(training set)
看起來,機器學習算法,可以借鑑最大似然估計,找到一組“最可能”的參數θ,從而找到hypothesis function。同時,如果對應的似然函數越大,那麼hypothesis function就越“完美”
這裡,我們先把最大似然估計的求法列出來:
寫出似然函數
對似然函數取對數,並整理
求導數
解似然方程
高斯分佈
數學上,如果隨機變量X服從一個數學期望為μ、標準方差為σ2的高斯分佈,則記為:
數學上,有幾種不同的方法來說明一個隨機變量,最直觀的方法是概率密度函數。
概率密度函數,表示隨機變量每個取值有多大的可能性,表達式如下:
高斯分佈中,μ決定了高斯分佈的對稱軸,σ決定了分佈的幅度,下面給出不同參數下的高斯分佈函數圖:
有了前面的知識,接下來,我們看看如何推導線性迴歸的代價函數
線性迴歸代價函數的推導
首先假設我們的hypothesis function格式如下:
假設我們的training set中有m個樣本數據,對於每一個樣本,hypothesis function預測的結果hθ(x)與y可能存在誤差,我們假設誤差為ε,則
我們通常認為:誤差ε是獨立並具有相同的分佈,並且服從均值為0的高斯分佈,即
上式做變換,結果如下:
接下來,按照最大似然估計的方法,從training set中,反推出參數θ
寫出似然函數
對似然函數取對數,並整理
此時,我們需要求得一組參數θ,使得似然函數的對數最大,即求一組參數θ,使下式最小
將上式乘以1/m,即得到我們的cost function:
現在大家應該知道線性迴歸的cost function是如何推導出來的吧~
OK,我們現在再整理一下思路:
我們現在有一組樣本數據(training set)
對於樣本數據中的每一個instance,預測值與實際值之差,服從高斯分佈
通過最大似然估計,我們可以找到一組參數θ,使方差最小
在解最大似然估計時,我們發現,某一項式子(式子1)越小,似然函數就越大,對應參數就越適用於已知樣本
我們將這一項式子,稍作改動,作為我們的cost function
通過上面的講解,相信大家能回答下面的兩個問題了吧
cost function格式是如何推導來的
為什麼cost function越小,hypothesis function就越“完美”
閱讀更多 機器愛學習 的文章