周志華機器學習課後習題解析【第二章】

作者 | 我是韓小琦

鏈接 | https://zhuanlan.zhihu.com/p/42435889

2.1 數據集包含 1000 個樣本,其中 500 個正例、 500 個反例,將其劃分爲包含 70% 樣本的訓練集和 30% 樣本的測試集用於留出法評估,估算有多少種劃分方式。

答:排列組合問題。

訓練/測試集的劃分要儘可能保存數據分佈一致

那麼訓練集中應該包括350個正例和350個反例,剩餘的作測試集,那麼劃分方式應該有 種。

2.2 數據集包含100個樣本,其中正反例各一半,假定學習算法所產生的模型是將新樣本預測爲訓練樣本數較多的類別(訓練樣本數相同時進行隨機猜測),試給出用10折交叉驗證法和留一法分別對錯誤率進行評估所得的結果。

答:

10折交叉驗證:交叉驗證中每個子集數據分佈要儘可能保持一致,那麼本題中10次訓練中每次正反例各佔45,模型訓練結果隨機猜測,錯誤率期望爲50%。

留一法:若留出樣本爲正例,訓練集中則有50個反例和49個正例,模型預測爲反例;反之留出樣本爲反例,模型預測爲正例,錯誤率爲100%。

2.3 若學習器A的F1值比學習器B高,試析A的BEP值是否也比B高。

答:

說一下自己理解吧

先看看F1值的定義,

 

其中:

 

即查準率(Precision ),【預測爲正例且真實爲正例的數量】/【預測爲正例的數量】,說白了關心預測爲正樣本時的準確率; 

即查全率(又稱召回率Recall),【預測爲正例且真實爲正例的數量】/【真實爲正例的數量】。F1值計算中對查準率和查全率都同等重視。

再看看BEP值

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

P-R曲線

討論:

從定義上看,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.4 試述真正例率(TPR)、假正例率(FPR)與查準率(P)、查全率(R)之間的聯繫。

混淆矩陣

查全率:

  。

【預測爲正例且真實爲正例的數量】/【真實爲正例的數量】

查準率:

 。

【預測爲正例且真實爲正例的數量】/【預測爲正例的數量】

真正例率(TPR):同查全率

假正例率(FPR): 

 。

即所有反例中被預測爲正例的比率。

2.5 試證明(2.22)AUC=1−lrank

答:

顯然,在ROC曲線中,一條橫線對應一個(或多個)負樣本  , 一條豎線對應一個(或多個)正樣本  , 而一條斜線則對應多個正負樣本  ,且  ,即樣本的預測值相同。如下圖所示:

其中  對應一個(或多個預測值相同的)正例,而  對應多個預測值相同的正負例  ,顯然陰影部分的寬爲:

 , 

 的縱座標爲:

而  縱座標爲:

  ,

於是陰影部分面積則爲 :

令  表示預測值唯一的負例集合,即原負例集合中以預測值  去重,那麼AUC值爲:

其中:

於是

於是

 

2.6 試述錯誤率和ROC曲線的聯繫

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

2.7 試證明任意一條ROC曲線都有一條代價曲線與之對應,反之亦然

答:

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

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

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

2.8 Min-max 規範化和z-score 規範化的優缺點。

答:

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

z-score 規範化優點在於。1、對異常值敏感低。缺點在於1、計算更負責。2、每次新樣本進來都需要重新計算規範化。

2.9 簡述  檢驗過程

2.10 試述Friedman 檢驗中使用式(2.34)和(2.35)的區別。

略。沒學過統計學。以後有機會再補。


推薦閱讀

(點擊標題可跳轉閱讀)

乾貨 | 公衆號歷史文章精選

我的深度學習入門路線

我的機器學習入門路線圖

重磅

AI有道年度技術文章電子版PDF來啦!

掃描下方二維碼,添加 AI有道小助手微信,可申請入羣,並獲得2020完整技術文章合集PDF(一定要備註:入羣 + 地點 + 學校/公司。例如:入羣+上海+復旦。 

長按掃碼,申請入羣

(添加人數較多,請耐心等待)

 

最新 AI 乾貨,我在看 

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