注意:這裏將的核函數和講希爾伯特空間提到的核函數不是一回事,這裏的核函數僅僅作爲一種局部化的表示工具。而另一種核函數是在高維空間內計算內積,解決非線性問題的。
基本思想是使用靠近目標點
我們通常使用權重函數或者核數
注:核函數
這種方法還可以稱爲
一維空間
圖中:k近鄰方法,
左圖直接使用平均數預測
Nadaraya−Watson kernel−weighted average
f(x0)=∑Ni=1Kλ(x0,xi)yi∑Ni=1Kλ(x0,xi)Kλ(x0,x)=D(|x−x0|λ)
D(t)=⎧⎩⎨34(1−t2), |t|≤10, other
通過上面的方法就能得到右圖。
直觀的理解就是:假設我們將
爲了使上述核函數更有一般性,我們可以使用
Kλ(x0,x)=D(|x−x0|hλ(x0))
hλ(x0) 在KNN裏面就是x0 近鄰個數k - 上面的例子裏
hλ 就是λ
局部線性迴歸
通過使用核權重的方法,我們可以獲得光滑的曲線
。但是,核函數不具有對稱性,因此,當
位置的時候,預測會出現問題。如圖顯示的紅色點。
我們可以使用局部線性迴歸:
注:
我們可以換一種形式來寫預測函數:
f^(x0)=α^x0+β^x0x0 ,也就是說α^(x0)和β^(x0) 是預測函數的係數,它們不是x0 的函數。
我們可以顯示地給出預測函數:
b(x)T=(1,x) B∈RN×N,Bi=b(xi)T W∈RN×N,Wi=Kλ(x0,xi) 注:這式子怎麼推導我沒想出來,但是和線性迴歸裏的函數挺像的:
y^=Xβ^=X(XTX)−1XTy b(x0) → X BT → BTW(x0)
通過這個式子,我們可以發現預測函數是關於
模型bias分析
Ef^(x0)=∑i=1Nli(x0)f(xi)=f(x0)∑i=1Nli(x0)+f′(x0)∑i=1N(xi−x0)li(x0)+f′′(x0)2∑i=1N(xi−x0)2li(x0)+R
又因爲
b(x0)T=b(x0)T(BTW(x0)B)−1BTW(x0)B(1,x0)=b(x0)T(BTW(x0)B)−1BTW(x0)[1,x0]
所以
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪1x0=b(x0)T(BTW(x0)B)−1BTW(x0)1=∑i=1Nli(x0)=b(x0)T(BTW(x0)B)−1BTW(x0)x0=∑i=1Nli(x0)xi
所以
∑i=1Nli(x0)=1∑i=1N(xi−x0)li(x0)=0
所以
bias=Ef^(x0)−f^(x0)=f′′(x0)2∑i=1N(xi−x0)2li(x0)+R
所以我們可以看到bias 依賴於二階及以上導數。
局部多項式迴歸
多項式迴歸的表達形式如下:
部分證明參考: 習題答案