線性回歸的乙個問題時又可能出現欠擬合現象,為了解決這個問題,我們可以採用乙個方法是區域性加權線性回歸(locally weighted linner regression),簡稱lwlr。該演算法的思想就是給帶**點附近的每乙個點賦予一定的權值,然後按照簡單線性回歸求解w的方法求解,與knn一樣,這種演算法每次**均需要實現選取出對應的資料子集。該演算法解出回歸係數w的形式如下:
其中w是乙個矩陣,用來給每個資料點賦予權重。
lwlr使用「核「來對附近的點賦予更高的權重。核的型別可以自由選擇,最常用的是高斯核,起對應如下:
這樣我們就構建乙個只含對角元素的權重矩陣w,並且點越近,w值越大。
接簡單線性回歸篇,,,簡單線性回歸見:機器學習-線性回歸
n = x.shape[0]
weight = np.mat(np.eye(n)
)#構建乙個同大小的單位w矩陣
yhat = np.zeros(n)
#初始化接收
for i in
range
(n):
#外迴圈計算每個點的**值
for j in
range
(n):
#內迴圈計算每個點的權重值
diffmat = x[i]
- x[j]
weight[j,j]
= np.exp(diffmat*diffmat.t/(-
2*3**
2))#(-2*k**2)k值可變
xtx = x.t*
(weight*x)
ws = np.linalg.pinv(xtx)
*(x.t*
(weight*y)
) yhat[i]
= x[i]
*ws;
yhat
視覺化結果:k==0.1,過擬合。
視覺化結果:k==3
視覺化結果:k==10
機器學習 區域性加權線性回歸
一 問題引入 我們現實生活中的很多資料不一定都能用線性模型描述。依然是房價問題,很明顯直線非但不能很好的擬合所有資料點,而且誤差非常大,但是一條類似二次函式的曲線卻能擬合地很好。為了解決非線性模型建立線性模型的問題,我們 乙個點的值時,選擇與這個點相近的點而不是所有的點做線性回歸。基於這個思想,便產...
區域性加權線性回歸
簡單來說,這個過程其實是在先擬合出一條曲線,然後再用這個曲線去 需要 的點。但是如果這個曲線擬合得不好 或者說樣本資料含有大量噪音 那麼這個 結果就會很差。區域性加權線性回歸 對於乙個資料集合 x0,y0 x1,y1 xm,ym 我們 它在x點時對應的y值時,如果採用的是傳統的 線性回歸模型,那麼 ...
區域性加權線性回歸
區域性加權線性回歸是機器學習裡的一種經典的方法,彌補了普通線性回歸模型欠擬合或者過擬合的問題。機器學習裡分為無監督學習和有監督學習,線性回歸裡是屬於有監督的學習。普通的線性回歸屬於引數學習演算法 parametric learning algorithm 而區域性加權線性回歸屬於非引數學習演算法 n...