我們平時做機器學習的時候,總是會將資料集分成兩個互斥的子集。這兩個子集分別作為訓練集和測試集。而為什麼我們一定要這樣做呢?直接在訓練集上輸出錯誤率或精度不就好了嗎?我們總是留出一部分樣本作為測試集的原因是因為過擬合的不可避免。
過擬合:模型將訓練樣本的某些特點當做是所有潛在樣本都具有的一般性質,導致模型泛化能力下降。訓練樣本是不可避免的,因為機器學習面臨的問題總是np難的,如果我們認為過擬合可徹底避免,那麼就可以通過經驗誤差最小化求得最優解p=np。然而我們相信p != np,因此過擬合無法避免。名稱
方法優缺點
備註留出法
最經常使用的處理方法。隨機將資料集按比例分層取樣成訓練集和測試集,重複多次劃分並計算精度的均值作為結果
劃分方法很多,單次劃分作為結果的話不夠靠譜。一般都是隨機劃分多次
分層取樣,即保證資料子集中每個類別之間的比例和原來資料集是相同的
交叉驗證法
將資料集分層取樣成k個子集,進行k輪訓練,每輪將乙個子集作為測試集,其他k-1個子集作為訓練集。k輪結束後計算他們的均值做出精度輸出
於留出法相同,將資料集劃分成k個子集仍然有多種劃分方法。因此一般做多次交叉驗證。並把驗證結果取均值。
留一法交叉驗證當k=m時,即為留一法。也就是每次拿乙個樣本進行測試,拿m-1個樣本作為訓練。
留一法中每次訓練集只比真實資料集少乙個樣本,因此訓練得到的模型和最終希望得到的模型是最相近的。然而當資料量很大時,要訓練m個模型的時間開銷過大。
自助法從資料集中有放回的抽取m個樣本形成訓練資料集,那麼訓練資料集和完整的資料集中同樣都還有m個樣本,只是完整資料集中有36.8%的樣本沒有出現在訓練資料集中。
在資料集較小,難以有效劃分訓練/測試集的時候有用;同時能從初始資料集中產生多個不同的訓練集,對整合學習等方法有好處。然而會自助法產生的資料集改變了初始資料集的分布,可能會引入估計誤差。1m
,那麼m次抽取中都不被抽中的概率為
limm→∞
(1−1
/m)m
。根據洛必達法則可求得p=
1e≈0.368
度量標準
計算方法
錯誤率e(f
;d)=
1m∑m
i=1i
(f(x
i)≠y
i)均方誤差msee(
f;d)
=1m∑
mi=1
(f(x
i)−y
i)2
查準率,查全率
記tp(真正例),fn(假反例),fp(假正例),tn(真反例)。則查全率=tp
tp+f
n ,查準率=tp
tp+f
p 。根據**結果對樣本進行排序,排在前面的則是最有可能為正例的。逐一將前面的樣本認為是正例,可以得到多個p-r值,最終得到p-r曲線
平衡點bep,f1度量
bep為p=r時的值,f1=2∗
tpm+
tp−t
n
均方誤差msee(
f;d)
=1m∑
mi=1
(f(x
i)−y
i)2 fβ
度量fβ
=(1+
β2)∗
p∗r(
β2∗p
)+r ,當
β>
0 時度量查全率和查準率的相對重要性。
β>
1 時查全率有更大的印象,反之。
roc與auc
在p-r曲線中x軸是查全率,y軸是查準率。而在roc曲線中,則是用真正例率和假正例率分別作為y軸和x軸。真正例率tp
r=tp
tp+f
n ,假正例率fp
r=fp
tn+f
p 。而auc則是roc曲線下方包圍的區域面積。auc越大模型精度越高。
eerequal error rate,就是roc曲線中真正例率與假正例率相等時的值。與p-r曲線中的bep類似。
根據上述物理意義,我們可以知道查準率和查全率呈負相關關係,而tpr和fpr則呈正相關關係
2 資料集劃分與效能度量
三 調參與最終模型 四 效能度量 一 經驗誤差與過擬合 二 資料集劃分 1.留出法 留出法直接將資料集d劃分為兩個互斥的集合,其中乙個作為訓練集s,另乙個作為測試集t。常見做法為 1 5 1 3 樣本作為測試集 訓練 測試集的劃分要盡可能保持資料分布的一致性,避免因資料劃分而引入的額外偏差。因此,單...
西瓜書 第10章 降維與度量學習
knn在訓練集中通過某種距離度量找到靠近測試樣本的k個訓練樣本,再根據投票法或是平均法輸出 結果 knn是懶惰學習 還有懶惰決策樹 的著名代表,訓練時間為0,即不需要訓練。knn雖然簡單,但泛化錯誤率不超過貝葉斯最優分類器的錯誤率的兩倍。屬性越多,維度越高,很多情況下高維度帶來了維數災難,這將帶來資...
《西瓜書》筆記10 降維與度量學習 PCA(二)
principal component analysis,pca。最常用的降維方法。正交屬性空間中,如何用乙個超平面,對所有樣本進行恰當表達?基於這兩個性質,可推導出主成分分析的2種等價推導。假定資料樣本進行了中心化 每個值減去均值 從最近重構性出發,考慮整個訓練集中,原樣本點與基於投影重構的樣本點...