機器學習 區域性加權線性回歸

2021-10-03 16:46:51 字數 1190 閱讀 2844

線性回歸的乙個問題時又可能出現欠擬合現象,為了解決這個問題,我們可以採用乙個方法是區域性加權線性回歸(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...