1.0 模型之母
? ? ? ? 線性回歸模型雖然看起來非常簡單箱吕,但實(shí)際上,線性回歸模型可以說是最重要的數(shù)學(xué)模型之一申屹,很多模型都是建立在它的基礎(chǔ)之上焙贷,可以被稱為是“模型之母”。
? ? ? ? 之前介紹的kNN算法屬于分類(Classification)歹叮,即label為離散的類別型(categorical variable)跑杭,如:顏色類別、手機(jī)品牌咆耿、是否患病等德谅。而簡單線性回歸是屬于回歸(regression),即label為連續(xù)數(shù)值型(continuous numerical variable)萨螺,如:房價(jià)窄做、股票價(jià)格、降雨量等慰技。
? ? ? ? 所謂簡單線性回歸椭盏,是指以線性方程的形式來描述一個(gè)特征(自變量)和label(因變量)之間的關(guān)聯(lián)關(guān)系。線性方程吻商,簡單理解就是自變量的冪指數(shù)為1且只進(jìn)行相加運(yùn)算掏颊。簡單線性回歸的一般形式如下:。
? ? ? ? 對(duì)于每個(gè)樣本點(diǎn)艾帐,根據(jù)線性方程有乌叶。
? ? ? ? 那么若回歸方程預(yù)測(cè)效果越好,則預(yù)測(cè)值與真實(shí)值之間的差距應(yīng)當(dāng)越小柒爸⊥骰瑁考慮到正負(fù)抵消與可導(dǎo)性,可以使用距離的概念來度量二者的差距揍鸟⌒至眩考慮所有的m個(gè)樣本點(diǎn),則有阳藻,而模型預(yù)測(cè)的目標(biāo)就是求上式的最小值晰奖。
2.0 損失函數(shù)
? ? ? ? 損失函數(shù)(loss function),就是衡量模型的擬合結(jié)果與實(shí)際結(jié)果之間的差距部分腥泥,有時(shí)也被稱為效用函數(shù)(utility function)匾南。在確定完損失函數(shù)之后,通過最優(yōu)化損失函數(shù)蛔外,得到相應(yīng)的參數(shù)取值蛆楞,最終獲得機(jī)器學(xué)習(xí)模型溯乒。
? ? ? ? 簡單線性回歸的損失函數(shù)形式即為,而此時(shí)的目標(biāo)就是求時(shí)的和豹爹。
? ? ? ? 近乎所有參數(shù)學(xué)習(xí)算法都是這樣的套路裆悄,區(qū)別是模型不同,建立的目標(biāo)函數(shù)不同臂聋,優(yōu)化的方式也不同光稼。
3.0 最小二乘法
? ? ? ? 簡單線性回歸模型就是求損失函數(shù)的,這里求最小值就是最小二乘法的“最小”孩等,“二乘”的意思就是平方艾君。
? ? ? ? 使用最小二乘法的簡單線性回歸推導(dǎo)過程,設(shè)肄方,分別對(duì)a和b進(jìn)行求導(dǎo)冰垄,如下:
......(1)
......(2)
? ? ? ? 由(2)可推,权她,進(jìn)一步化簡有
......(3)
? ? ? ? 把(3)代入(1)虹茶,則可得:
......(4)
? ? ? 由于,代入(4)中并適當(dāng) 增添輔助項(xiàng)伴奥,得:
? ? ? ? 最終得簡單線性回歸的各項(xiàng)系數(shù)為:
4.0 (簡單)線性回歸的評(píng)價(jià)指標(biāo)
? ? ? ? 由前面可知線性回歸的損失函數(shù)形式為写烤,那么當(dāng)數(shù)據(jù)集的長度增加是翼闽,損失勢(shì)必然也是隨之增加的拾徙。為了消除數(shù)據(jù)量大小帶來的影響,就需要了解均方差等指標(biāo)的概念感局。
4.1 均方誤差MSE
? ? ? ? 均方差MSE(mean squared error)尼啡,通過對(duì)損失求均值來消除數(shù)據(jù)量的影響,询微。
? ? ? ? sklearn中的MSE:
from sklearn.metrics import mean_squared_error
mean_squared_error(y_test, y_predict)
4.2 均方根誤差RMSE
? ? ? ? 由于預(yù)測(cè)損失或誤差有時(shí)需要進(jìn)行解讀崖瞭,此時(shí)平方計(jì)算后的數(shù)值在單位上不具備可解釋性(如萬元變成萬元平方),因此需要急性開方撑毛,此時(shí)得到的值為均方根誤差(root mean square error)书聚,。
? ? ? ? sklearn中沒有RMSE的直接計(jì)算方法藻雌,可手動(dòng)對(duì)MSE開方雌续。
4.3 平均絕對(duì)誤差MAE
? ? ? ? 從距離的角度看,均方誤差計(jì)算的是預(yù)測(cè)值與真實(shí)值之間的歐式距離胯杭,當(dāng)然還可以使用曼哈頓距離來描述這一誤差驯杜,這就是平均絕對(duì)誤差(mean absolute error),做个。
? ? ? ? sklearn中的MAE:
from sklearn import mean_absolute_error
mean_absolute_error(y_test, y_predict)
4.4 R squared
? ? ? ? 對(duì)于分類模型鸽心,模型的各評(píng)價(jià)指標(biāo)是在0-1之間取值滚局,但RMSE和MAE沒有這樣的性質(zhì),因此RMSE和MAE就有這樣的局限性顽频。此外藤肢,當(dāng)預(yù)測(cè)標(biāo)簽的量綱不同時(shí),如身高和體重冲九,一個(gè)模型的RMSE值是4.9(公斤) 谤草,一個(gè)模型的RMSE是10(厘米)。此時(shí)無法判斷哪個(gè)模型預(yù)測(cè)得更準(zhǔn)確莺奸,因?yàn)槎叩牧烤V根本就不是一類東西丑孩。
? ? ? ? 以上的局限性,可以使用指標(biāo)R Squared解決灭贷,即温学。
? ? ? ? 分子其實(shí)就是模型預(yù)測(cè)的所有誤差或損失。分布是標(biāo)簽真實(shí)值的方差甚疟,也可以理解為用均值去估計(jì)所有預(yù)測(cè)值所產(chǎn)生的誤差仗岖,是一個(gè)基準(zhǔn)模型(baseline model)。使用baseline模型產(chǎn)生的錯(cuò)誤較多览妖,使用回歸模型的錯(cuò)誤較少轧拄。因此用1減去較少的錯(cuò)誤除以較多的錯(cuò)誤,實(shí)際上是衡量了回歸模型擬合住數(shù)據(jù)的地方讽膏,即沒有產(chǎn)生錯(cuò)誤的相應(yīng)指標(biāo)檩电。
? ? ? ? 因此;越大越好府树;當(dāng)時(shí)俐末,說明回歸模型等效于基準(zhǔn)模型;當(dāng)
時(shí)奄侠,說明回歸模型不如基準(zhǔn)模型卓箫,還有可能數(shù)據(jù)間沒有任何線性關(guān)系。
? ? ? ? sklearn中的R Squared:
from sklearn.metrics import r2_score
r2_score(y_test, y_predict)