多項式迴歸的matlab實現
一次函式的線性迴歸
首先我們回顧一下當迴歸函式為一次函式的情況
存在訓練樣本矩陣 X ,該矩陣大小為m*n ,其中m為樣本數量,n為特徵數量
此時迴歸方程為
其中為係數向量
此時代價函式為
當代價函式取得最小值時,為最優解
對進行求導得到
批量梯度下降法
其中為步長係數,為步長,不斷迭代上式,當步長變化小於某個值時,認為得到代價函式的區域性最小值。
數學上,梯度方向是函式值下降最為劇烈的方向。那麼,沿著 J(θ) 的梯度方向走,我們就能接近其最小值,或者極小值,從而接近更高的預測精度。
多項式的線性迴歸
此時迴歸方程為
代價函式
此時我們可以通過遍歷矩陣來計算該代價函式的導數,但是會感覺到程式設計複雜
那麼可以像一次函式一樣去用矩陣表示代價函式嗎?
是可以的,我們只需要將視作一個整體就可以了
在一次迴歸中,樣本矩陣 X為 [1,X] 其中 1 表示該列都為1
在多項式迴歸中,我們可以將 X 擴充套件為 [1,X,X^2,X^3,...,X^n]
此時我們回到了一次迴歸的矩陣運算中
具體程式可參考