線性回歸 最小二乘法

原文在此

線性回歸是最基礎(chǔ)和常見的算法页衙,屬于監(jiān)督學(xué)習(xí)的一種,是講述算法開始的地方同辣。我們在中學(xué)拷姿、大學(xué)學(xué)過很多次惭载,雖然我已完全不記得。線性回歸作為基礎(chǔ)响巢,雖然simple但不意味著easy描滔,對其掌握很重要的。

雖然看上去平平無奇踪古,不過其內(nèi)涵之豐富讓人驚嘆含长,很多復(fù)雜的算法中都能看到線性回歸的影子,可以自然的過渡到邏輯回歸伏穆、多層感知機(jī)拘泞、再到深度學(xué)習(xí)等復(fù)雜的方法得封。

image

本篇主要結(jié)構(gòu)如下:

  • 快照snapshot:sklearn實例

  • 最小二乘法

快照snapshot

首先看看我們要解決的問題髓霞。來自kaggle的house price數(shù)據(jù)集汪榔,有1460個樣本的訓(xùn)練集眼坏,我們節(jié)選兩列作為例子项秉。

image

給定n個實例溃卡,每個實例含有m個特征和1個目標(biāo)變量沮焕。目標(biāo)變量為連續(xù)值時对室,意味著采用回歸的方法参滴;目標(biāo)變量為離散值時强岸,則采用分類的方法。這里的例子中砾赔,GrLivArea和LotArea兩列是已知的特征蝌箍,SalePrice列則是目標(biāo)變量。目標(biāo)變量與兩個特征的關(guān)系如下圖暴心,可見特征與目標(biāo)間基本符合“線性”的假設(shè)妓盲。

image

線性回歸假設(shè)每個特征和目標(biāo)變量的關(guān)系為線性關(guān)系,目標(biāo)可用各個特征的加權(quán)求和求得专普。用如下公式表達(dá):

其中本橙,x是一個實例,含有m個特征故形狀為(1脆诉,m)甚亭;y是因變量;w是每個特征對應(yīng)的權(quán)重击胜,形狀為(m,1)亏狰;b是偏差,形狀為1偶摔。

我們可以把n個實例的公式暇唾,寫成矩陣形式:

其中,X變?yōu)閚個實例的集合,是一個(n策州,m)形狀的矩陣瘸味。Y為n個實例的目標(biāo),是形狀為(n够挂,1)的矩陣旁仿。

線性回歸的求解過程是,已知X和Y孽糖,設(shè)置一個目標(biāo)枯冈,求解最優(yōu)目標(biāo)時的對應(yīng)的w和b。這里的目標(biāo)既是:損失函數(shù)取最小值办悟。這樣問題轉(zhuǎn)化為一個數(shù)學(xué)優(yōu)化問題來求解尘奏,主要求解方法有基于誤差的最小二乘法,和基于頻率派觀點的最大似然法病蛉,基于貝葉斯派觀點的最大后驗法炫加。

為了了解基本過程,我們先在sklearn里實現(xiàn)一下铺然。

# load the data

我們得到了兩個特征對應(yīng)的權(quán)重是4.89e-04和2.83-06琢感,對應(yīng)的截距b是11.25。這意味著

SalePrice=4.89e-4* GrLivArea + 2.83e-6* LotArea + 11.25

image

這樣探熔,我們就實現(xiàn)了一個線性回歸的過程,知道了它大概的含義烘挫。當(dāng)然诀艰,就算在excel里,也很容易的做出擬合來饮六。

最小二乘法

最小二乘法其垄,看著也是平平無奇,但他的發(fā)明者卻是真大佬:高斯和勒讓德卤橄。勒讓德在1805年的著作《計算慧星軌道的新方法》中首先發(fā)表最小二乘法绿满。高斯在4年后也發(fā)表了最小二乘法,并宣稱已用了很多年了窟扑,而且還用它精確預(yù)測了谷神星的位置喇颁。如果是別人這么說,可能是沽名釣譽(yù)嚎货,但如果是高斯這么說橘霎,我是相信的≈呈簦看來姐叁,最小二乘法也是響當(dāng)當(dāng)?shù)母叨酥R。

最小二乘法的理念是承認(rèn)觀測誤差的存在,認(rèn)為誤差是圍繞真值上下波動的外潜,當(dāng)平方誤差最小時即為真值原环。具體應(yīng)用時,算法的關(guān)鍵是要學(xué)習(xí)到線性方程中中的未知權(quán)重w和b处窥,當(dāng)經(jīng)驗風(fēng)險最小化時的權(quán)重認(rèn)為是最優(yōu)的嘱吗。為了簡化,我們經(jīng)常在推導(dǎo)中忽略b碧库,因為b可以認(rèn)為存在一個常數(shù)列x=1對應(yīng)的權(quán)重w的一個分量柜与,不必單獨(dú)另求。

<embed src="https://mmbiz.qlogo.cn/mmbiz_svg/O1dAhMERUwV9wQrMHTmps5RiajptXABo99NricmEpNhl4NbkKAnOvibPBs7FEpQaufs8T9Wh8dOuWLR9XtYbibS7ydNlS5EpRTicU/0?wx_fmt=svg" data-type="svg+xml" style="margin: 0px; padding: 0px; max-width: 300%; box-sizing: border-box !important; overflow-wrap: break-word !important; vertical-align: -2.488ex; width: 24.528ex; height: auto;">

m個實例的經(jīng)驗數(shù)據(jù)嵌灰,其經(jīng)驗損失函數(shù)為:

<embed src="https://mmbiz.qlogo.cn/mmbiz_svg/O1dAhMERUwV9wQrMHTmps5RiajptXABo93dia1N4lhLfUYvVH3rCbC18ibUZ2HKxXCTibz0ia4VibykmqmSWDsNsZJvlo6ZGgpLAmB/0?wx_fmt=svg" data-type="svg+xml" style="margin: 0px; padding: 0px; max-width: 300%; box-sizing: border-box !important; overflow-wrap: break-word !important; vertical-align: -2.819ex; width: 26.007ex; height: auto;"><embed src="https://mmbiz.qlogo.cn/mmbiz_svg/O1dAhMERUwV9wQrMHTmps5RiajptXABo9JduR0yZnjWz4VWrCsv1Rq1zA25TmOBFNVjAdkoNOLyXRyicfviaGuwCEe9soNjz7wC/0?wx_fmt=svg" data-type="svg+xml" style="margin: 0px; padding: 0px; max-width: 300%; box-sizing: border-box !important; overflow-wrap: break-word !important; vertical-align: -1.577ex; width: 34.579ex; height: auto;"><embed src="https://mmbiz.qlogo.cn/mmbiz_svg/O1dAhMERUwV9wQrMHTmps5RiajptXABo9nRUwraXB4jGAiaqMibaScGPZSbEGm5S3iajsoFhOO5A75foebtpXCcuHSy35sql4Mkb/0?wx_fmt=svg" data-type="svg+xml" style="margin: 0px; padding: 0px; max-width: 300%; box-sizing: border-box !important; overflow-wrap: break-word !important; vertical-align: -1.577ex; width: 50.489ex; height: auto;">

雖然預(yù)測的時候我們是帶入x弄匕,求解y,是關(guān)于特征x的函數(shù)沽瞭。但訓(xùn)練的時候迁匠,我們把損失函數(shù)Loss看成是關(guān)于w的函數(shù),把問題轉(zhuǎn)化為求關(guān)于w的最優(yōu)化問題驹溃。即Loss取最小值時城丧,認(rèn)為w和b是最佳值。最小值問題當(dāng)然可以用微積分豌鹤,導(dǎo)數(shù)為0時取得的值為極值亡哄,如果是凸函數(shù),此時的極值為最小值布疙。L對w的導(dǎo)數(shù)為:

<embed src="https://mmbiz.qlogo.cn/mmbiz_svg/O1dAhMERUwV9wQrMHTmps5RiajptXABo9IMUnlg89xb9rWCFcNIQibtZBmliasCgGTQ1pLfgbTlZvFtt3gWZdzLyX5qI2TYZuCm/0?wx_fmt=svg" data-type="svg+xml" style="margin: 0px; padding: 0px; max-width: 300%; box-sizing: border-box !important; overflow-wrap: break-word !important; vertical-align: -1.602ex; width: 26.595ex; height: auto;">

其中蚊惯,矩陣求導(dǎo)過程中用到的幾個規(guī)律:

可求得w的解析解為:

這里需要存在逆矩陣的情況下才存在解析解,即需要其是一個滿秩矩陣灵临。如果是奇異矩陣截型,如特征的個數(shù)超過樣本的個數(shù)或一些特征本身是線性相關(guān)的,則無法得到其解析解儒溉。

# 解析

梯度下降

矩陣求逆的運(yùn)算量較大宦焦,且數(shù)據(jù)量較大甚至無法放進(jìn)內(nèi)存時,我們就需要一種高效數(shù)值解法:連深度學(xué)習(xí)都說好的梯度下降法顿涣。數(shù)值解法通過不斷的迭代波闹,以時間換空間,逐步求的最優(yōu)解涛碑。

直觀理解就是舔痪,在曲面上的一點,其變化最大的方向锌唾、最陡的方向是沿著梯度的方向锄码。我們把loss看作一個w的函數(shù)夺英,為了讓loss不斷減小,移動w的方向就是沿著其梯度的方向滋捶。

這里的 就是調(diào)參中最重要參數(shù)了學(xué)習(xí)率痛悯。每一步都沿著梯度負(fù)方向前進(jìn)一點。梯度下降可以求得全局最優(yōu)解的條件是凸優(yōu)化重窟。

image

批量梯度下降

批量梯度下降則是為了應(yīng)對更大量數(shù)據(jù)的载萌,總共有n個樣本⊙采龋可以一次進(jìn)去一小批扭仁,更新一下參數(shù),再進(jìn)去更新一小批厅翔,更新一下參數(shù)乖坠。這里n個樣本循環(huán)輪數(shù)稱為epochs,每次進(jìn)去的一下批的個數(shù)為batch_size刀闷,所以權(quán)重w一共更新的次數(shù)為 n/batch_size*epochs熊泵,稱為總的步數(shù)steps。

如果每次只進(jìn)去一個樣本進(jìn)行更新權(quán)重甸昏,則稱為隨機(jī)梯度下降顽分,此時batch_size大小為1。

這些參數(shù)即使到了深度學(xué)習(xí)也是需要了解的基本概念施蜜,因此這里介紹了一下卒蘸。而從梯度下降對調(diào)參的重要啟示是:初始化很重要,學(xué)習(xí)率很重要翻默,梯度下降決定了各個特征需要norm標(biāo)準(zhǔn)化缸沃。

通過最小二乘法,我們看到求解一個算法的基本步驟冰蘑。那就是定義一個損失函數(shù)/目標(biāo)函數(shù),一般的目標(biāo)函數(shù)都是為了讓模型的預(yù)測盡量貼近數(shù)據(jù)中已有的標(biāo)簽村缸。然后采用優(yōu)化方法祠肥,不斷調(diào)整模型重的參數(shù),使目標(biāo)函數(shù)取得最小值梯皿,此時的模型參數(shù)即為我們找到的模型仇箱。這個過程,就可以稱之為“學(xué)習(xí)”东羹。

我是YueTan剂桥,歡迎關(guān)注。

下篇預(yù)告: 機(jī)器學(xué)習(xí)- 線性回歸II從零開始實現(xiàn)

參考資料:

  • 機(jī)器學(xué)習(xí)

  • PRML

  • ESL

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末属提,一起剝皮案震驚了整個濱河市权逗,隨后出現(xiàn)的幾起案子美尸,更是在濱河造成了極大的恐慌,老刑警劉巖斟薇,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件师坎,死亡現(xiàn)場離奇詭異,居然都是意外死亡堪滨,警方通過查閱死者的電腦和手機(jī)胯陋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來袱箱,“玉大人遏乔,你說我怎么就攤上這事》⒈剩” “怎么了盟萨?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長筐咧。 經(jīng)常有香客問我鸯旁,道長,這世上最難降的妖魔是什么量蕊? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任铺罢,我火速辦了婚禮,結(jié)果婚禮上残炮,老公的妹妹穿的比我還像新娘韭赘。我一直安慰自己,他們只是感情好势就,可當(dāng)我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布泉瞻。 她就那樣靜靜地躺著,像睡著了一般苞冯。 火紅的嫁衣襯著肌膚如雪袖牙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天舅锄,我揣著相機(jī)與錄音鞭达,去河邊找鬼。 笑死皇忿,一個胖子當(dāng)著我的面吹牛畴蹭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鳍烁,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼叨襟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了幔荒?” 一聲冷哼從身側(cè)響起糊闽,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤梳玫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后墓怀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體汽纠,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年傀履,在試婚紗的時候發(fā)現(xiàn)自己被綠了虱朵。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡钓账,死狀恐怖碴犬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情梆暮,我是刑警寧澤服协,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站啦粹,受9級特大地震影響偿荷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜唠椭,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一跳纳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧贪嫂,春花似錦寺庄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至亮靴,卻和暖如春馍盟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背茧吊。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工贞岭, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人饱狂。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓曹步,卻偏偏與公主長得像宪彩,于是被迫代替她去往敵國和親休讳。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,086評論 2 355