什么是線性回歸
??相對于其他算法來說線性回歸的原理相對簡單楔敌,而且它的表現(xiàn)形式與我們數(shù)學中的線性方程較為相似,更加利于大家所理解。所以線性回歸一般會作為機器學習愛好者學習機器學習時要學的第一個算法篇梭。
??線性回歸直白的理解就是尋找?guī)讉€自變量()與因變量()之間的線性關(guān)系看蚜,之所以稱之為“線性”是因為自變量都是一次冪的形式?jīng)]有出現(xiàn)二次或更高形式的自變量蔼两。
??比如下面的例子:??上圖所示是身高與體重的關(guān)系(體重很可能與身高有關(guān)系甩鳄,自變量有一個:身高,因變量是體重)额划,很明顯身高與體重可能存在圖中直線所示的關(guān)系妙啃。像這種關(guān)系便可以應(yīng)線性回歸進行分析。
??再例如:一個人的可貸款金額可能與 他的住房面積和工資等因素有關(guān)系(房屋面積與工資這兩個因素共同決定了貸款金額俊戳,自變量有兩個房屋面積揖赴、工資,可貸款金額是因變量)抑胎,通過圖中的數(shù)據(jù)尋找工資燥滑、住房面積與可貸款金額之間的關(guān)系便可認為是一個線性回歸問題。
??線性回歸有一個特別需要注意的特點就是它研究的是連續(xù)的自變量與連續(xù)的因變量之間的關(guān)系阿逃,這個要與邏輯回歸相區(qū)別铭拧。就像上兩個例子中所示的住房面積和工資都是可以連續(xù)連續(xù)變化的,可能取到任何現(xiàn)實中合理的值恃锉,而相對應(yīng)的貸款金額也會連續(xù)的變化搀菩;身高、體重同樣也是連續(xù)的破托。邏輯回歸中的是非連續(xù)的肪跋,其只有兩個取值的可能。這也是一個問題選擇邏輯回歸還是線性回歸進行分析的重要的條件土砂。
線性回歸模型
??回歸分析可以相對簡單的理解成如下的形式:
??其中為自變量(因子)對于因變量的權(quán)重澎嚣。在線性代數(shù)中,其也可寫成如下的形式:
??有了上述的模型瘟芝,我們的目的是找到或求出權(quán)重的值,以便找到與之間的映射(函數(shù))關(guān)系褥琐。從圖1中我們可以看出锌俱,一般情況下自變量與因變量不太可能滿足一個嚴格的線性關(guān)系。比較理想的情況是數(shù)據(jù)點都比較均勻的分布在直線的兩側(cè)敌呈,也就是誤差比較小贸宏。我們的目標便是找到一組使模型與實際的誤差最小。
??線性回歸得出的結(jié)果與實際的結(jié)果應(yīng)該滿足如下的關(guān)系:
??上式中是實際值磕洪,是模型的輸出值也就是預(yù)測值吭练,是二者之間的誤差。
??在理想情況下析显,或者說我們想讓誤差最好最好滿足獨立同分布的鲫咽,也就是說每一條數(shù)據(jù)的誤差相互之間沒有影響而且他們都滿足相同的分布。通常情況下,誤差應(yīng)該滿足高斯分布(正態(tài)分布)如圖3分尸,即誤差大的數(shù)據(jù)很少锦聊,誤差都集中在某一個值的附近。那么理想情況下我們希望誤差都集中在0的附近箩绍,而且數(shù)據(jù)點在模型產(chǎn)生的線兩側(cè)均勻的分布孔庭。那么就是希望誤差滿足均值為0,標準差為1的標準正態(tài)分布材蛛。
??則誤差
即:
??上式可以理解為一個關(guān)于“
??則極大似然函數(shù)為:
??轉(zhuǎn)化為對數(shù)似然函數(shù):
??其中
??上式中的
矩陣化簡求解
??可以用矩陣的方式表達如下:
??對上式取的偏導(dǎo):
??在我之前的文章《機器學習——常見的矩陣求導(dǎo)公式》中對矩陣的導(dǎo)數(shù)進行了總結(jié)件已,根據(jù)文章中的公式7(可看作列向量笋额,那么是一個常數(shù))可得:
??則上式可得:
??因為所以上式可得:
??令解得:
??上面利用矩陣運算解得最佳的,接下來將用梯度下降方法求解最佳篷扩,并對結(jié)果進行分析兄猩。