西瓜書第二章總結

1、欠擬合比較好解決,過擬合則很麻煩,而且必須認識到過擬合是無法避免的,我們所做的只能是“緩解”。

2、模型評估

2.1、留出法(hold out): 

留出法將數據集D劃分爲兩個互斥的集合,其中一個座位訓練集S,另一個作爲測試集T。 即 S + T= D,S交集T爲空。在S上訓練出模型後,用T來評估測試誤差,作爲對泛化誤差的估計。

注意1,訓練/測試集的劃分要儘可能的保持數據分佈的一致性。例如在分類問題中至少要保持樣本的類別比例相似。從採樣的角度來看數據劃分的過程,通常採用“分層採樣”來保證樣本類別比例穩定。

注意2,在給定訓練/測試集的樣本比例後,仍存在很多對數據集D進行劃分的方式(本質是得出不同的訓練/測試集)。不同的訓練/測試集得的模型及模型評估結果也會存在差別。因此,單次使用留出法得到的估計結果往往不夠穩定可靠,在使用留出法時一般要採用若干次隨機劃分,例如100次。100次後的到100個結果,留出法返回的是這100次結果的平均。

注意3,訓練數據集和測試數據集的平衡問題。我們希望評估是用數據集D訓練出來的模型,但留出法需要劃分訓練/測試集,這就會導致一個兩難的問題:令訓練集S包函絕大多數樣本,則訓練出的模型更接近於用D訓練出的模型,但用於T比較小,評估出的結果就不夠穩定準確。反之,……。這個問題沒有完美的解決方案,常見的做法是將大約2/3---4/5的數據用於訓練,剩餘的樣本用於測試。

2.2、k折交叉驗證法(cross validation)

“交叉驗證法”先將數據集D劃分爲k個大小相似的互斥子集,即 "公式:所有子集的並集爲D,不同子集的交集爲空"。每個子集都Di都儘可能的保持數據分佈的一致性,即從D中通過分層採樣得到。然後,每次用k-1個子集進行驗證,1個子集進行驗證,最終返回的是k個測試結果的均值。

注意1:每個子集Di要儘可能的保持數據分佈的一致性。同留出法的“注意1”

注意2: 將數據集D劃分爲k個子集同樣存在多種劃分方法。同留出法的“注意2”一樣,多種劃分方法未減小因樣本劃分不同引入的差別,k折交叉驗證需要重複p次,最終的評估結果是p次k折交叉驗證結果的均值。例如:“10次10折交叉驗證”

注意3:假定數據集D中包函m個樣本,令k = m,則得到了交叉驗證法的特例:留一法(Leave One Out,簡稱LOO),留一法不受隨機樣本劃分方式的影響,因爲m個樣本只有唯一的方式劃分爲m個子集。但樣本是1百萬就需要訓練1百萬次,是無法忍受的。

注意4:k折交叉驗證的穩定性和保真性很大程度上取決於k的取值。

2.3、自助法(有放回採樣)

採用自主採樣法從數據集D中有放回踩樣m次,數據集D‘。

注意1,這樣採樣m次後一個樣本不被採樣到的概率爲0.368,於是可以將D’作爲訓練集,D - D‘作爲測試集。

注意2,自助法在數據集較小,難以有效劃分訓練/測試集是很有用。

注意3,自助法能從初始數據集中產生多個不同的訓練集,這對集成學習等等方法有很大的好處。

總之:

注意1,留出法和k折交叉驗證法更常用。多數使用k折交叉驗證法。

注意2,在選定模型後使用S+T對模型再訓練一次得到最終要使用的模型。

 

3、性能度量

3.1、錯誤率和精度

例如,對100個樣本進行預測,錯誤了5個,則精度是0.95,錯誤率是0.05

但是,對於某些情況,例如癌症預測。對於100個樣本,其真實情況是95個未患癌症,5個患癌症。預測時:95中93個預測爲未患癌症,5箇中3預測爲癌症。

這樣錯誤率是0.05,準確率是0.95。寫一句代碼,所有的都預測爲患癌症其準確率也是0.95,錯誤率也是0.05。這時這個指標就起不到作用了。

3.2、查準率,查全率與F1

注意1,混淆矩陣

P = TP /(TP + FP) P = 3/5 上邊的例子:0/95

R = TP /(TP + FN)R = 3/5 上邊的例子:0/5

F1 = 2*P*R /(P+R)

注意2,P和R是不可兼得的,只有在非常簡單的任務中,才能使查準率和查全率都很高。

注意3,根據學習器的預測結果對樣例進行排序,排在前邊的是學習器認爲最可能是“正樣例”的樣本,排在後邊的是學習器認爲“最不可能”是“正樣例”的樣本。按照這個順序逐個把樣本預測爲正樣例,依次得到(P,R)對。以查準率爲縱軸,查全率爲橫軸。就得到查準率-查全率曲線,簡稱“P-R曲線”

截圖

注意:圖中A,B,C三條曲線,如果是一條曲線將另一條曲線完全覆蓋例如:A和C,則說明A完全優於C。如果兩條曲線相交則無法評判誰優於誰例如:A和B。同時曲線下的面積又不好求,所以就有了“平衡點”

注意4,“平衡點”(Break-Even Point,簡稱BEP),他是查準率等於查全率的點。但更常用的是F1。

注意5,“宏查準率”、“宏查全率”;“微查全率”、“微查準率”

注意6,

3.3、ROC與AUC

注意1:ROC的全稱是Receiver Operating Characteristic,源於二戰中敵機檢測的雷達信號分析技術。

注意2:AUC即 Area Under ROC Curve,即ROC曲線下的面積。

注意3:真正例率TPR,假正例率FPR的定義分別是:

TPR= TP /(TP+FN) 代表預測的樣例中正樣例被預測對的比例

FPR= FP /(TN+FP) 代表預測的樣例中負樣例被預測錯的比例

注意4:以TPR爲縱軸,FPR爲橫軸畫出ROC曲線。

同3.2的“注意3”一樣,只是不是採用(P,R)對來繪圖而是使用(TPR,FPR)對兒來繪圖。

3.4、代價敏感錯誤率與代價曲線

暫略。

3.5、查準率,查全率,真正例率,假正例率的概念如果不理解,公式還是很容易搞混的,對這四個概念的理解各寫一句話。

以一車西瓜爲例,車上有950個好瓜,50個壞瓜。現在給你以下任務:

讓你挑出來10個好瓜,你挑出的10個西瓜中有9個好的1個壞的。這時 查準率就是90%。

我把這950個好瓜拿出來,讓你把好西瓜來挑出來,你挑出了900個西瓜。這時的查全率是900/950

真正例率 等價於 查全率。

我把50個壞瓜拿出來,讓你把好瓜挑出來,你挑選了5個西瓜。這時的假正例率是5/50

4、

5、算法類似於“類”的概念,模型類似於“實例”的概念。

 

 

思考題:

1、留出法、交叉驗證法、自助法的區別?

2、寫出混淆矩陣,寫出P和R的計算公式。

3、錯誤率與ROC曲線的聯繫(西瓜書課後題,沒想明白有啥聯繫!)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章