熱線電話:13121318867

登錄
首頁精彩閱讀機器學習故事匯-線性回歸算法
機器學習故事匯-線性回歸算法
2018-03-23
收藏

機器學習故事匯-線性回歸算法

今天咱們要來嘮的是機器學習中最基本也是最重要的算法之一線性回歸,正當此時迪哥正在前往銀行的路上,準備辦理貸款(低保),到了之后銀行問了我兩件事,年齡和工資都多少呀?(特征)當得到了結果后告訴我我們只能貸給你100塊,別問為什么!機器算的?。C器你拿毛線算的100快?)

這個圖就是機器如何進行預測的(回歸)它會根據一票子兄弟貸款的歷史數據(年齡和工資分別對應于X1與X2)找出來最好的擬合線(面)來進行預測,這樣你的數據來了之后直接帶入進去就可以得出來該給你多少錢了。

我們用兩個參數來分別對應于工資和年齡,控制它們對結果的影響大小,這里做了一個整合是把偏置項和權重參數項放到了一起(加了個X0讓其都等于1)

要想讓銀行能開的下去,那就得少遇到點麻煩,迪哥這么大碗就給我100塊(真實的指標應該為200塊)肯定是要砸場子的,所以我們的目標是要讓得到的預測值跟真實值越接近越好。

既然說到誤差了,咱們就來好好嘮一下,首先銀行的目標得讓誤差越小越好,這樣才能夠使得我們的結果是越準確的。那么這個誤差有什么規律可循嗎?

咱們先來說說這個誤差為啥會服從高斯分布呢,這個事就得從我們是怎么認為一個事發生的概率來說了,正常情況下你去銀行貸款差不多都是一個符合你的數字吧,極小的情況下能出現類似迪哥的情況(100塊都不給我),還是極小的情況下能像對待馬云似的給你幾個億吧,所以銀行給你貸款的誤差項理論上都是在較小范圍內浮動的,要么多了一點,要么少了一點。所以我們認為該誤差是可以服從高斯分布的(正太分布)。

那為啥會獨立呢?獨立的意思就是說迪哥來貸款了,恰好馬云也來了,但是我倆不認識?。ㄆ鋵嵥J識我,我不認識他),所以我倆在貸款的時候不會因為馬云而對我產生什么影響,也不會因為我對馬云產生什么影響,這就是獨立!

同分布又是啥呢?我和馬云來的是一家銀行吧,這家銀行的系統只有一個,所以它在預測的時候是按照同樣的方式來的,這就是我們的數據是在同一個分布下去建模的。

既然誤差服從了高斯分布我們就把它進行展開,上式的意思就是我去貸款,在它這兩組參數的控制下得到的貸款金額恰好是等于真實情況下就該給我這么多錢的概率。(預測值和真實值對應的可能性大?。┠敲次覀儺斎幌M@個概率越大越好呀,越大代表越準確呀。

(怎么又來了一堆數學。。。沒人數學就不是機器學習啦)咱們繼續來看,咋又突然出來了個似然函數呀,咱們先來說一說它是個什么東西。比如說你今天去賭場了,然后你不知道能不能贏錢,你就在門口蹲著,出來一個人你就問一下,哥們贏錢了嗎(然后挨了一頓揍),連續出來5個人都告訴你贏錢了,那么你就會認為我去賭錢也肯定會贏錢。這個的意思就是要利用樣本數據去估計你的參數應該是什么,使得估計出來的參數盡可能的滿足(擬合)你的樣本。

對數似然它的意思和目標很簡單,就是為了簡單求解,所以把比較復雜的乘法運算轉換成了比較簡單的加法運算。


一頓化簡,其實就是把原式給展開了,然后我們的目標是要求最大值吧(什么樣的參數能夠使得跟我數據組合完之后是真實值的概率越大越好),對于化簡后的結果左邊是一個常數不用去管,右邊是一個恒正的(因為有平方項)但是前面還有一個負號呀,讓這樣的數什么時候能取最大值呀?只有負號后面的取最小值才可以呀!

到這里我們終于推導出來了,銀行只需要做一件事就可以了,那就是最小化這個函數(目標函數),其實說白了就是要讓我們的預測值和真實值之間的差異越小越好,這就是最小二乘法!

接下來就是如何求解呢?通常我們去求偏導就可以了,因為極值點通常都是在偏導處取得,對我們的目標函數求偏導,并且讓其等于0,這樣我們就能找到最終參數的解應該是什么了!到這里小伙伴們可能感覺到竟然真能求出這個解,那這個解不就是我們想要的參數嘛,得到了它銀行就有救啦!

至此我們通過了一系列的推導得出了線性回歸的最終解法,但是這個解可以說是數學上的一個巧合,并不是所有問題都可以直接求解的,下回咱們再談談如何間接的求最優解~

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢