1.KNN Regression的過程?

第一步:找出和x最相近的K個點

第二歩:

\tilde{y}

就是這K個點y的均值

2.KNN Regression的缺點是什麼?

第一個缺點是對於樣本少的區域容易overfitting。在邊界處有很大的bias。

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

第二個缺點是曲線彎彎曲曲,不太連續。

這一點帶來的問題就是比如預測房價,80平米和81平米的預測值可能會因為不連續導致差異較大,這樣讓人感覺預測效果並不可信。搜房什麼的肯定不會用這種方法,因為不好對客戶解釋。

這些問題也導致KNN Regression在實際應用中並不多見。

3.K-NN相比1-NN有什麼提升?

對noise相對不敏感了。K的選擇也是bias-variance tradeoff,K越大,bias越大,variance越小。

4.什麼是Weighted KNN?

Weighted的想法就是給越相近的neighbor越大的權重。

5.如何定義weight?

最簡單的方法就是1/distance。

比較好的方法是用kernel weights。

6.什麼是kernel weights?

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

不同的kernel,weight的衰減不同。

每種kernel都

\lambda

引數,叫做bandwidth。

7.什麼是Kernel Regression?

Weighted KNN是隻對K個點進行Weighted。

而Kernel Regression是對所有的點進行Weighted。

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

下邊是用epanechnikov核的例子,綠色的曲線是擬合出來的,藍色的是真實的曲線,可以看到比KNN要平滑了很多。

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

9.如何選擇kernel?如何選擇kernel的bandwidth(#FormatImgID_11#)?

一般來說,選擇

\lambda

比選擇kennel更重要。

\lambda

的選擇也可以看做是bias-variance tradeoff。

\lambda

小,bias小,但variance大,

\lambda

大,bias大但variance小。

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

而kernel的選擇對最終結果相對影響小一些。比如我們把epanechnikov kernel換到boxcar kernel。

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

可以看到雖然不平滑,但是和epanechnikov kernel的結果很相似。

\lambda

是超引數,同樣用validation set/cross validation的方法來選擇。

10.什麼是nonparametric regression?

Commonly, a nonparametric model is defined as a model that cannot be described by a fixed number of parameters, because the actual number of parameters will be determined by the data。 In a nonparametric model, by getting more data, you can construct a more sophisticated model, so the number of parameters will tend to grow。 In the limit of “infinite” data, you get “infinite” parameters。雖然parametric model/nonparametric model

表面上說的是引數,但實際上是指模型複雜度,模型複雜度固定的模型為parametric model,不固定的為nonparametric model。

KNN regression和kernel regression都是nonparametric regression。

nonparametric的goal有三個:

a。flexibility

b。make few assumptions about f(x)

c。complexity can grow with the number of observations N(當樣本數趨於無限多時,MSE趨於0)

之所以c很重要,是因為parametric model並不能隨著樣本數增多到無窮,true error趨於0。因為無論樣本數有多少,一定會有一點bias在裡邊。

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

也就是說,對於complexity fixed model, 即便沒有noise,也無法收斂到true error=0,因為模型有內在的bias。

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

所以非參方法的優勢在於,隨著樣本的增多,可以動態增加模型的複雜度。

其它是nonparametric的有trees(決策樹),locally weighted structured regression model,神經網路,support vector machine

11.上面的10討論的是1-NN noiseless的情況,那麼當有noise時,隨著樣本增多,最後non-parametric model的true error會收斂到0嘛?

只要我們允許KNN的K隨著樣本量增長也增長,那true error就收斂到0。而parametric model依然會有bias。

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

12.parametric和non parametric的優點和缺點是?

parametric在model selection時融入了一些人的先驗知識,當樣本較少時更有優勢。

而non-parametric則沒有,但是依靠無窮多的樣本,可以自己調整模型的複雜度,當樣本較多時比較有優勢。當資料量沒有那麼多,或者資料的維度較高時,non-parametric表現則不好。

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

另外一個KNN的問題是它的predict效率很低。所以線上預測不太適用。

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

《Machine Learning:Regression》課程第6章KNN-Regression & Kernel Regression & non-parametric問題集

13.KNN可以用於regression,它可以用於classification嘛?

可以。在classification的課裡會講。基本的想法就是regression裡我們把K個NN做average,而在classification裡,我們把K個NN做majority。比如郵件分類就可以用KNN。

14.KNN涉及到距離的計算,是不是要先進行feature normalization?

是的。

15.KNN演算法中涉及求top-k問題,這是一個傳統演算法問題,如何快速高效求解?

待填坑。

16.為什麼svm是non-parametric model?

應該是因為它對於資料分佈並沒有假設。

17.統計學和ML的區別在哪裡?

Breiman,Random Forrest的發明人,寫了一篇paper來闡述statistic和ML兩種文化。

是不是說真正機器學習血統的演算法只有svm,random forrest,boosting,neural network?