【機器學習】《機器學習》周志華西瓜書習題參考答案:第2章 - 模型評估與選擇

專欄【機器學習】

【機器學習】《機器學習》周志華西瓜書 筆記/習題答案 總目錄

——————————————————————————————————————————————————————

習題

在這裏插入圖片描述

按照題意,訓練集包含700個樣本,測試集包含300個樣本。並且爲了保證訓練集和測試集的類別比例一致,使用分層採樣,訓練集包含正例反例各350個;測試集包含正例反例個150個。

有多少種劃分方式是一個排列組合問題,等於從500個正例中挑選出350個的所有可能組合乘上從500個正例中挑選出350個的所有可能組合。

根據簡單的數學排列組合性質(500350)×(500350)=(500150)×(500150)\binom{500}{350} \times \binom{500}{350} = \binom{500}{150} \times \binom{500}{150}

所以可能取法應該是n=C500350×C500350n=C_{500}^{350} \times C_{500}^{350}或者n=C500150×C500150n=C_{500}^{150} \times C_{500}^{150}

在這裏插入圖片描述

  1. 10折交叉驗證法:通過分層採樣獲得10個互斥子集,每個子集包含10個樣本,正反例各5個。每次取其中9個子集做訓練,1個子集做測試。因爲在訓練集中兩個類別數目相當(都爲 95=459*5=45 個),所以只能進行隨機猜測,錯誤率爲50%。

  2. 留一法:每次取一個樣本做測試,若取出的樣本爲正例,那麼剩下的訓練集中有50個反例,49個正例,因此預測結果爲反例,反之亦然。故錯誤率爲100%。(題中說了假定學習算法所產生的模型是將新樣本預測爲訓練樣本數較多的類別)

在這裏插入圖片描述

先看看F1值的定義,
在這裏插入圖片描述
F1=(2PR)/(P+R)F1 = (2 * P * R) / (P + R) ,其中 P=TP/(TP+FP)P = TP / (TP + FP) 即查準率(Precision),【預測爲正例且真實爲正例的數量】/【預測爲正例的數量】,說白了關心預測爲正樣本時的準確率;R=TP/(TP+FN)R = TP / (TP + FN) 即查全率(又稱召回率Recall),【預測爲正例且真實爲正例的數量】/【真實爲正例的數量】。

F1值計算中對查準率和查全率都同等重視。

再看看BEP值

首先目前很多分類算法輸出的都是0-1之間的一個概率值,比如邏輯迴歸、XGBoost等,分類時的做法是預定一個閾值(典型爲0.5),若對樣本的輸出大於此閾值則歸爲1類(即正例),那麼根據樣本的輸出值從大到小排序(下文簡稱爲“樣本的排序”),排在最前面的即可理解爲最有可能爲正例的樣本,而排在最後的是最不可能爲正例的樣本。從前往後,逐個將樣本預測爲正例(即把當前樣本的輸出值定於爲閾值,小於閾值的都爲反例),每次計算當前的查準率和查全率,即可得到查全率爲橫座標查準率爲縱座標上的一個點,在將所有點按順利連接後即可得到“P-R曲線”,而BEP(即Break-Event Point,平衡點)是在查全率=查準率時的取值。

在這裏插入圖片描述
討論:

從定義上看,F1值是在閾值固定時,將所有樣本分類完成後,綜合查全率和查準率得出的值;而BEP值則是尋求一個閾值使得查全率和查準率相同的情況下得到的(此時BEP = 查全率 = 查準率)。

也就是說BEP值和“樣本的排序”緊密相關的,而和樣本的預測值大小無關,同樣的排序,即使將所有預測值同時乘以 0.5 ,其BEP值也是相同的;但是對於F1值,所有樣本都將預測爲負例(假定閾值爲0.5時),此時F1值爲0。

回到題目本身,“若學習器A的F1值比學習器B高,則A的BEP值比B高”,那麼若能找到兩個學習器BEP值相同,而F1值不同,則題目命題就不成立了。那從上面的討論中已經有了答案了,想象一下學習器A對樣本輸出值均爲學習器B的兩倍,兩者BEP值是相同的,A的輸出在(0,1)之間,而B的輸出在(0,0.5)之間,此時B的 F1 值爲0,A的 F1 值是在0-1之間。所以原命題不成立。

ps.個人從直覺上BEP值和F1值是沒有明確關係的,在討論過程中拿“輸出值乘以0.5”爲例,事實上,想象一下,一串固定排序的點(模型的輸出概率值),只在0-1之間同時前進或者後退(每個點前進步長可以不一樣,但是排序不變),其BEP值也不會發生變化,而F1值是不斷變化的。

在這裏插入圖片描述
在這裏插入圖片描述

  • 真正例率是真實正例中預測爲正例的比例;

  • 假正例率是真實反例中預測爲正例的比率;

  • 查準率是預測正例中真實正例的比例;

  • 查全率是真實正例中預測爲正例的比例;

其中,真正例指模型預測爲正例並且預測正確的樣例,假正例指模型預測爲正例並且預測錯誤的樣例。前綴真實表明在數據集中的真實標記,前綴預測表明模型預測出的標記。

特別地,查全率與真正例率是相等的。

#### 2.5

問:試證明 AUC=1rankAUC=1-\ell_{rank}

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
南瓜書——https://datawhalechina.github.io/pumpkin-book/#/

在這裏插入圖片描述

錯誤率是在閾值固定的情況下得出的,ROC曲線是在閾值隨着樣本預測值變化的情況下得出的。ROC曲線上的每一個點,都對應着一個錯誤率。

在這裏插入圖片描述

首先“任意一條ROC曲線都有一條代價曲線與之對應”,顯然ROC曲線上每個點(FPR,TPR)都對應着下圖中一條線段,取所有線段的下屆,即可得到唯一的代價曲線。

在這裏插入圖片描述

反之,代價曲線實際上是一個多邊形(在有限樣本下),易理解,每條邊都對應代價平面上一條線段,實際上從左向右遍歷每一條邊,即可得到ROC曲線上從左到右每一個點。

ps. ROC曲線對應着唯一條代價曲線,但是一條代價曲線可對應着多條不同的ROC曲線,如上圖中,在綠、黃、藍三條線段交於紅點時,此時去掉黃色線段代價曲線是不會發生變化的,但是ROC曲線則會少一個點。

在這裏插入圖片描述

MinMaxMin-Max 規範化

  • 優點在於:1、計算相對簡單一點。2、當新樣本進來時,只有在新樣本大於原最大值或者小於原最小值時,才需要重新計算規範化之後的值。
  • 缺點在於:1、容易受高槓杆點和離羣點影響。

zscorez-score 規範化

  • 優點在於:1、對離羣點敏感度相對低一些。
  • 缺點在於:1、計算量相對大一些。2、每次新樣本進來都需要重新計算規範化。

在這裏插入圖片描述

問:試述卡方檢驗過程。

根據概率論與數理統計中的內容(交大版本,P239)。卡方檢驗適用於方差的檢驗。步驟如下:

1)分均值已知與均值未知兩種情況,求得卡方檢驗統計量;

2)根據備選假設以及α,求得所選假設對應的拒絕域(臨界值區間);

3)根據1)中求得的卡方統計量與2)中求得的拒絕域,判斷假設成立與否;

或者可直接參考:卡方檢驗 - 百度百科
在這裏插入圖片描述

問:試述原始Friedman檢驗和F檢驗的區別。

暫時沒有思路,以後有機會再補。

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