機器學習之-線性迴歸演算法【人工智慧工程師--AI轉型必修課】

CSDN學院發表於2020-04-04

【我們們的目標】系列演算法講解旨在用最簡單易懂的故事情節幫助大家掌握晦澀無趣的機器學習,適合對數學很頭疼的同學們,小板凳走起!

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

這裡寫圖片描述

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

這裡寫圖片描述

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

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

這裡寫圖片描述

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

這裡寫圖片描述

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

那為啥會獨立呢?獨立的意思就是說迪哥來貸款了,恰好馬雲也來了,但是我倆不認識啊(其實他認識我,我不認識他),所以我倆在貸款的時候不會因為馬雲而對我產生什麼影響,也不會因為我對馬雲產生什麼影響,這就是獨立!

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

這裡寫圖片描述

既然誤差服從了高斯分佈我們就把它進行展開,上式的意思就是我去貸款,在它這兩組引數的控制下得到的貸款金額恰好是等於真實情況下就該給我這麼多錢的概率。(預測值和真實值對應的可能性大小)那麼我們當然希望這個概率越大越好呀,越大代表越準確呀。

這裡寫圖片描述

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

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

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

到這裡我們終於推匯出來了,銀行只需要做一件事就可以了,那就是最小化這個函式(目標函式),其實說白了就是要讓我們的預測值和真實值之間的差異越小越好,這就是最小二乘法!
這裡寫圖片描述
接下來就是如何求解呢?通常我們去求偏導就可以了,因為極值點通常都是在偏導處取得,對我們的目標函式求偏導,並且讓其等於0,這樣我們就能找到最終引數的解應該是什麼了!到這裡小夥伴們可能感覺到竟然真能求出這個解,那這個解不就是我們想要的引數嘛,得到了它銀行就有救啦!

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

機器學習30天系統掌握【升級】

講師介紹:
唐宇迪,計算機博士,專注於機器學習與計算機視覺領域,深度學習領域一線實戰專家,善於實現包括人臉識別,物體識別,關鍵點檢測等多種應用的最新演算法。參與多個國家級計算機視覺專案,多年資料領域培訓經驗,豐富的教學講解經驗,出品多套機器學習與深度學習系列課程,課程生動形象,風格通俗易懂。

課程介紹:
這將是你成為機器學習工程師的最佳實踐指南,通過30天實訓,層層遞進,徹底掌握機器學習!
知識系統性歸納+實時答疑+原始碼共享+案例實戰,五大模組的支撐,這才是從零入門的正確開啟方式!課程分為四個階段:基礎講解+演算法進階+案例實戰+行業應用。全程採用案例實戰,為快速與實際專案接軌打定基礎!
課程從機器學習經典演算法的數學原理推導與例項講解,通過原理分析,通俗解讀,案例實戰讓大家快速掌握機器學習經典演算法原理推導與工作流程,掌握Python資料分析與建模庫使用方法,從案例角度思考如何應用及其學習演算法解決實際問題。

目標人群:
1. 適合零基礎!對機器學習感興趣,或致力於從事人工智慧領域的開發者!
2. N+知識點+手把手掌握+原始碼共享+實時答疑,系統性學習與消化!
3. 全程案例實戰,從案例中學習,事半功倍!報名就贈:Python機器學習必備庫!全程金牌輔導!

課程特色:
專屬答疑+課件資料提供+視訊無限時回放+VIP交流群

開課時間:
隨到隨學,自由支配

點我試看: http://edu.csdn.net/course/detail/6108?utm_source=blog11

相關文章