導航:首頁 > 源碼編譯 > 5分鍾學會回歸演算法

5分鍾學會回歸演算法

發布時間:2024-10-27 19:21:32

㈠ 小白也能入門機器學習-線性回歸

小白也能入門機器學習-線性回歸
【咱們的目標】系列演算法講解旨在用最簡單易懂的故事情節幫助大家掌握晦澀無趣的機器學習,適合對數學很頭疼的同學們,小板凳走起!
【什麼是線性回歸】今天咱們要來嘮的是機器學習中最基本也是最重要的演算法之一線性回歸,正當此時迪哥正在前往銀行的路上,准備辦理貸款(低保),到了之後銀行問了我兩件事,年齡和工資都多少呀?(特徵)當得到了結果後告訴我我們只能貸給你100塊,別問為什麼!機器算的!(機器你拿毛線算的100快?)這里告訴了我們這樣一件事,我們的輸入就是你的數據特徵,得出的結果是一個連續區間上的值,目標就是找到我們想要預測的值和我們的輸出之間的關系,接下來我們的目標就放在如何找到這種關系。

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

我們用兩個參數來分別對應於工資和年齡,控制它們對結果的影響大小,這里做了一個整合是把偏置項和權重參數項放到了一起(加了個X0讓其都等於1)
要想讓銀行能開的下去,那就得少遇到點麻煩,迪哥這么大碗就給我100塊(真實的指標應該為200塊)肯定是要砸場子的,所以我們的目標是要讓得到的預測值跟真實值越接近越好。機器學習當中最核心的一點就在於如何優化我們的目標,可以看到對於這些點來說有些離我的回歸方程比較近,有些比較遠,最終我們應該設定一個目標讓我們的方程能夠更好的去擬合當前的這些數據點。

【深入細節】既然說到誤差了,咱們就來好好嘮一下,首先銀行的目標得讓誤差越小越好,這樣才能夠使得我們的結果是越准確的。那麼這個誤差有什麼規律可循嗎?誤差可以說是機器學習當中最長聽到的一個詞了,我們可以假想一下,你讓機器人來幫你進行工作,剛開始的時候它肯定啥都不會,我們得一點點的教它,等他慢慢熟悉我們的工作了(數據),也就意味著我們的回歸方程效果會更好了。

咱們先來說說這個誤差為啥會服從高斯分布呢,這個事就得從我們是怎麼認為一個事發生的概率來說了,正常情況下你去銀行貸款差不多都是一個符合你的數字吧,極小的情況下能出現類似迪哥的情況(100塊都不給我),還是極小的情況下能像對待馬雲似的給你幾個億吧,所以銀行給你貸款的誤差項理論上都是在較小范圍內浮動的,要麼多了一點,要麼少了一點。所以我們認為該誤差是可以服從高斯分布的(正太分布)。
那為啥會獨立呢?獨立的意思就是說迪哥來貸款了,恰好馬雲也來了,但是我倆不認識啊(其實他認識我,我不認識他),所以我倆在貸款的時候不會因為馬雲而對我產生什麼影響,也不會因為我對馬雲產生什麼影響,這就是獨立!
同分布又是啥呢?我和馬雲來的是一家銀行吧,這家銀行的系統只有一個,所以它在預測的時候是按照同樣的方式來的,這就是我們的數據是在同一個分布下去建模的。

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

(怎麼又來了一堆數學。。。沒人數學就不是機器學習啦)咱們繼續來看,咋又突然出來了個似然函數呀,咱們先來說一說它是個什麼東西。比如說你今天去賭場了,然後你不知道能不能贏錢,你就在門口蹲著,出來一個人你就問一下,哥們贏錢了嗎(然後挨了一頓揍),連續出來5個人都告訴你贏錢了,那麼你就會認為我去賭錢也肯定會贏錢。這個的意思就是要利用樣本數據去估計你的參數應該是什麼,使得估計出來的參數盡可能的滿足(擬合)你的樣本。
對數似然它的意思和目標很簡單,就是為了簡單求解,所以把比較復雜的乘法運算轉換成了比較簡單的加法運算。

【得出目標】一頓化簡,其實就是把原式給展開了,然後我們的目標是要求最大值吧(什麼樣的參數能夠使得跟我數據組合完之後是真實值的概率越大越好),對於化簡後的結果左邊是一個常數不用去管,右邊是一個恆正的(因為有平方項)但是前面還有一個負號呀,讓這樣的數什麼時候能取最大值呀?只有負號後面的取最小值才可以呀!
到這里我們終於推導出來了,銀行只需要做一件事就可以了,那就是最小化這個函數(目標函數),其實說白了就是要讓我們的預測值和真實值之間的差異越小越好,這就是最小二乘法!

接下來就是如何求解呢?通常我們去求偏導就可以了,因為極值點通常都是在偏導處取得,對我們的目標函數求偏導,並且讓其等於0,這樣我們就能找到最終參數的解應該是什麼了!到這里小夥伴們可能感覺到竟然真能求出這個解,那這個解不就是我們想要的參數嘛,得到了它銀行就有救啦!
【總結】
至此我們通過了一系列的推導得出了線性回歸的最終解法,路途雖然有點曲折但是其中涉及到的思想還是非常有意思的,這節課希望大家對線性回歸有了一個直觀的認識,了解機器學習工作的基本原理與實際處理方法。但是這個解可以說是數學上的一個巧合,並不是所有問題都可以直接求解的,下回咱們再談談如何間接的求最優解~

㈡ 機器學習的方法之回歸演算法

我們都知道,機器學習是一個十分實用的技術,而這一實用的技術中涉及到了很多的演算法。所以說,我們要了解機器學習的話就要對這些演算法掌握通透。在這篇文章中我們就給大家詳細介紹一下機器學習中的回歸演算法,希望這篇文章能夠幫助到大家。
一般來說,回歸演算法是機器學習中第一個要學習的演算法。具體的原因,第一就是回歸演算法比較簡單,可以讓人直接從統計學過渡到機器學習中。第二就是回歸演算法是後面若干強大演算法的基石,如果不理解回歸演算法,無法學習其他的演算法。而回歸演算法有兩個重要的子類:即線性回歸和邏輯回歸。
那麼什麼是線性回歸呢?其實線性回歸就是我們常見的直線函數。如何擬合出一條直線最佳匹配我所有的數據?這就需要最小二乘法來求解。那麼最小二乘法的思想是什麼呢?假設我們擬合出的直線代表數據的真實值,而觀測到的數據代表擁有誤差的值。為了盡可能減小誤差的影響,需要求解一條直線使所有誤差的平方和最小。最小二乘法將最優問題轉化為求函數極值問題。
那麼什麼是邏輯回歸呢?邏輯回歸是一種與線性回歸非常類似的演算法,但是,從本質上講,線型回歸處理的問題類型與邏輯回歸不一致。線性回歸處理的是數值問題,也就是最後預測出的結果是數字。而邏輯回歸屬於分類演算法,也就是說,邏輯回歸預測結果是離散的分類。而邏輯回歸演算法劃出的分類線基本都是線性的(也有劃出非線性分類線的邏輯回歸,不過那樣的模型在處理數據量較大的時候效率會很低),這意味著當兩類之間的界線不是線性時,邏輯回歸的表達能力就不足。下面的兩個演算法是機器學習界最強大且重要的演算法,都可以擬合出非線性的分類線。這就是有關邏輯回歸的相關事項。
在這篇文章中我們簡單給大家介紹了機器學習中的回歸演算法的相關知識,通過這篇文章我們不難發現回歸演算法是一個比較簡答的演算法,回歸演算法是線性回歸和邏輯回歸組成的演算法,而線性回歸和邏輯回歸都有自己實現功能的用處。這一點是需要大家理解的並掌握的,最後祝願大家能夠早日學會回歸演算法。

閱讀全文

與5分鍾學會回歸演算法相關的資料

熱點內容
主角是程序員的重生小說推薦 瀏覽:318
壓縮機十字頭裝配視頻 瀏覽:805
屏幕錄像軟體源碼 瀏覽:310
app如何靜默更新 瀏覽:83
南京程序員接私活報價 瀏覽:936
阿里雲伺服器和價格 瀏覽:448
怎麼給u盤添加密碼分區 瀏覽:629
區域狗開發源碼 瀏覽:265
用網上下載雲豹的源碼 瀏覽:264
安卓攝像頭被佔用怎麼辦 瀏覽:868
安卓qq營銷助手怎麼弄 瀏覽:527
windosphp 瀏覽:977
linuxpythoncrontab 瀏覽:445
豆瓣圖片尺寸不被壓縮 瀏覽:701
未找到rpm命令oracle 瀏覽:977
phplaravel學習 瀏覽:719
文件解壓怎麼更改名字 瀏覽:757
我的程序員那麼可愛更新時間 瀏覽:725
女程序員街頭流浪 瀏覽:538
全面的電話機器人源碼 瀏覽:14