在統(tǒng)計(jì)學(xué)中,普通最小二乘法(Ordinary Least Squares,OLS)是一種用于在線性回歸模型中估計(jì)未知參數(shù)的線性最小二乘法。 OLS通過(guò)最小二乘法原則選擇一組解釋變量的線性函數(shù)的參數(shù):最小化給定數(shù)據(jù)集中觀察到的因變量(被預(yù)測(cè)變量的值)與預(yù)測(cè)變量之間殘差的平方和。
一元線性回歸求解過(guò)程
我們先以一元線性模型為例來(lái)說(shuō)明。
假設(shè)有一組數(shù)據(jù),我們希望求出對(duì)應(yīng)的一元線性模型來(lái)擬合這一組數(shù)據(jù):
既然要擬合,總要有一個(gè)擬合程度高低的判斷標(biāo)準(zhǔn),上文說(shuō)到,最小二乘法中使用的就是誤差平方和方法,所以,這時(shí)候損失函數(shù),或者說(shuō)我們的目標(biāo)函數(shù)就是:
有了這個(gè)目標(biāo)函數(shù),我們要做的就是求出和
使得
最小,在這里就是極小值。
求極值的一個(gè)很好的方法就是求導(dǎo),在這里因?yàn)橛卸鄠€(gè)參數(shù),所以,我們要分別對(duì)和
求偏導(dǎo):
因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=%5Cbar%7Bx%7D%3D%5Cfrac%7B%5Csum%5Climits_%7B1%7D%5E%7Bm%7D%7B%7B%7Bx%7D_%7Bi%7D%7D%7D%7D%7Bm%7D" alt="\bar{x}=\frac{\sum\limits_{1}^{m}{{{x}_{i}}}}{m}" mathimg="1">,, 所以,上面第二個(gè),也就是對(duì)
的偏導(dǎo)可以轉(zhuǎn)化為:
我們知道,目標(biāo)函數(shù)取得極值時(shí),偏導(dǎo)一定是等于0的,所以,我們令等于0,于是有:
接著,我們繼續(xù)回到上面第一個(gè)偏導(dǎo),也就是對(duì)的偏導(dǎo)
,令
,并將
代入,得:
根據(jù)求和性質(zhì)可得:
求和性質(zhì):
求和性質(zhì),具體可以參考Introductory Econometrics A Modern Approach (Fourth Edition) 一書(計(jì)量經(jīng)濟(jì)學(xué)導(dǎo)論,第4版,杰弗里·M·伍德里奇 著)的附錄A。
分子得證
分母得證
有了上述推導(dǎo)證明,普通最小二乘法一般形式可以寫成(字母蓋小帽表示估計(jì)值,具體參考應(yīng)用概率統(tǒng)計(jì)):
的普通最小二乘解為:
多元線性回歸求解過(guò)程
對(duì)于多元的情況,需要使用矩陣運(yùn)算來(lái)求解,先用矩陣表示:
其中,
目標(biāo)函數(shù):
如果要使上述目標(biāo)函數(shù)最小,顯然其結(jié)果為0,即:
也就是說(shuō):
最終獲得解:
可以看出,對(duì)于一般的最小二乘法多元求解,使用矩陣運(yùn)算即可,都不需要迭代 。
此處不做證明,具體可參考《應(yīng)用概率統(tǒng)計(jì)》 張國(guó)權(quán)著 第九章 回歸分析
最小二乘法 VS 梯度下降法
通過(guò)上面推導(dǎo)可知,最小二乘法可以矩陣運(yùn)算求解,這種方法十分方便快捷,但這種方法不是萬(wàn)能的,因?yàn)榫€性最小二乘的解是closed-form即 ,而非線性最小二乘沒(méi)有closed-form(即
沒(méi)有可逆矩陣),這時(shí)候矩陣運(yùn)算求解就行不通,這時(shí)候就可以通過(guò)迭代法(梯度下降法)求最優(yōu)解。
來(lái)具體說(shuō)說(shuō)這兩種方法的區(qū)別:
| 最小二乘法 | 梯度下降法 |
|---|---|
| 不需要設(shè)置學(xué)習(xí)率 | 需要設(shè)置學(xué)習(xí)率 |
| 一次運(yùn)算得出最優(yōu)解 | 需要多次迭代求解最優(yōu)解 |
| 矩陣求逆得復(fù)雜度時(shí) |
維度較大時(shí)也適用 |
| 只適用于線性模型 | 適用性高,各種模型都可以使用 |
迭代法,即在每一步update未知量逐漸逼近解,可以用于各種各樣的問(wèn)題(包括最小二乘),比如求的不是誤差的最小平方和而是最小立方和。
梯度下降是迭代法的一種,可以用于求解最小二乘問(wèn)題(線性和非線性都可以)。高斯-牛頓法是另一種經(jīng)常用于求解非線性最小二乘的迭代法(一定程度上可視為標(biāo)準(zhǔn)非線性最小二乘求解方法)。
還有一種叫做Levenberg-Marquardt的迭代法用于求解非線性最小二乘問(wèn)題,就結(jié)合了梯度下降和高斯-牛頓法。
所以如果把最小二乘看做是優(yōu)化問(wèn)題的話,那么梯度下降是求解方法的一種,是求解線性最小二乘的一種,高斯-牛頓法和Levenberg-Marquardt則能用于求解非線性最小二乘。
萊文貝格-馬夸特方法(Levenberg–Marquardt algorithm)能提供數(shù)非線性最小化(局部最?。┑臄?shù)值解。此算法能借由執(zhí)行時(shí)修改參數(shù)達(dá)到結(jié)合高斯-牛頓算法以及梯度下降法的優(yōu)點(diǎn),并對(duì)兩者之不足作改善(比如高斯-牛頓算法之反矩陣不存在或是初始值離局部極小值太遠(yuǎn))
然后Levenberg-Marquardt方法的好處就是在于可以調(diào)節(jié):
如果下降太快,使用較小的λ,使之更接近高斯牛頓法
如果下降太慢,使用較大的λ,使之更接近梯度下降法
