線性回歸是最基本的機器學(xué)習(xí)模型檐蚜,我們通過學(xué)習(xí)機器學(xué)習(xí)中本文假設(shè)你對線性回歸和矩陣論有一定的了解,我們探索兩種通過矩陣求解線性回歸的相關(guān)的參數(shù)的一個算法矛辕,并且探究兩種算法的區(qū)別笑跛。
通過求解逆矩陣求解線性回歸的參數(shù)
今天遇到的問題是付魔,就是在計算線性回歸的參數(shù)的時候,我們一般學(xué)過線性回歸的同學(xué)第一直覺能想到的公式就是:
倘若你沒有學(xué)過這個公式飞蹂,說明你學(xué)過的線性回歸沒有講通過矩陣計算線性回歸的方法几苍,建議去網(wǎng)上找一下相關(guān)的資料〕卵疲回到現(xiàn)在的問題妻坝,我們知道,逆矩陣的求解方法是伴隨矩陣除行列式惊窖,也就是
其中指的是
的伴隨矩陣刽宪,伴隨矩陣的求法就是通過求代數(shù)余子式來得到伴隨矩陣。
通過LU分解求解得到線性回歸的參數(shù)
我們首先回顧一下矩陣的基本知識界酒,我們知道矩陣是對線性方程的一種表示方式圣拄。例如我們一組線性方程
我們知道這可以得到一個系數(shù)矩陣:
如果我們有一組線性方程
那么我們就可以得到一個增廣矩陣也就是:
我們可以通過對這個增廣矩陣進行高斯消元法得到一個階梯矩陣,然后通過階梯矩陣求到的具體的值毁欣。
那么我們從上一節(jié)中的線性回歸的中的公式可以得到
所以系數(shù)矩陣為庇谆,同時等號的右邊是一個向量,于是我們就可以得到一個增廣矩陣
通過解這個增廣矩陣得到每一個xyz的值凭疮,我們就可以得到線性方程組的參數(shù)了饭耳。從而得到每一個線性回歸方程中的每一個參數(shù)的具體的量了。
通過LU分解求解得到線性回歸的參數(shù)
等著填坑
兩種算法的算法復(fù)雜度比較
對于第一種逆矩陣的求法执解,我們需要求代數(shù)余子式寞肖,每一個代數(shù)余子式需要求一次行列式,同時我們還需要求一次總的行列式衰腌,那么對于一個階的矩陣新蟆,那么就會有
個參數(shù),此時算法復(fù)雜度為:
而通過LU分解得到線性方程的方法也為相同的復(fù)雜度右蕊,也就是:
雖然兩個算法的階數(shù)相同栅葡,但是兩個算法的前面的系數(shù)并不相同,一般來說尤泽,LU分解是逆矩陣求法的1/3,因此我們?yōu)榱擞嬎愀涌焖俟媪常覀兤匠T诮膺@個方程的時候坯约,能用LU分解就用LU分解,而不要用逆矩陣去求解