百面機(jī)器學(xué)習(xí)|第二章模型評(píng)估知識(shí)點(diǎn)

前言

如果你能找到這里,真是我的幸運(yùn)~這里是藍(lán)白絳的學(xué)習(xí)筆記,本集合主要針對(duì)《百面機(jī)器學(xué)習(xí)——算法工程師帶你去面試》這本書。主要記錄我認(rèn)為重要的知識(shí)點(diǎn),希望對(duì)大家有幫助。

第二章 模型評(píng)估

1、評(píng)估指標(biāo)的局限性

  1. 準(zhǔn)確率(Accuracy):分類正確的樣本占總樣本個(gè)數(shù)的比例。
    當(dāng)不同類別的樣本比例非常不均衡時(shí),將準(zhǔn)確率作為分類性能的指標(biāo)非常局限,可以使用更加有效的平均準(zhǔn)確率(每個(gè)類別下的樣本準(zhǔn)確率的算數(shù)平均)作為模型評(píng)估的指標(biāo)。

  2. 精確率(Precision):分類正確的正樣本個(gè)數(shù)占分類器判定為正樣本個(gè)數(shù)的比例。

  3. 召回率(Recall):分類正確的正樣本個(gè)數(shù)占真正的正樣本個(gè)數(shù)的比例。

  4. 排序問題中,通常沒有一個(gè)確定的閾值把得到的結(jié)果判定為正樣本或負(fù)樣本,而是采用Top N返回結(jié)果(即模型判定的N個(gè)正樣本)計(jì)算Precision和Recall來衡量排序模型的性能。

  5. Precision和Recall是即矛盾又統(tǒng)一的兩個(gè)指標(biāo)。通常要繪制P-R曲線,單個(gè)點(diǎn)對(duì)應(yīng)的精確率和召回率并不能全面地衡量模型的性能,畫曲線能對(duì)模型進(jìn)行更為全面的評(píng)估。

  6. F1值和ROC曲線也能綜合反映一個(gè)排序模型的性能。ROC曲線后面一節(jié)再說,F(xiàn)1值是精確率和召回率的調(diào)和均值
    F1=\frac{2\times precision\times recall}{precision+recall}

  7. 均方根誤差RMSE(Root Mean Square Error)通常用來衡量回歸模型的好壞,但是如果存在個(gè)別偏離程度特別大的離群點(diǎn)(Outlier),即使離群點(diǎn)非常少,也會(huì)讓RMSE指標(biāo)變的很差。
    RMSE=\sqrt{\frac{\sum_{i=1}^{n}(y_i-{\hat{y}_i})^2}{n}}例如在流量預(yù)測(cè)問題中,噪聲點(diǎn)是很容易產(chǎn)生的,甚至一些相關(guān)社交媒體突發(fā)事件帶來的流量,都很有可能造成離群點(diǎn)。
    針對(duì)離群點(diǎn)的解決方案有:

  • 如果認(rèn)為這些離群點(diǎn)是“噪聲點(diǎn)”的話,就需要在數(shù)據(jù)預(yù)處理的階段將噪聲點(diǎn)過濾掉。
  • 如果不認(rèn)為離群點(diǎn)是“噪聲點(diǎn)”,就需要進(jìn)一步提高模型的預(yù)測(cè)能力,將離群點(diǎn)產(chǎn)生的機(jī)制建模進(jìn)去。(這就是一個(gè)宏大的話題了)
  • 找一個(gè)更合適的指標(biāo)來評(píng)估模型,如平均絕對(duì)百分比誤差(Mean Absolute Percent Error,MAPE)。它將每個(gè)點(diǎn)的誤差進(jìn)行了歸一化,降低了個(gè)別離群點(diǎn)帶來的絕對(duì)誤差的影響。
    MAPE=\sum_{i=1}^{n}|\frac{y_i-\hat{y}_i}{y_i}|\times\frac{100}{n}

2、ROC曲線

  1. ROC(Receiver Operating Characteristic Curve,受試者工作特征曲線),橫坐標(biāo)為假陽性率(False Positive Rate,F(xiàn)PR),縱坐標(biāo)為真陽性率(True Positive Rate,TPR)。
    FPR=\frac{FP}{N} TPR=\frac{TP}{P}
    其中N為真實(shí)的負(fù)樣本個(gè)數(shù),P為真實(shí)的正樣本個(gè)數(shù)。
    Confusion matrix
  2. ROC曲線的繪制:二值分類問題中,模型的輸出一般都是預(yù)測(cè)樣本為正例的概率,概率大于該值則判為正例,小于該值判為負(fù)例,計(jì)算FPR和TPR,形成ROC曲線上的一點(diǎn)。通過不斷移動(dòng)截?cái)帱c(diǎn),則可繪制出ROC曲線。
  3. AUC:ROC曲線下的面積(沿橫軸積分),能夠量化地反映基于ROC曲線衡量出的模型性能。
  4. ROC曲線與P-R曲線:當(dāng)正負(fù)樣本的分布發(fā)生變化時(shí),ROC曲線形狀能保持基本不變,而P-R曲線形狀一般會(huì)發(fā)生劇烈的變化。ROC曲線能更加穩(wěn)定地反映模型本身的好壞,廣泛應(yīng)用于排序、推薦、廣告等領(lǐng)域。如果希望更多地看到模型在特定數(shù)據(jù)集上的表現(xiàn),P-R曲線能更直觀地反映其性能。

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

  1. 余弦相似度余弦距離:余弦相似度取值范圍為[-1,1],余弦距離是1減余弦相似度,取值范圍為[0,2]
  2. 余弦距離歐式距離
  • 余弦距離關(guān)心的是向量的角度關(guān)系,并不關(guān)心它們的絕對(duì)大小。在文本、圖像、視頻領(lǐng)域,特征維度往往很高,余弦相似度在高維情況下依然能保持“相同為1,正交為0,相反為-1”。而歐式距離受維度影響,范圍不固定,含義也比較模糊。
  • 在一些場(chǎng)景,歐式距離和余弦距離有著單調(diào)的關(guān)系,如果選擇距離最小(相似度最大)的近鄰,則使用歐式距離和余弦距離的結(jié)果是相同的。
  • 總體來說,歐式距離體現(xiàn)數(shù)值上的絕對(duì)差異,余弦距離體現(xiàn)方向上的相對(duì)差異
    例如統(tǒng)計(jì)用戶看劇行為,A為(0,1), B為(1,0),此時(shí)余弦距離較大,歐式距離較小,我們分析兩個(gè)用戶對(duì)不同視頻的喜好,更關(guān)注相對(duì)差異,這里應(yīng)該用余弦距離。
    再例如分析用戶活躍度,以登陸次數(shù)和平均觀看時(shí)長(zhǎng)為特征,A為(1,10), B為(10,100),則余弦距離會(huì)認(rèn)為他們非常近,但這兩個(gè)用戶的活躍度差別是非常大的,應(yīng)該選用歐式距離。
  1. 余弦距離并不是一個(gè)嚴(yán)格定義的距離。距離的定義是在一個(gè)集合中,每一對(duì)元素均可唯一確定一個(gè)實(shí)數(shù),使得正定性對(duì)稱性三角不等式成立,則該實(shí)數(shù)可稱為這對(duì)元素的距離。余弦距離滿足正定性和對(duì)稱性,但不滿足三角不等式
    在機(jī)器學(xué)習(xí)領(lǐng)域,被稱為距離但不滿足三條距離公理的還有KL距離(Kullback-Leibler Divergence),也叫做相對(duì)熵,常用于計(jì)算兩個(gè)分布之間的差異,它不滿足對(duì)稱性和三角不等式。

4、A/B測(cè)試的陷阱

  1. 在機(jī)器學(xué)習(xí)中A/B測(cè)試是驗(yàn)證模型最終效果的主要手段。
  2. 已經(jīng)對(duì)模型進(jìn)行充分的離線評(píng)估,還需要進(jìn)行在線A/B測(cè)試的原因有:
  • 離線評(píng)估無法完全消除模型過擬合的影響。
  • 離線評(píng)估無法完全還原線上的工程環(huán)境。一般來講,離線評(píng)估往往沒有考慮線上環(huán)境的延遲、數(shù)據(jù)丟失、標(biāo)簽數(shù)據(jù)缺失等情況。也就是說,離線評(píng)估是理想工程環(huán)境下的結(jié)果。
  • 離線評(píng)估一般是針對(duì)模型本身進(jìn)行評(píng)估,線上系統(tǒng)的某些商業(yè)指標(biāo)在離線評(píng)估中無法計(jì)算。如推薦問題中,離線評(píng)估關(guān)注ROC曲線、P-R曲線,而弦上評(píng)估可以全面了解用戶點(diǎn)擊率、留存時(shí)長(zhǎng)、PV訪問量等變化。
  1. 如何進(jìn)行線上A/B測(cè)試:主要手段是進(jìn)行用戶分桶,將用戶分成實(shí)驗(yàn)組和對(duì)照組,對(duì)實(shí)驗(yàn)組用戶用新模型,對(duì)對(duì)照組用戶用舊模型。分桶要保證樣本的獨(dú)立性和采樣方式的無偏性

5、模型評(píng)估的方法

  1. Holdout檢驗(yàn):最簡(jiǎn)單直接的檢驗(yàn)方法,它將原始樣本數(shù)據(jù)集隨機(jī)劃分成訓(xùn)練集和測(cè)試集。
    缺點(diǎn):驗(yàn)證集上計(jì)算出來的最后評(píng)估指標(biāo)原始分組有很大關(guān)系。
  2. 交叉檢驗(yàn):為了消除Holdout的隨機(jī)性,則有了交叉驗(yàn)證。
  • k-fold交叉驗(yàn)證:將全部樣本分成k個(gè)大小相等的樣本子集,拿出其中一個(gè)子集作為驗(yàn)證集,其余k-1個(gè)子集作為訓(xùn)練集,依次遍歷。通常把k次評(píng)估指標(biāo)的平均值作為最終的評(píng)估指標(biāo)。實(shí)際試驗(yàn)中,k經(jīng)常取10。
  • 留一驗(yàn)證:每次留下一個(gè)樣本作為驗(yàn)證集,其余所有樣本作為測(cè)試集,進(jìn)行n次驗(yàn)證,再將評(píng)估指標(biāo)求平均值得到最終的評(píng)估指標(biāo)。(n個(gè)值的平均)
    留一驗(yàn)證缺點(diǎn):在樣本總數(shù)較多的情況下,時(shí)間開銷極大。留一驗(yàn)證是留p驗(yàn)證的特例,但從n個(gè)元素中選擇p個(gè)元素有C_n^p種可能,時(shí)間開銷比留一驗(yàn)證更多,在實(shí)際工程很少應(yīng)用。
  1. 自助法:Holdout和交叉驗(yàn)證都是基于數(shù)據(jù)集的劃分,但是當(dāng)樣本規(guī)模較小時(shí),將樣本集進(jìn)行劃分會(huì)讓訓(xùn)練集進(jìn)一步減小,可能影響模型的訓(xùn)練效果。自助法是基于自助采樣的檢驗(yàn)方法,對(duì)于總數(shù)為n的樣本集合,有放回地隨機(jī)抽樣n次,得到大小為n的訓(xùn)練集。其中有的樣本會(huì)重復(fù),有的樣本沒有被抽出過,將沒有被抽出的樣本作為驗(yàn)證集進(jìn)行驗(yàn)證,就是自助法的驗(yàn)證過程。當(dāng)樣本數(shù)很大時(shí),大約有1/e=36.8%的樣本從來沒有被采樣過,這里的計(jì)算用到高數(shù)中的重要極限。

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

  1. 超參數(shù)搜索算法包括的幾個(gè)要素:
  • 目標(biāo)函數(shù),即算法需要最大化/最小化的目標(biāo)。
  • 搜索范圍,一般通過上限和下限來確定。
  • 算法的其他參數(shù),如搜索步長(zhǎng)。
  1. 超參數(shù)調(diào)優(yōu)方法有:
  • 網(wǎng)格搜索:最簡(jiǎn)單、應(yīng)用最廣泛的超參數(shù)搜索算法。通過查找搜索范圍內(nèi)所有的點(diǎn)來確定最優(yōu)值。
    優(yōu)點(diǎn):如果采用較大的搜索范圍以及較小的補(bǔ)償,則很大概率能找到全局最優(yōu)值
    缺點(diǎn):十分消耗資源和時(shí)間,特別是需要調(diào)優(yōu)的超參數(shù)比較多的時(shí)候。
    實(shí)際應(yīng)用中會(huì)先使用較大的搜索范圍和較大的搜索步長(zhǎng),尋找全局最優(yōu)值可能的位置,然后逐漸縮小搜索范圍和步長(zhǎng)來尋找更精確的最優(yōu)值。優(yōu)點(diǎn)是可以降低所需時(shí)間和計(jì)算量,缺點(diǎn)是目標(biāo)函數(shù)一般是非凸的,可能會(huì)錯(cuò)過全局最優(yōu)值。
  • 隨機(jī)搜索:隨機(jī)搜索不再測(cè)試上界和下界之間的所有值,而是在搜索范圍內(nèi)隨機(jī)選取樣本點(diǎn)。其理論依據(jù)是,如果樣本足夠多,那么隨機(jī)采樣也能大概率找到全局最優(yōu)值,或其近似值。
    優(yōu)點(diǎn):比網(wǎng)格搜索快。
    缺點(diǎn):并不能保證找到全局最優(yōu)值。
    注:隨機(jī)搜索有非常多種優(yōu)化方法,如爬山算法、模擬退火(Simulated Annealing,SA)、遺傳算法(Genetic Algorithm,GA)等。
  • 貝葉斯優(yōu)化算法
    網(wǎng)格搜索和隨機(jī)搜索在測(cè)試新點(diǎn)時(shí)會(huì)忽略前一個(gè)點(diǎn)的信息,而貝葉斯優(yōu)化算法充分利用了之前的信息,通過對(duì)目標(biāo)函數(shù)形狀進(jìn)行學(xué)習(xí),找到使目標(biāo)函數(shù)向全局最優(yōu)值提升的參數(shù)。
    貝葉斯優(yōu)化算法學(xué)習(xí)目標(biāo)函數(shù)形狀的方法:首先,根據(jù)先驗(yàn)分布,假設(shè)一個(gè)搜集函數(shù);然后,每一次使用新的采樣點(diǎn)來測(cè)試目標(biāo)函數(shù)時(shí),利用這個(gè)信息來更新目標(biāo)函數(shù)的先驗(yàn)分布;最后,算法測(cè)試由后驗(yàn)分布給出全局最優(yōu)值可能出現(xiàn)的位置。
    優(yōu)點(diǎn):比網(wǎng)格搜索、隨機(jī)搜索更高效
    缺點(diǎn):貝葉斯優(yōu)化算法一旦找到了一個(gè)局部最優(yōu)值,會(huì)在該區(qū)域不斷采樣,很容易陷入局部最優(yōu)
    為了彌補(bǔ)貝葉斯優(yōu)化的的缺陷,需要在搜索和利用之間找到一個(gè)平衡點(diǎn),“搜索”即是在未取樣的區(qū)域獲取采樣點(diǎn),“利用”則是根據(jù)后驗(yàn)分布在最可能出現(xiàn)全局最優(yōu)值的區(qū)域進(jìn)行采樣。

7、過擬合與欠擬合

  1. 過擬合:模型對(duì)訓(xùn)練數(shù)據(jù)擬合過當(dāng)。如模型過于復(fù)雜,把噪聲數(shù)據(jù)的特征也學(xué)習(xí)到模型中,導(dǎo)致模型泛化能力下降。反映到評(píng)估指標(biāo)上,就是模型在訓(xùn)練集上表現(xiàn)很好,但測(cè)試集和新數(shù)據(jù)上表現(xiàn)較差。
  2. 欠擬合:模型沒有很好地捕捉到數(shù)據(jù)的特征,不能很好地?cái)M合數(shù)據(jù)。反映到評(píng)估指標(biāo)上,就是模型訓(xùn)練和預(yù)測(cè)表現(xiàn)都不好。
  3. 降低過擬合風(fēng)險(xiǎn)的方法:
  • 從數(shù)據(jù)入手:獲得更多的訓(xùn)練數(shù)據(jù),更多的訓(xùn)練數(shù)據(jù)是解決過擬合最有效的手段。一般實(shí)驗(yàn)數(shù)據(jù)有限,可以通過一定的規(guī)則來擴(kuò)充訓(xùn)練集,如圖像分類中可以用數(shù)據(jù)增強(qiáng),用GAN來合成大量的新訓(xùn)練數(shù)據(jù)。
  • 降低模型復(fù)雜度。數(shù)據(jù)較少時(shí),模型過于復(fù)雜是產(chǎn)生過擬合的主要因素,適當(dāng)降低模型復(fù)雜度可以避免模型擬合過多的采樣噪聲。例如神經(jīng)網(wǎng)絡(luò)模型中減少網(wǎng)絡(luò)層數(shù)神經(jīng)元個(gè)數(shù)等;決策樹模型中降低樹的深度、進(jìn)行剪枝等。
  • 正則化方法。給模型的參數(shù)加上一定的正則約束,例如將權(quán)值的大小加入到損失函數(shù)中,如L1/L2正則化。
  • 集成學(xué)習(xí)方法。將多個(gè)模型集成在一起,來降低單一模型的過擬合風(fēng)險(xiǎn),如Bagging方法。
  1. 降低欠擬合風(fēng)險(xiǎn)的方法:
  • 添加新特征。當(dāng)特征不足或者現(xiàn)有特征與樣本標(biāo)簽的相關(guān)性不強(qiáng)時(shí),模型容易出現(xiàn)欠擬合。通過挖掘“上下文特征”“ID類特征”“組合特征”等新特征,往往能取得更好的效果。在深度學(xué)習(xí)潮流中,由很多模型可以幫助完成特征工程,如因子分解機(jī)梯度提升決策樹Deep-crossing等都可以成為豐富特征的方法。
  • 增加模型復(fù)雜度。例如在線性模型中添加高次項(xiàng),在神經(jīng)網(wǎng)絡(luò)模型中增加網(wǎng)絡(luò)層數(shù)或神經(jīng)元個(gè)數(shù)等。
  • 減小正則化系數(shù)。正則化是用來防止過擬合的,但當(dāng)模型出現(xiàn)欠擬合現(xiàn)象時(shí),需要有針對(duì)性地減少正則化系數(shù)。

小結(jié)

本節(jié)關(guān)于模型評(píng)估也講得非常清楚,除了一些之前就了解過的知識(shí)點(diǎn)之外,這節(jié)主要學(xué)到了余弦距離不滿足三角不等式,以及關(guān)于A/B測(cè)試的知識(shí)。

結(jié)尾

如果您發(fā)現(xiàn)我的文章有任何錯(cuò)誤,或?qū)ξ业奈恼掠惺裁春玫慕ㄗh,請(qǐng)聯(lián)系我!如果您喜歡我的文章,請(qǐng)點(diǎn)喜歡~*我是藍(lán)白絳,感謝你的閱讀!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,882評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,208評(píng)論 3 414
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,746評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,666評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,477評(píng)論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,960評(píng)論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,047評(píng)論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,200評(píng)論 0 288
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,726評(píng)論 1 333
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,617評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,807評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,327評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,049評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,425評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,674評(píng)論 1 281
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,432評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,769評(píng)論 2 372

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