林軒田 15 驗證的方法

2021-09-18 02:22:04 字數 1585 閱讀 5918

演演算法選方面選擇:pla, pocket, linear regression, logistic regression

iteration的次數:100,1000

每步大小: 1,0.01

特徵transform: linear線性的、quadratic二次的,poly-10 10次多項式,legendre-poly-10 10次垂直多項式。

regulation選什麼: l2 regularizeer l2範數,l1範數,對稱範數。。。

規範化的權重λ 0,0.01,1

如果用訓練樣本做驗證,其實是被汙染了的資料,因為你在訓練模型的時候已經使用了這些資料

如果使用測試樣本做驗證,那就不好了,因為這些測試樣本給你的話,以後判定的指標就不准了呀。

所以可以在訓練之前拿出一部分樣本做測試。這些樣本不參與訓練;

所以我們現在把資料分成了兩部分,k的那部分用來做驗證,也就是計算eval,n-k那部分用來訓練模型。而在我們選擇模型的時候,就不需要計算ein了,而是計算eval,以此來估計當前模型的eout。

我們的finite hoffding不等式來計算eout

選出合適的gm之後還要用所有的資料重新來一次訓練。

有當test_data很小,train_data接近d時,才差不多。

一般情況下,我們的test_data選取總資料的20%.即n/5 .

留乙個作為test_data,其餘都作為train_data.迴圈n次,再把n個error取平均.

cross validation: 交叉驗證指的是同一筆資料有時候當驗證有時候當訓練樣本,最後取平均。

該方法理論上很好,但是實際上,並不常用.一般再資料量很小的時候用.

缺點有:

1.可能計算量很大

2.穩定性不是很好,因為每次僅僅留乙個點作為test_data

一般k取10. 也有取5的.k越大,越精確.但是運算量大.

交叉驗證其實對結果還是有一些樂觀成分.

只要計算量允許,就用10折交叉驗證,10折效果一般比5摺好.

cross validation 比single validation(普通驗證法) 好,只要計算量允許,一定要用cross validation

[驗證法:如何選擇模型,引數等 - 丁磊_ml的部落格 - 部落格頻道 - csdn.net]

(

林軒田 15 驗證法

驗證資料的選擇 validation set dval 留1法做交叉驗證 k fold 交叉驗證 其他資料 演演算法選方面選擇 pla,pocket,linear regression,logistic regression iteration的次數 100,1000 每步大小 1,0.01 特徵t...

機器學習技法 林軒田 課程總結

how can machines learn by embedding numerous features 1.線性svm,推導非條件目標,qp求解 2.對偶svm,非線性問題消除z域d 1依賴 3.kernel trick僅在x域計算 4.soft margin,n 5.klr,two level...

林軒田 12 非線性變換

toc 對於非線性的資料分類,如果我們使用線性模型,就會使得ein很大,分得不好。現在我們考慮如何用二次方程 圓的方式 來進行separate 我們可以使用半徑平方為0.6的圓可以將它分開 這裡我們進行非線性的變換,實現座標系的變換。從x空間變到z空間。在x系裡面圓圈可分的情況在z系裡面變得線性可分...