模型評估指標
準確率(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測試
需要進行在線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測試來進行全面的評估示姿。如何進行AB測試
進行A/B測試的主要手段是進行用戶分桶,即將用戶分成實驗組和對照組逊笆,對實驗組的用戶施以新模型栈戳,對對照組的用戶施以舊模型。在分桶的過程中难裆,要注意樣本的獨立性和采樣方式的無偏性子檀,確保同一個用戶每次只能分到同一個桶中,在分桶過程中所選取的user_id需要是一個隨機數(shù)差牛,這樣才能保證桶中的樣本是無偏的命锄。如何劃分實驗組和對照組
無偏無稀釋
模型評估的方法
■ 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ù)耻讽。