【百面機器學習筆記】模型評估

模型評估指標

準確率(Accuracy)

準確率是指分類正確的樣本占總樣本個數(shù)的比例。
Accuracy = n(correct)/n(total)
當負樣本占99%時迫摔,分類器把所有樣本都預(yù)測為負樣本也可以獲得99%的準確率罗丰。所以而芥,當不同類別的樣本比例非常不均衡時可都,占比大的類別往往成為影響準確率的最主要因素啄枕。

精確率(Precision)& 召回率(Recall)

精確率是指分類正確的正樣本個數(shù)占分類器判定為正樣本的樣本個數(shù)的比例婚陪。
召回率是指分類正確的正樣本個數(shù)占真正的正樣本個數(shù)的比例。

為了綜合評估一個排序模型的好壞频祝,不僅要看模型在不同Top N下的Precision@N和Recall@N泌参,而且最好繪制出模型的P-R(Precision-
Recall)曲線。

P-R曲線的橫軸是召回率常空,縱軸是精確率沽一。對于一個排序模型來說,其P-R曲線上的一個點代表著漓糙,在某一閾值下铣缠,模型將大于該閾值的結(jié)果判定為正樣本,小于該閾值的結(jié)果判定為負樣本昆禽,此時返回結(jié)果對應(yīng)的召回率和精確率蝗蛙。



除此之外,F(xiàn)1 score和ROC曲線也能綜合地反映一個排序模型的性能醉鳖。F1score是精準率和召回率的調(diào)和平均值歼郭,它定義為


均方誤差(RMSE)

RMSE的公式為

一般情況下,RMSE能夠很好地反映回歸模型預(yù)測值與真實值的偏離程度辐棒。但在實際問題中,如果存在個別偏離程度非常大的離群點(Outlier)時,即使離群點數(shù)量非常少漾根,也會讓RMSE指標變得很差泰涂。

針對這個問題,有什么解決方案呢辐怕?可以從三個角度來思考逼蒙。第一,如果我們認定這些離群點是“噪聲點”的話寄疏,就需要在數(shù)據(jù)預(yù)處理的階段把這些噪聲點過濾掉是牢。第二,如果不認為這些離群點是“噪聲點”的話陕截,就需要進一步提高模型的預(yù)測能力驳棱,將離群點產(chǎn)生的機制建模進去(這是一個宏大的話題,這里就不展開討論了)农曲。第三社搅,可以找一個更合適的指標來評估該模型。關(guān)于評估指標乳规,其實是存在比RMSE的魯棒性更好的指標形葬,比如平均絕對百分比誤差(Mean Absolute
Percent Error,MAPE)暮的,它定義為



相比RMSE笙以,MAPE相當于把每個點的誤差進行了歸一化,降低了個別離群點帶來的絕對誤差的影響冻辩。

ROC曲線

ROC

ROC曲線的橫坐標為假陽性率(False Positive Rate猖腕,F(xiàn)PR);縱坐標為真陽性率(True Positive Rate微猖,TPR)谈息。

FPR = FP/N
TPR = TP/P

P是真實的正樣本的數(shù)量,N是真實的負樣本的數(shù)量凛剥,TP是P個正樣本中被分類器預(yù)測為正樣本的個數(shù)侠仇,F(xiàn)P是N個負樣本中被分類器預(yù)測為正樣本的個數(shù)。
事實上犁珠,ROC曲線是通過不斷移動分類器的“截斷點”來生成曲線上的一組關(guān)鍵點的逻炊。

AUC

顧名思義,AUC指的是ROC曲線下的面積大小犁享,該值能夠量化地反映基于
ROC曲線衡量出的模型性能余素。計算AUC值只需要沿著ROC橫軸做積分就可以了。
由于ROC曲線一般都處于y=x這條直線的上方(如果不是的話炊昆,只要把模型預(yù)測的概率反轉(zhuǎn)成1?p就可以得到一個更好的分類器)桨吊,所以AUC的取值一般在0.5~1之間威根。AUC越大,說明分類器越可能把真正的正樣本排在前面视乐,分類性能越好洛搀。

相比P-R曲線,ROC曲線有一個特點佑淀,當正負樣本的分布發(fā)生變化時留美,ROC曲線的形狀能夠基本保持不變,而P-R曲線的形狀一般會發(fā)生較劇烈的變化伸刃。

余弦距離的應(yīng)用

關(guān)注的是向量之間的角度關(guān)系谎砾,并不關(guān)心它們的絕對大小,其取值范圍是[?1,1]捧颅。當一對文本相似度的長度差距很大景图、但內(nèi)容相近時,如果使用詞頻或詞向量作為特征隘道,它們在特征空間中的的歐氏距離通常很大症歇;而如果使用余弦相似度的話,它們之間的夾角可能很小谭梗,因而相似度高忘晤。此外,在文本激捏、圖像设塔、視頻等領(lǐng)域,研究的對象的特征維度往往很高远舅,余弦相似度在高維情況下依然保持“相同時為1闰蛔,正交時為0,相反時為?1”的性質(zhì)图柏,而歐氏距離的數(shù)值則受維度的影響序六,范圍不固定,并且含義也比較模糊蚤吹。
在一些場景例诀,例如Word2Vec中,其向量的模長是經(jīng)過歸一化的裁着,此時歐氏距離與余弦距離有著單調(diào)的關(guān)系繁涂,即



其中|| A?B ||2表示歐氏距離,cos(A,B)表示余弦相似度(1?cos(A,B))表示余弦距離二驰。在此場景下扔罪,如果選擇距離最小(相似度最大)的近鄰桶雀,那么使用余弦相似度和歐氏距離的結(jié)果是相同的矿酵。

AB測試

  1. 需要進行在線A/B測試的原因如下唬复。
    (1)離線評估無法完全消除模型過擬合的影響,因此坏瘩,得出的離線評估結(jié)果無法完全替代線上評估結(jié)果盅抚。
    (2)離線評估無法完全還原線上的工程環(huán)境。一般來講倔矾,離線評估往往不會考慮線上環(huán)境的延遲、數(shù)據(jù)丟失柱锹、標簽數(shù)據(jù)缺失等情況哪自。因此,離線評估的結(jié)果是理想工程環(huán)境下的結(jié)果禁熏。
    (3)線上系統(tǒng)的某些商業(yè)指標在離線評估中無法計算壤巷。離線評估一般是針對模型本身進行評估,而與模型相關(guān)的其他指標瞧毙,特別是商業(yè)指標胧华,往往無法直接獲得。比如宙彪,上線了新的推薦算法矩动,離線評估往往關(guān)注的是ROC曲線、P-R曲線等的改進释漆,而線上評估可以全面了解該推薦算法帶來的用戶點擊率悲没、留存時長、PV訪問量等的變化男图。這些都要由A/B測試來進行全面的評估示姿。

  2. 如何進行AB測試
    進行A/B測試的主要手段是進行用戶分桶,即將用戶分成實驗組和對照組逊笆,對實驗組的用戶施以新模型栈戳,對對照組的用戶施以舊模型。在分桶的過程中难裆,要注意樣本的獨立性和采樣方式的無偏性子檀,確保同一個用戶每次只能分到同一個桶中,在分桶過程中所選取的user_id需要是一個隨機數(shù)差牛,這樣才能保證桶中的樣本是無偏的命锄。

  3. 如何劃分實驗組和對照組
    無偏無稀釋

模型評估的方法

■ Holdout檢驗
Holdout 檢驗是最簡單也是最直接的驗證方法,它將原始的樣本集合隨機劃分成訓練集和驗證集兩部分偏化。比方說脐恩,對于一個點擊率預(yù)測模型,我們把樣本按照70%~30% 的比例分成兩部分侦讨,70% 的樣本用于模型訓練驶冒;30% 的樣本用于模型驗證苟翻,包括繪制ROC曲線、計算精確率和召回率等指標來評估模型性能骗污。
Holdout 檢驗的缺點很明顯崇猫,即在驗證集上計算出來的最后評估指標與原始分
組有很大關(guān)系。為了消除隨機性需忿,研究者們引入了“交叉檢驗”的思想诅炉。
■ 交叉檢驗
k-fold交叉驗證:首先將全部樣本劃分成k個大小相等的樣本子集;依次遍歷這k個子集屋厘,每次把當前子集作為驗證集涕烧,其余所有子集作為訓練集,進行模型的訓練和評估汗洒;最后把k次評估指標的平均值作為最終的評估指標议纯。在實際實驗中,k經(jīng)常取10溢谤。
留一驗證:每次留下1個樣本作為驗證集瞻凤,其余所有樣本作為測試集。樣本總數(shù)為n世杀,依次對n個樣本進行遍歷阀参,進行n次驗證,再將評估指標求平均值得到最終的評估指標玫坛。在樣本總數(shù)較多的情況下结笨,留一驗證法的時間開銷極大。事實上湿镀,留一驗證是留p驗證的特例炕吸。留p驗證是每次留下p個樣本作為驗證集,而從n個元素中選擇p個元素有種可能勉痴,因此它的時間開銷更是遠遠高于留一驗證赫模,故而很少在實際工程中被應(yīng)用。
■ 自助法
不管是Holdout檢驗還是交叉檢驗蒸矛,都是基于劃分訓練集和測試集的方法進行模型評估的瀑罗。然而,當樣本規(guī)模比較小時雏掠,將樣本集進行劃分會讓訓練集進一步減小斩祭,這可能會影響模型訓練效果。有沒有能維持訓練集樣本規(guī)模的驗證方法呢乡话?
自助法可以比較好地解決這個問題摧玫。
自助法是基于自助采樣法的檢驗方法。對于總數(shù)為n的樣本集合绑青,進行n次有放回的隨機抽樣诬像,得到大小為n的訓練集屋群。n次采樣過程中,有的樣本會被重復采樣坏挠,有的樣本沒有被抽出過芍躏,將這些沒有被抽出的樣本作為驗證集,進行模型驗證降狠,這就是自助法的驗證過程对竣。

超參數(shù)調(diào)優(yōu)

■ 網(wǎng)格搜索
網(wǎng)格搜索可能是最簡單、應(yīng)用最廣泛的超參數(shù)搜索算法喊熟,它通過查找搜索范圍內(nèi)的所有的點來確定最優(yōu)值柏肪。如果采用較大的搜索范圍以及較小的步長,網(wǎng)格搜索有很大概率找到全局最優(yōu)值芥牌。然而,這種搜索方案十分消耗計算資源和時間聂使,特別是需要調(diào)優(yōu)的超參數(shù)比較多的時候壁拉。因此,在實際應(yīng)用中柏靶,網(wǎng)格搜索法一般會先使用較廣的搜索范圍和較大的步長弃理,來尋找全局最優(yōu)值可能的位置;然后會逐漸縮小搜索范圍和步長屎蜓,來尋找更精確的最優(yōu)值痘昌。這種操作方案可以降低所需的時間和計算量,但由于目標函數(shù)一般是非凸的炬转,所以很可能會錯過全局最優(yōu)值辆苔。
■ 隨機搜索
隨機搜索的思想與網(wǎng)格搜索比較相似,只是不再測試上界和下界之間的所有值扼劈,而是在搜索范圍中隨機選取樣本點驻啤。它的理論依據(jù)是,如果樣本點集足夠大荐吵,那么通過隨機采樣也能大概率地找到全局最優(yōu)值骑冗,或其近似值。隨機搜索一般會比網(wǎng)格搜索要快一些先煎,但是和網(wǎng)格搜索的快速版一樣贼涩,它的結(jié)果也是沒法保證的。
■ 貝葉斯優(yōu)化算法
貝葉斯優(yōu)化算法在尋找最優(yōu)最值參數(shù)時薯蝎,采用了與網(wǎng)格搜索遥倦、隨機搜索完全不同的方法。網(wǎng)格搜索和隨機搜索在測試一個新點時良风,會忽略前一個點的信息谊迄;而貝葉斯優(yōu)化算法則充分利用了之前的信息闷供。貝葉斯優(yōu)化算法通過對目標函數(shù)形狀進行學習,找到使目標函數(shù)向全局最優(yōu)值提升的參數(shù)统诺。具體來說歪脏,它學習目標函數(shù)形狀的方法是,首先根據(jù)先驗分布粮呢,假設(shè)一個搜集函數(shù)婿失;然后,每一次使用新的采樣點來測試目標函數(shù)時啄寡,利用這個信息來更新目標函數(shù)的先驗分布豪硅;最后,算法測試由后驗分布給出的全局最值最可能出現(xiàn)的位置的點挺物。對于貝葉斯優(yōu)化算法懒浮,有一個需要注意的地方,一旦找到了一個局部最優(yōu)值识藤,它會在該區(qū)域不斷采樣砚著,所以很容易陷入局部最優(yōu)值。為了彌補這個缺陷痴昧,貝葉斯優(yōu)化算法會在探索和利用之間找到一個平衡點稽穆,“探索”就是在還未取樣的區(qū)域獲取采樣點;而“利用”則是根據(jù)后驗分布在最可能出現(xiàn)全局最值的區(qū)域進行采樣赶撰。

過擬合與欠擬合

■ 降低“過擬合”風險的方法
(1)從數(shù)據(jù)入手舌镶,獲得更多的訓練數(shù)據(jù)。使用更多的訓練數(shù)據(jù)是決過擬合問題最有效的手段豪娜,因為更多的樣本能夠讓模型學習到更多更有效的特征餐胀,減小噪聲的影響。當然侵歇,直接增加實驗數(shù)據(jù)一般是很困難的骂澄,但是可以通過一定的規(guī)則來擴充訓練數(shù)據(jù)。比如惕虑,在圖像分類的問題上坟冲,可以通過圖像的平移、旋轉(zhuǎn)溃蔫、縮放等方式擴充數(shù)據(jù)健提;更進一步地,可以使用生成式對抗網(wǎng)絡(luò)來合成大量的新訓練數(shù)據(jù)伟叛。
(2)降低模型復雜度私痹。在數(shù)據(jù)較少時,模型過于復雜是產(chǎn)生過擬合的主要因素,適當降低模型復雜度可以避免模型擬合過多的采樣噪聲紊遵。例如账千,在神經(jīng)網(wǎng)絡(luò)模型中減少網(wǎng)絡(luò)層數(shù)、神經(jīng)元個數(shù)等暗膜;在決策樹模型中降低樹的深度匀奏、進行剪枝等。
(3)正則化方法学搜。給模型的參數(shù)加上一定的正則約束娃善,比如將權(quán)值的大小加入到損失函數(shù)中。以L2正則化為例:

這樣瑞佩,在優(yōu)化原來的目標函數(shù)C0的同時聚磺,也能避免權(quán)值過大帶來的過擬合風險。
(4)集成學習方法炬丸。集成學習是把多個模型集成在一起瘫寝,來降低單一模型的
過擬合風險,如Bagging方法稠炬。
■ 降低“欠擬合”風險的方法
(1)添加新特征矢沿。當特征不足或者現(xiàn)有特征與樣本標簽的相關(guān)性不強時,模型容易出現(xiàn)欠擬合酸纲。通過挖掘“上下文特征”“ID類特征”“組合特征”等新的特征,往往能夠取得更好的效果瑟匆。在深度學習潮流中闽坡,有很多模型可以幫助完成特征工程,如因子分解機愁溜、梯度提升決策樹疾嗅、Deep-crossing等都可以成為豐富特征的方法。
(2)增加模型復雜度冕象。簡單模型的學習能力較差代承,通過增加模型的復雜度可以使模型擁有更強的擬合能力。例如渐扮,在線性模型中添加高次項论悴,在神經(jīng)網(wǎng)絡(luò)模型中增加網(wǎng)絡(luò)層數(shù)或神經(jīng)元個數(shù)等。
(3)減小正則化系數(shù)墓律。正則化是用來防止過擬合的膀估,但當模型出現(xiàn)欠擬合現(xiàn)象時,則需要有針對性地減小正則化系數(shù)耻讽。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末察纯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌饼记,老刑警劉巖香伴,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異具则,居然都是意外死亡即纲,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門乡洼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來崇裁,“玉大人,你說我怎么就攤上這事束昵“挝龋” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵锹雏,是天一觀的道長巴比。 經(jīng)常有香客問我,道長礁遵,這世上最難降的妖魔是什么轻绞? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮佣耐,結(jié)果婚禮上政勃,老公的妹妹穿的比我還像新娘。我一直安慰自己兼砖,他們只是感情好奸远,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著讽挟,像睡著了一般懒叛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上耽梅,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天薛窥,我揣著相機與錄音,去河邊找鬼眼姐。 笑死诅迷,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的妥凳。 我是一名探鬼主播竟贯,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼逝钥!你這毒婦竟也來了屑那?” 一聲冷哼從身側(cè)響起拱镐,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎持际,沒想到半個月后沃琅,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡蜘欲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年益眉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姥份。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡郭脂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出澈歉,到底是詐尸還是另有隱情展鸡,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布埃难,位于F島的核電站莹弊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏涡尘。R本人自食惡果不足惜忍弛,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望考抄。 院中可真熱鬧细疚,春花似錦、人聲如沸川梅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挑势。三九已至,卻和暖如春啦鸣,著一層夾襖步出監(jiān)牢的瞬間潮饱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工诫给, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留香拉,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓中狂,卻偏偏與公主長得像凫碌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子胃榕,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

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