2019/11/19 Caesar
前言
??回歸算法是一種有監(jiān)督學(xué)習(xí)算法凑懂,用來建立自變量X和觀測(cè)變量Y之間的映射關(guān)系,如果觀測(cè)變量是離散的,則稱其為分類Classification;如果觀測(cè)變量是連續(xù)的,則稱其為回歸Regression蚓土。
??線性回歸模型試圖學(xué)得一個(gè)線性模型以盡可能準(zhǔn)確地預(yù)測(cè)實(shí)值X的輸出標(biāo)記Y。在這個(gè)模型中赖淤,因變量Y是連續(xù)的蜀漆,自變量X可以是連續(xù)或離散的。
??在回歸分析中咱旱,如果只包括一個(gè)自變量和一個(gè)因變量确丢,且二者關(guān)系可用一條直線近似表示,稱為一元線性回歸分析吐限;如果回歸分析中包括兩個(gè)或兩個(gè)以上的自變量鲜侥,且因變量和自變量是線性關(guān)系,則稱為多元線性回歸分析诸典。對(duì)于二維空間線性是一條直線描函,對(duì)于三維空間線性是一個(gè)平面,對(duì)于多維空間線性是一個(gè)超平面狐粱。
1. 情景代入
下面我們可以用一個(gè)簡(jiǎn)單的例子來直觀理解線性回歸模型舀寓。
從圖像中我們可以發(fā)現(xiàn)房子價(jià)和房子面積之間肌蜻,存在著一定的線性關(guān)系互墓,似乎是在沿著某條直線上下隨機(jī)波動(dòng),我們甚至可以找到一條直線串聯(lián)大部分的點(diǎn)蒋搜。
在二維平面中篡撵,這條直線的方程就是 y = wx + b,假設(shè)這條就是我們最佳擬合的直線 y = wx + b豆挽。對(duì)于每個(gè)樣本點(diǎn)分別代入即可育谬。為了防止正誤差值和負(fù)誤差值相抵的情況,使用絕對(duì)值來表示距離:
但是在線性回歸中帮哈,我們需要找極值膛檀,需要函數(shù)可導(dǎo),而
不是一個(gè)處處可導(dǎo)的函數(shù),因此很自然地想到可以使用:
對(duì)于所有樣本則有:
那么宿刮,問題來了,如何得到 w 和 b 呢私蕾?顯然?關(guān)鍵在于如何衡量 f(x) 與 y 之間的差別僵缺,均方誤差是回歸任務(wù)中最常用的性能度量,因此我們可試圖讓均方誤差最小化踩叭,.而這種基于均方誤差最小化進(jìn)行模型求解的方法稱為“最小二乘法”磕潮。在線性回歸中,最小 乘法就是試圖找到一條直線容贝,使所有樣本到直線上的歐氏距離之和最小自脯。接下來介紹以下“最小二乘法”。
2. 最小二乘法
2.1 最小二乘法引入
還是剛才的房子的栗子斤富,首先膏潮,把得到的值畫在笛卡爾坐標(biāo)系中,分別記作 yi :
其次满力,把要猜測(cè)的真實(shí)值用平行于橫軸的直線來表示(因?yàn)槭遣聹y(cè)的焕参,所以用虛線來畫),記作 y :
每個(gè)點(diǎn)都向 y 做垂線油额,垂線的長(zhǎng)度就是 | y - yi | 叠纷,也可以理解為預(yù)測(cè)值和真實(shí)值之間的誤差:
因?yàn)檎`差是長(zhǎng)度,還要取絕對(duì)值潦嘶,計(jì)算起來麻煩涩嚣,就干脆用平方來代表誤差:
總的誤差的平方就是:
法國(guó)數(shù)學(xué)家,阿德里安-馬里·勒讓德提出讓總的誤差的平方最小的 y 就是真值掂僵,這是基于航厚,如果誤差是隨機(jī)的,應(yīng)該圍繞真值上下波動(dòng)锰蓬。這就是最小二乘法阶淘,即:
這是一個(gè)二次函數(shù),對(duì)其求導(dǎo)互妓,導(dǎo)數(shù)為0的時(shí)候取得最小值:
可得:
2.2 線性回歸中的應(yīng)用
我們是要找到 a 和 b 溪窒,使得損失函數(shù):
盡可能的小。這里冯勉,將簡(jiǎn)單線性問題轉(zhuǎn)為最優(yōu)化問題澈蚌。下面對(duì)函數(shù)的各個(gè)位置分量求導(dǎo),導(dǎo)數(shù)為0的地方就是極值:
J(a, b) 對(duì) b 進(jìn)行求導(dǎo):
然后mb提到等號(hào)前面灼狰,兩邊同時(shí)除以m宛瞄,等號(hào)右面的每一項(xiàng)相當(dāng)于均值。
此時(shí)將對(duì) b 進(jìn)行求導(dǎo)得到的結(jié)果
代入上式中交胚,得到:
將上式進(jìn)行整理份汗,得到
??????????????轉(zhuǎn)載于公眾號(hào):數(shù)據(jù)科學(xué)家聯(lián)盟
將上式繼續(xù)進(jìn)行整理:
??????????????轉(zhuǎn)載于公眾號(hào):數(shù)據(jù)科學(xué)家聯(lián)盟
這樣在實(shí)現(xiàn)的時(shí)候簡(jiǎn)單很多盈电。最終我們通過最小二乘法得到a、b的表達(dá)式:
3. 評(píng)估模型
3.1 損失函數(shù)
損失函數(shù)是針對(duì)單個(gè)具體的樣本而言的杯活。表示的是模型預(yù)測(cè)的值與樣本真實(shí)值之間的差距匆帚。在線性回歸中,我們通常使用平方損失函數(shù):
另外還有一些常用的損失函數(shù):
損失函數(shù)是針對(duì)于單個(gè)樣本的旁钧,但是一個(gè)訓(xùn)練數(shù)據(jù)集中存在N個(gè)樣本吸重,N個(gè)樣本給出N個(gè)損失,如何進(jìn)行選擇呢歪今?
3.2 風(fēng)險(xiǎn)函數(shù)
期望風(fēng)險(xiǎn)是損失函數(shù)的期望嚎幸,用來表達(dá)理論上模型f(X)關(guān)于聯(lián)合分布P(X,Y)的平均意義下的損失。又叫期望損失/風(fēng)險(xiǎn)函數(shù)寄猩。
??????????????轉(zhuǎn)載于公眾號(hào):數(shù)據(jù)科學(xué)家聯(lián)盟
3.3 經(jīng)驗(yàn)風(fēng)險(xiǎn)
模型f(X)關(guān)于訓(xùn)練數(shù)據(jù)集的平均損失嫉晶,稱為經(jīng)驗(yàn)風(fēng)險(xiǎn)或經(jīng)驗(yàn)損失。
??????????????轉(zhuǎn)載于公眾號(hào):數(shù)據(jù)科學(xué)家聯(lián)盟
經(jīng)驗(yàn)風(fēng)險(xiǎn)是對(duì)訓(xùn)練集中的所有樣本點(diǎn)損失函數(shù)的平均最小化田篇。經(jīng)驗(yàn)風(fēng)險(xiǎn)越小說明模型f(X)對(duì)訓(xùn)練集的擬合程度越好车遂,但是對(duì)于未知的樣本效果怎么樣呢?我們知道未知的樣本數(shù)據(jù)(<X,Y>)的數(shù)量是不容易確定的斯辰,所以就沒有辦法用所有樣本損失函數(shù)的平均值的最小化這個(gè)方法舶担,那么怎么來衡量這個(gè)模型對(duì)所有的樣本(包含未知的樣本和已知的訓(xùn)練樣本)預(yù)測(cè)能力呢?
3.4 期望風(fēng)險(xiǎn)
熟悉概率論的很容易就想到了用期望彬呻。沒錯(cuò)衣陶!即假設(shè)X和Y服從聯(lián)合分布P(X,Y).那么期望風(fēng)險(xiǎn)就可以表示為:
??????????????轉(zhuǎn)載于公眾號(hào):數(shù)據(jù)科學(xué)家聯(lián)盟
3.5 總結(jié)
3.5.1 損失函數(shù)、經(jīng)驗(yàn)風(fēng)險(xiǎn)闸氮、期望風(fēng)險(xiǎn)
損失函數(shù):針對(duì)單個(gè)樣本剪况,衡量預(yù)測(cè)值與真實(shí)值的差異程度。損失函數(shù)是理解經(jīng)驗(yàn)風(fēng)險(xiǎn)和期望風(fēng)險(xiǎn)的基礎(chǔ)蒲跨。
經(jīng)驗(yàn)風(fēng)險(xiǎn):經(jīng)驗(yàn)風(fēng)險(xiǎn)是局部的译断,基于訓(xùn)練集所有樣本點(diǎn),損失函數(shù)最小化的或悲。經(jīng)驗(yàn)風(fēng)險(xiǎn)函數(shù)是現(xiàn)實(shí)的孙咪,可求的。
期望風(fēng)險(xiǎn):期望風(fēng)險(xiǎn)是全局的巡语,基于所有樣本點(diǎn)翎蹈,損失函數(shù)最小化的。期望風(fēng)險(xiǎn)函數(shù)是理想化的男公,不可求的荤堪。
3.5.2
我們平時(shí)所說的損失函數(shù)一定是數(shù)據(jù)集維度的,所以是經(jīng)驗(yàn)風(fēng)險(xiǎn)或期望風(fēng)險(xiǎn)的一種。
4. 最優(yōu)化
4.1 凸優(yōu)化
確定損失函數(shù)是完成機(jī)器學(xué)習(xí)算法關(guān)鍵的一步澄阳,一旦它確定了拥知,剩下的就是求解最優(yōu)化問題,這在數(shù)學(xué)上一般有標(biāo)準(zhǔn)的解決方案碎赢。
現(xiàn)將回歸預(yù)測(cè)函數(shù)帶入損失函數(shù)的定義低剔,可以得到如下?lián)p失函數(shù):
可以證明這個(gè)函數(shù)是凸函數(shù)。凸優(yōu)化問題的局部最優(yōu)解就是全局最優(yōu)解揩抡,凸優(yōu)化問題的研究較為成熟户侥,當(dāng)一個(gè)具體被歸為一個(gè)凸優(yōu)化問題镀琉,基本可以確定該問題是可被求解的峦嗤。
4.2 梯度下降
得到對(duì)權(quán)重的梯度之后,可以用梯度下降進(jìn)行更新屋摔。也可以直接尋找梯度為0的點(diǎn)來解決此問題烁设,求解線性方程組,這就是經(jīng)典的最小二乘法钓试。
梯度下降算法的數(shù)學(xué)公式:
此公式的意義是:J是關(guān)于Θ的一個(gè)函數(shù)装黑,我們當(dāng)前所處的位置為Θ0點(diǎn),要從這個(gè)點(diǎn)走到J的最小值點(diǎn)弓熏,也就是山底恋谭。首先我們先確定前進(jìn)的方向,也就是梯度的反向挽鞠,然后走一段距離的步長(zhǎng)疚颊,也就是α,走完這個(gè)段步長(zhǎng)信认,就到達(dá)了Θ1這個(gè)點(diǎn)材义!
- α是什么含義?
α在梯度下降算法中被稱作為學(xué)習(xí)率或者步長(zhǎng)嫁赏,意味著我們可以通過α來控制每一步走的距離其掂,以保證不要步子跨的太大扯著蛋,哈哈潦蝇,其實(shí)就是不要走太快款熬,錯(cuò)過了最低點(diǎn)。同時(shí)也要保證不要走的太慢攘乒,導(dǎo)致太陽下山了华烟,還沒有走到山下。所以α的選擇在梯度下降法中往往是很重要的持灰!α不能太大也不能太小盔夜,太小的話,可能導(dǎo)致遲遲走不到最低點(diǎn),太大的話喂链,會(huì)導(dǎo)致錯(cuò)過最低點(diǎn)返十! - 為什么要梯度要乘以一個(gè)負(fù)號(hào)?
梯度前加一個(gè)負(fù)號(hào)椭微,就意味著朝著梯度相反的方向前進(jìn)洞坑!我們?cè)谇拔奶岬剑荻鹊姆较驅(qū)嶋H就是函數(shù)在此點(diǎn)上升最快的方向蝇率!而我們需要朝著下降最快的方向走迟杂,自然就是負(fù)的梯度的方向,所以此處需要加上負(fù)號(hào)本慕。
5. 過擬合與欠擬合
后續(xù)補(bǔ)充
6. 正則化
后續(xù)補(bǔ)充
: