模型评估(笔记)
模型評(píng)估主要分為離線評(píng)估和在線評(píng)估兩個(gè)階段
針對(duì)分類、排序、回歸、序列預(yù)測(cè)等不同類型的機(jī)器學(xué)習(xí)問(wèn)題,評(píng)估指標(biāo)的選擇也有所不同
一、評(píng)估指標(biāo)的局限性
1、準(zhǔn)確率的局限性
當(dāng)不同類別的樣本比例非常不均衡時(shí),占比大的類別往往成為影響準(zhǔn)確率的最主要因素
2、準(zhǔn)確率與召回率權(quán)衡
精確率:指分類正確的正樣本個(gè)數(shù)占分類器判定為正樣本的樣本個(gè)數(shù)比例
召回率:分類正確的正樣本個(gè)數(shù)占真正的正樣本個(gè)數(shù)的比例
為了評(píng)估一個(gè)排序模型的好壞,不僅要看模型在不同的TopN下的PrecisionN和RecallN,而且最好繪制出模型的P-R曲線,只有通過(guò)P-R曲線的整體表現(xiàn),才能對(duì)模型進(jìn)行更為全面的評(píng)估。除此之外,F1和ROC也能綜合地反映一個(gè)模型的性能。
3、均方根誤差
RMSE經(jīng)常被用來(lái)衡量回歸模型的好壞
RMSE的意外:無(wú)論采用哪種回歸模型,得到的RMSE指標(biāo)都非常高,然而事實(shí)是,模型在95%的時(shí)間區(qū)間內(nèi)的預(yù)測(cè)誤差小于1%,取得不錯(cuò)的預(yù)測(cè)效果。那么造成RMSE指標(biāo)居高不下的最可能的原因是什么?
在實(shí)際問(wèn)題中,如果存在個(gè)別偏離程度非常大的離群點(diǎn),即使離群點(diǎn)數(shù)量非常少,也會(huì)使RMSE指標(biāo)變得很差
解決方法:
1)如果認(rèn)為離群點(diǎn)是噪聲點(diǎn)的話,就需要在數(shù)據(jù)預(yù)處理的階段把這些噪聲點(diǎn)過(guò)濾掉
2)如果不認(rèn)為離群點(diǎn)是噪聲點(diǎn)的話,就需要進(jìn)一步提高模型的預(yù)測(cè)能力,將離群點(diǎn)產(chǎn)生的機(jī)制建模進(jìn)去
3)可以找一個(gè)更合適的指標(biāo)來(lái)評(píng)估該模型(關(guān)于評(píng)估指標(biāo),其實(shí)存在比RMSE更好的魯棒性指標(biāo),比如平均絕對(duì)百分比誤差MAPE)
二、ROC曲線
二值分類器是機(jī)器學(xué)習(xí)領(lǐng)域中最常見(jiàn)也是應(yīng)用最廣泛的分類器。評(píng)價(jià)二值分類器的指標(biāo)很多,比如precision、recall、F1 score、P-R曲線等。ROC曲線則有很多優(yōu)點(diǎn),經(jīng)常作為評(píng)估二值分類器最重要指標(biāo)之一
1、什么是ROC曲線?
ROC曲線的橫坐標(biāo)為假陽(yáng)性率(FPR),縱坐標(biāo)為真陽(yáng)性率(TPR)。FPR和TPR計(jì)算方法分別為FPR= FP/N ,TPR= TP/P
P為真實(shí)的正樣本數(shù)量,N為真實(shí)的負(fù)樣本數(shù)量,TP是P個(gè)正樣本中被分類器預(yù)測(cè)為正樣本的個(gè)數(shù),FP是N個(gè)負(fù)樣本中被分類器預(yù)測(cè)為正樣本的個(gè)數(shù)
舉個(gè)例子:10個(gè)患者,其中3位感冒,另外7位沒(méi)有感冒。醫(yī)院對(duì)這10個(gè)患者進(jìn)行診斷,診斷出3位感冒者,有2位確實(shí)是真正的患者(TP=2),那么真陽(yáng)性率TPR=TP/P=2/3。對(duì)于7位正常者,有一位患感冒(FP=1),那么假陽(yáng)性率FPR= FP/N=1/7。對(duì)于這個(gè)分類器來(lái)說(shuō),這組分類結(jié)果就對(duì)應(yīng)ROC曲線上的一個(gè)點(diǎn)(1/7,2/3)
2、如何計(jì)算AUC?
AUC指的是ROC曲線下的面積大小,該值能夠量化地反映基于ROC曲線衡量出的模型性能
3、ROC曲線相比P-R曲線有什么特點(diǎn)?
相比P-R曲線,ROC曲線有一個(gè)特點(diǎn),當(dāng)正負(fù)樣本的分布發(fā)生變化時(shí),ROC曲線的形狀能夠基本保持不變,而P-R曲線的形狀一般會(huì)發(fā)生劇烈的變化
若選擇不同的測(cè)試集,而ROC曲線則能夠更加穩(wěn)定地反映模型本身的好壞
如果希望更多的看到模型在特定數(shù)據(jù)集上的表現(xiàn),P-R曲線則能夠更直觀地反映其性能
三、余弦距離的應(yīng)用
在模型訓(xùn)練過(guò)程中,我們也在不斷的評(píng)估樣本間的距離,如何評(píng)估樣本距離也是定義優(yōu)化目標(biāo)和訓(xùn)練方法的基礎(chǔ)
1、為什么一些場(chǎng)景中要使用余弦相似度而不是歐式距離?
余弦相似度關(guān)注的是向量角度關(guān)系,并不關(guān)心它們的絕對(duì)大小。當(dāng)一對(duì)文本相似度的長(zhǎng)度差距很大,但是內(nèi)容很相近時(shí),若果使用詞頻或此向量作為特征,它們?cè)谔卣骺臻g中的歐式距離通常很大;而如果使用余弦相似度的話,它們之間的夾角可能很小,因而相似度很高
總體來(lái)說(shuō),歐式距離體現(xiàn)數(shù)值上的絕對(duì)差異,而余弦距離體現(xiàn)在方向上的相對(duì)差異
2、余弦距離是否是一個(gè)嚴(yán)格定義的距離?
距離的定義必須滿足正定性、對(duì)稱性、三角不等式成立,則該實(shí)數(shù)可稱為這對(duì)元素之間的距離
余弦距離滿足正定性和對(duì)稱性,但是不滿足三角不等式,因此它不是嚴(yán)格定義的距離
四、A/B測(cè)試的陷阱
A/B測(cè)試是驗(yàn)證新模塊、新功能、新產(chǎn)品是否有效,新算法、新模型的效果是否有提升,新設(shè)計(jì)是否受到用戶歡迎,新更改是否影響用戶體驗(yàn)的主要測(cè)試方法
1、在對(duì)模型進(jìn)行過(guò)充分的離線評(píng)估之后,為什么還要進(jìn)行在線A/B測(cè)試?
需要在線的A/B測(cè)試的原因如下:
1)離線評(píng)估無(wú)法完全消除模型過(guò)擬合的影響,因此得出離線評(píng)估結(jié)果無(wú)法完全替代線上評(píng)估結(jié)果
2)離線評(píng)估無(wú)法完全還原線上的工程環(huán)境
3)線上系統(tǒng)的某些商業(yè)指標(biāo)在離線評(píng)估中無(wú)法計(jì)算
2、如何進(jìn)行線上A/B測(cè)試?
進(jìn)行A/B測(cè)試的主要手段是進(jìn)行用戶分桶,即將用戶分成實(shí)驗(yàn)組和對(duì)照組,對(duì)實(shí)驗(yàn)組的用戶用新模型,對(duì)對(duì)照組的用戶用舊模型,在分桶的過(guò)程中,保證樣本的獨(dú)立性和采樣方式的無(wú)偏性,獨(dú)立性:每個(gè)用戶只能分一個(gè)桶,無(wú)偏性:隨機(jī)選擇用戶uid
3、如何劃分實(shí)驗(yàn)組和對(duì)照組?
如果新研發(fā)的推薦模型是A,A上線之前正在使用的推薦模型是B,怎樣通過(guò)A/B測(cè)試來(lái)驗(yàn)證推薦新模型的效果:
正確做法是將所有用戶根據(jù)用戶id的個(gè)位數(shù)劃分為實(shí)驗(yàn)組和對(duì)照組,分別測(cè)試A和B模型,這樣才可驗(yàn)證A的效果
五、模型評(píng)估的方法
1、在模型評(píng)估過(guò)程中,有那些主要的驗(yàn)證方法?
Holdout檢驗(yàn)(劃分?jǐn)?shù)據(jù)一般按照7:3,訓(xùn)練和測(cè)試,劃分?jǐn)?shù)據(jù)存在隨機(jī)性)
交叉檢驗(yàn)(幾次交叉驗(yàn)證的平均值作為最終的評(píng)估指標(biāo))
自助法:樣本規(guī)模比較小,適合用自助法(n次隨機(jī)采樣,有的被抽出過(guò),有的沒(méi)被抽出過(guò)作為驗(yàn)證集),有公式證明對(duì)n個(gè)樣本進(jìn)行n次自助抽樣,當(dāng)n比較大時(shí),大約有36.8%的數(shù)據(jù)從未被抽取過(guò)
六、超參數(shù)調(diào)優(yōu)
主要方法:
1、網(wǎng)格搜索? 2、隨機(jī)搜索? 3、貝葉斯優(yōu)化算法
七、過(guò)擬合和欠擬合
過(guò)擬合就是模型在訓(xùn)練集合效果比較好,測(cè)試集合或新數(shù)據(jù)效果比較差
欠擬合模型在訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)效果都不好
解決過(guò)擬合:
1、獲取更多訓(xùn)練數(shù)據(jù)
2、降低模型復(fù)雜度
3、添加正則化方法
4、集成學(xué)習(xí)方法,如bagging方法
解決欠擬合:
1、增加特征
2、增加模型復(fù)雜度
3、減小正則化參數(shù)
?
?
?
?
總結(jié)
- 上一篇: 重温强化学习之深度强化学习
- 下一篇: pycharm调试远程服务器代码