【轉(zhuǎn)】機器學(xué)習(xí)模型評價2

與轉(zhuǎn)1搭配理解
當(dāng)數(shù)據(jù)好了之后,你所需的只是調(diào)下開源包硫眯,然后一個模型就出來了蕴侧,但是,好與不好两入?誰來界定净宵?
這篇文章,主要針對模型的評估裹纳,系統(tǒng)介紹下各種不同的模型的各種評測標(biāo)準(zhǔn)择葡,主要參考Alice Zhang的這篇文章http://www.oreilly.com/data/free/evaluating-machine-learning-models.csp

1-基礎(chǔ)理解


NewImage

Figure1-1是一個比較合理的產(chǎn)生機器學(xué)習(xí)模型的workflow剃氧,首先敏储,我們拿到Historical data 然后應(yīng)用到我們選擇的model,然后對數(shù)據(jù)進行離線評測朋鞍,離線評測一般我們會從Historical data中已添,通過一些策略選擇出一些數(shù)據(jù)作為Validation,用來離線評測我們的模型滥酥,進行model selection和model params selection更舞;也會引入一些live data來離線評價模型,待選擇出合理的model和對應(yīng)的params后坎吻,會對線上數(shù)據(jù)來一些相關(guān)的線上測試缆蝉,例如本人所在公司會按流量對新舊model來進行A/B testing,利用最終的kpi指標(biāo)來作為model的評判標(biāo)準(zhǔn)
2-模型評估標(biāo)準(zhǔn)
ML中,有多重不同考量的model刊头,不同的目標(biāo)有不同的評估標(biāo)準(zhǔn)黍瞧,本節(jié)主要介紹Classification Metrics、Regression Metrics原杂、Ranking Metrics
2.1-Classification Metrics
Accuracy
分類Accuracy就是指在分類方法中印颤,被正確分類的樣本數(shù)據(jù)占所有樣本數(shù)量的比例。


NewImage

Confusion Matrix
Accuracy的計算十分簡便污尉,但是類別之間是等價的膀哲,很多時候,由于判斷為某類的代價不一致被碗,我們不能簡單地利用Accuracy來說明某個分類器的好壞某宪。比如一個醫(yī)生將患病病人評價為沒有患病的情況比將未患病用戶判定為患病用戶的代價要大得多,后者可以通過其他檢測來繼續(xù)驗證锐朴,而前者則很難兴喂;另外當(dāng)本身訓(xùn)練數(shù)據(jù)中各樣本數(shù)量分布極度不均衡的時候,比如#0/#1=9:1焚志,即使是一個分類器將所有樣本全部判斷為0時衣迷,這個分類的accuracy也達到了90%,很顯然這里是有問題的酱酬。

假定某樣本有100個正樣本與200個負樣本壶谒,confusion table如下:


NewImage

從這張圖表中,我們可以很明顯的看出在正分類中膳沽,我們的分類器有較低的準(zhǔn)確率:(80/(20+80)=80%)汗菜,負分類中準(zhǔn)確率為(195/(195+5)=97.5%),如果僅僅考慮全局的accuracy挑社,(80+195)/(100+200)=91.7%陨界,丟失了很多信息。
Per-Class Accuracy
在上面例子中痛阻,對每類的accuracy做一個平均:(80%+97.5%)/2=88.75%菌瘪,和之前的準(zhǔn)確率相差較大,尤其是在分布極度不均的正負樣本數(shù)量時阱当,9+1-判斷為10+,accuracy為90%俏扩,(100%+0)/2=50%
Log-Loss
在Logisitic Regression分類器中,最終的分類是指定閾值弊添,然后對predict的值來進行判斷進行分類动猬,假定指定閾值0.5,model計算得到屬于class 1的概率為0.51表箭,這里有一個錯誤,但是這里有余概率與分類閾值相差很少,Log-Loss就是一個將此類因素考慮的標(biāo)準(zhǔn):
NewImage

pi是屬于ith class的概率免钻,yi是第ith的真實label彼水,如果數(shù)據(jù)功底較強的人可能一眼就可以看出,這里其實就是y和p分布的Cross-Entropy极舔,即真實label與預(yù)測的y的分布之間的差異凤覆。最小化Log-Loss即為最大化分類器的性能。
AUC
AUC即Area Under the Curve拆魏,這里的Curve就是ROC曲線盯桦,ROC的橫坐標(biāo)為Flase positive rate,縱坐標(biāo)為Ture Positive Rate渤刃,用分類器的FP和TP來衡量分類器的性能好壞拥峦。而這里ROC是一個曲線而非一個值,AUC就是將該ROC用一個數(shù)值表示卖子,這個數(shù)值就是曲線之下的面積略号。

2.2-Ranking Metrics
Ranking Metrics和前面的分類的merics,有很多相似的地方洋闽,例如玄柠,用戶給定一個query,然后搜索引擎會反饋一個item list诫舅, 這個item list會按照與用戶query的相關(guān)性來進行排序羽利,其本質(zhì)就是一個0/1的二元分類器,其中score是分類為1的概率刊懈,以此為標(biāo)準(zhǔn)來進行相關(guān)性的判定这弧。當(dāng)然Ranking Metrics很多時候也使用Regression的Metrics,例如在個性化推薦系統(tǒng)中俏讹,會通過各種數(shù)據(jù)的feature來進行一個score的計算当宴,并以此為標(biāo)準(zhǔn)對推薦結(jié)果進行排序。
這里泽疆,我們首先介紹下Precision-Recall户矢,也就是在分類中經(jīng)常使用的來作為Ranking Metrics

Precision Recall

NewImage

NewImage

通常,我們在ranking中只對top K來進行計算殉疼,就是所謂的precision@k,recall@k梯浪,precision和recall之間的關(guān)系有點類似于True Postive 和False Postive之間的關(guān)系,單獨談其中一樣是沒有意義的瓢娜,通常我們使用F1 score來表明其好壞:
NewImage

NDCG
NDCG是另一種很有效地排序標(biāo)準(zhǔn)挂洛,這里不對其做詳細概念說明,只舉一個例子就明白了眠砾,如想詳細了解虏劲,請閱讀https://en.wikipedia.org/wiki/Discounted_cumulative_gain
假定某一個排序方法,給出的結(jié)果為D1,D2,D3,D4,D5,D6,而用戶的相關(guān)得分(比如通過用戶對其點擊率來計算)為3,2,3,0,1,2。
則這個搜索的累積的熵為:
NewImage

明顯可知柒巫,CG對排序間item的相對位置不敏感励堡,改變item彼此間的位置不影響CG的值,這是不合理的堡掏,這里我們添加一個Discounted信息:
NewImage

這個ranking的DCG計算如下:
NewImage

同理应结,我們做一個最佳的排序的計算,這里最佳的排序是按照用戶相關(guān)得分的排序:
3,3,2,2,1,0
此時泉唁,最佳的DCG = 8.69
最終的Normalize DCG=8.10/8.69=0.932
2.3-Regression Metrics
在回歸任務(wù)中鹅龄,我們一般需要去預(yù)測數(shù)值型的得分,例如我們會預(yù)測未來一段時間股票的價格亭畜,另外個性化系統(tǒng)預(yù)測用戶對某個item的得分扮休,類似的這些任務(wù)我們都會用到回歸方法。
RMSE
在回歸任務(wù)中贱案,最普通的評估標(biāo)準(zhǔn)是RMSE(root-mean-square error):

NewImage

Quantiles of Errors
RMSE有個比較嚴(yán)重的問題肛炮,它對large outliers比較敏感,通常一個比較大的離群值會很大地影響最終的RMSE值宝踪。Quantiles在某一方面來說侨糟,相對于RMSE來說魯棒性比較高。
Median Absolute Percentage一般能夠有效地減少離群值的影響:


NewImage

當(dāng)然瘩燥,我們也可以使用第>90%的數(shù)據(jù)來找到數(shù)據(jù)當(dāng)中的worst case秕重,或者用<0.1來表示數(shù)據(jù)當(dāng)中的best case。

2.4-Cautions
Training Metrics 和Evaluation Metrics的差異
很多時候厉膀,Evaluation Metrics 和Training Metrics可以通用溶耘,我們可以直接選定Evaluation Metrics為目標(biāo)函數(shù)來對其優(yōu)化,例如RMSE服鹅,但是也有很多Evaluation Metrics 不能直接作為目標(biāo)函數(shù)來優(yōu)化凳兵。
Skewed Datasets:Imbalanced classes,outliers企软, and Rare Data

NewImage

如果在datasets中庐扫,正負樣本數(shù)相差很大,比如99/1仗哨,這樣我們的分類器很容易全1形庭,來達到accuracy達到99%,ROC也很好看厌漂,但此時其實算法的泛化能力很差萨醒,應(yīng)該是無效的。
3-線下評估機制
NewImage

一般苇倡,我們將歷史數(shù)據(jù)按某種策略分為訓(xùn)練數(shù)據(jù)和驗證數(shù)據(jù)富纸,以此我們做Model Training囤踩,根據(jù)相關(guān)評估標(biāo)準(zhǔn)來做Model Selection,選定好model方法之后晓褪,利用Validation data去做Hyperparameter tuner高职,選擇出在驗證集數(shù)據(jù)中性能最好的Hyperparameter sets。
很多時候辞州,獲取一個有效地歷史訓(xùn)練數(shù)據(jù)集代價很大,我們通常只能獲取到相對于真實數(shù)據(jù)很小的一部分數(shù)據(jù)寥粹,為了保證model的泛化能力变过,我們通常會采用很多其他的方法來充分驗證,例如Hold-Out Validation,Cross-Validation,Bootstrap and Jackknife涝涤,這三種基本思想都相同媚狰,其中Hold-Out實現(xiàn)最簡單,只是簡單地將整個訓(xùn)練集分為訓(xùn)練集和驗證集阔拳,然后用驗證集的數(shù)據(jù)對訓(xùn)練集生成的model驗證model有效性崭孤,Cross-Validation是將整個訓(xùn)練數(shù)據(jù)集劃分為k-fold,多次取其中某一個fold做驗證數(shù)據(jù)集糊肠,相對于Hold-Out Validation來說辨宠,相當(dāng)于多次操作;前面兩種可能大部分人都聽說過货裹,而Bootstrap很少有人了解嗤形,相對于Cross-Validation,其實質(zhì)我們可以理解為,每次取K-fold里面的某部分做驗證集弧圆,這其實是一種不放回的采樣赋兵,而Bootstrap則恰好相反,它實質(zhì)是一種由放回的采樣原理:每次取其中某些數(shù)據(jù)做驗證數(shù)據(jù)搔预,然后放回重新選取霹期,為什么要選擇放回呢?統(tǒng)計學(xué)家們認為訓(xùn)練數(shù)據(jù)本身就有一種潛在的分布信息拯田,我們稱為”經(jīng)驗分布”历造,每次隨機選取,然后不放回能夠保證每次的經(jīng)驗分布都為原始的訓(xùn)練數(shù)據(jù)本身的分布信息勿锅,那么如此一來帕膜,bootstrap set中有很多數(shù)據(jù)是重復(fù)的(即為我們的經(jīng)驗分布),有個文檔https://lagunita.stanford.edu/c4x/HumanitiesScience/StatLearning/asset/cv_boot.pdf http://www.americanscientist.org/issues/pub/2010/3/the-bootstrap/1里面有詳細的說明溢十。如果想試試具體效果垮刹,可以去sklearn里面嘗試下:http://scikit-learn.org/stable/modules/grid_search.html#out-of-bag-estimates
4-Hyperparameter Tuning
首先,明白下Hyperparameter是個啥张弛,和模型參數(shù)有啥區(qū)別
4.1-Model Parameter vs Hyperparameter
這里舉個例子:我們有一個線性回歸的模型來表示features和target之間關(guān)系:
NewImage

x是特征向量荒典,y為對應(yīng)的score值酪劫,而w則是我們通過訓(xùn)練得到的參數(shù)模型,我們所說的訓(xùn)練model其實就是最是采取優(yōu)化策略來得到w產(chǎn)生最fit數(shù)據(jù)的預(yù)測數(shù)據(jù)寺董。這里的w使我們常說的Model Parameter而Hyperparameter通常在原始的linear regression中不需要覆糟,但是在lasso、ridge 這些里面會增加一些正則化的考慮來懲罰復(fù)雜度較高的模型遮咖,而這里的懲罰系數(shù)就是我們這里提到的Hyperparameter滩字。
在很多復(fù)雜的模型,例如Dt御吞,SVM麦箍,GBDT中有很多復(fù)雜的Hyperparameter對最終的預(yù)測有很重要的影響。
4.2-Hyperparameter Tuning Mechanism
NewImage

如何去選擇Hyperparameter陶珠,我們提供四種方法:Grid Search挟裂,Random Search,Smart Hyperparameter Tuning揍诽,Nested Cross-Validation
Grid Search就是把所有Hyperparameter做組合诀蓉,然后貪婪去訓(xùn)練模型,選擇效果最好的模型和對應(yīng)的Hyperparameter
Random Search就是采用隨機的策略暑脆,和grid search的關(guān)系有點類似于隨機梯度下降和批梯度下降的關(guān)系
Smart Hyperparameter Tuning:計算下次參數(shù)選擇渠啤,來更快速地收斂到最優(yōu)參數(shù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市饵筑,隨后出現(xiàn)的幾起案子埃篓,更是在濱河造成了極大的恐慌,老刑警劉巖根资,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件架专,死亡現(xiàn)場離奇詭異,居然都是意外死亡玄帕,警方通過查閱死者的電腦和手機部脚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來裤纹,“玉大人委刘,你說我怎么就攤上這事∮ソ罚” “怎么了锡移?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長漆际。 經(jīng)常有香客問我淆珊,道長,這世上最難降的妖魔是什么奸汇? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任施符,我火速辦了婚禮往声,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘戳吝。我一直安慰自己浩销,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布听哭。 她就那樣靜靜地躺著慢洋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪陆盘。 梳的紋絲不亂的頭發(fā)上且警,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天,我揣著相機與錄音礁遣,去河邊找鬼。 笑死肩刃,一個胖子當(dāng)著我的面吹牛祟霍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盈包,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼沸呐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了呢燥?” 一聲冷哼從身側(cè)響起崭添,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎叛氨,沒想到半個月后呼渣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡寞埠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年屁置,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仁连。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蓝角,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出饭冬,到底是詐尸還是另有隱情使鹅,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布昌抠,位于F島的核電站患朱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏扰魂。R本人自食惡果不足惜麦乞,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一蕴茴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧姐直,春花似錦倦淀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至插龄,卻和暖如春愿棋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背均牢。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工糠雨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人徘跪。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓甘邀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親垮庐。 傳聞我的和親對象是個殘疾皇子松邪,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容