評價指標的局限性、ROC曲線、余弦距離、A/B測試、模型評估的方法、超參數調優、過擬合與欠擬合


1.評價指標的局限性

問題1 准確性的局限性

准確率是分類問題中最簡單也是最直觀的評價指標,但存在明顯的缺陷。比如,當負樣本占99%時,分類器把所有樣本都預測為負樣本也可以獲得99%的准確率。所以,當不同類別的樣本比例非常不均衡時,占比大的類別往往成為影響准確率的最主要因素。

例子:Hulu的奢侈品廣告主希望把廣告定向投放給奢侈品用戶。Hulu通過第三方的數據管理平台拿到了一部分奢侈品用戶的數據,並以此為訓練集和測試集,訓練和測試奢侈品用戶的分類模型,該模型的分類准確率超過了95%,但在實際廣告投放過程中,該模型還是把大部分廣告投給了非奢侈品用戶,這可能是什么原因造成的?

解決方法:可以使用平均准確率(每個類別下的樣本准確率的算術平均)作為模型評估的指標;也可能是其他問題:過擬合或欠擬合、測試集和訓練集不合理、線下評估和線上測試的樣本分布存在差異。

 

問題2 精確率與召回率的權衡

精確率=分類正確的正樣本個數/分類器判定為正樣本的樣本個數  所有推薦了的新聞中該推薦的新聞的比例。 比如,推薦了10篇新聞,其中8篇是應該推薦的

召回率=分類正確的正樣本個數/真正的正樣本的樣本個數  所有應該推薦的新聞中實際推薦了的新聞的比例。比如應該推薦10篇感興趣的新聞,只推薦了其中的8篇。

 

要平衡精確率和召回率,可以調節區分正負類別的概率臨界值。 為提高精確率,可以提高概率臨界值,使得正類別的判斷更加保守;為了提高召回率,可以降低概率臨界值,以增加正類別的數量

 

例子:Hulu提供視頻的模糊搜索功能,搜索排序模型返回的Top5的精確率非常高,但在實際使用過程中,用戶還是經常找不到想要的視頻,特別是一些比較冷門的劇集,這可能是哪個環節出了問題呢?分類器需要盡量在“更有把握”時才把樣本預測為正樣本,但此時往往會因為過於保守而漏掉很多“沒有把握”的正樣本,導致Recall值降低。

解決方法:用P-R曲線,橫軸是召回率,縱軸是精確率。對於一個排序模型來說,其P-R曲線上的一個點代表着,在某一個閾值下,模型將大於該閾值的結果判定為正樣本,小於該閾值的結果判定為負樣本

建議做搜索:保證召回的情況下提升准確率;做疾病監測、反垃圾:保證准確率的條件下,提升召回率

 

問題3 平方根誤差的“意外”

例子:Hulu作為一家流媒體公司,擁有眾多的美劇資源,預測每部美劇的流量趨勢對於廣告投放、用戶增長都非常重要,我們希望構建一個回歸模型來預測某部美劇的流量趨勢,但無論采用哪種回歸模型,得到的RMSE指標都非常高。然而事實是,模型在95%的時間區間內的預測誤差都小於1%,取得了相當不錯的預測結果。那么,造成RMSE指標居高不下的最可能原因是什么?

原因分析:在實際情況中,如果存在個別偏離程度非常大的離群點,即使離群點數量非常少,也會讓RMSE指標變得很差。回到問題中,模型在95%的時間區間內的預測誤差都小於1%,這說明,在大部分時間區間內,模型的

預測效果都是 非常優秀的,然而,RMSE卻一直很差,這很可能是由於在其他的5%時間區間存在非常嚴重的離群點。事實上,在流量預估這個問題中,噪聲點確實是很容易產生的,比如流量特別小的美劇、剛上映的美劇或者

剛獲獎的美劇,甚至一些相關社交媒體突發事件帶來的流量,都看會造成離群點。

解決方法:

1)如果我們認定這些離群點是“噪聲點”的話,就需要在數據預處理的階段把這些噪聲點過濾掉;

2)如果不讓我這些離群點是“噪聲點”,就需要進一步提高模型的預測能力,將離群點產生的機制建模進去;

3)找一個更合適的指標來評估該模型。關於評估指標,其實是存在比RMSE的魯棒性更好的指標,比如平均絕對百分誤差MAPE(mean absolute percent error),相比於RMSE,MAPE相當於把每個點的誤差進行了歸一化,降低了

個別離群點帶來的絕對誤差的影響。


 

2.ROC曲線

問題1:什么是ROC曲線?

  ROC曲線是Receiver operating characteristic curve的簡稱,中文名為“受試者工作特征曲線”。ROC曲線源於軍事領域,橫坐標為假陽性率(False positive rate,FPR),縱坐標為真陽性率(True positive rate,TPR).

假陽性率 FPR = FP/N ---N個負樣本中被判斷為正樣本的個數占真實的負樣本的個數 

真陽性率 TPR = TP/P ---P個正樣本中被預測為正樣本的個數占真實的正樣本的個數

問題2:如何繪制ROC曲線?

  ROC曲線是通過不斷移動分類器的“截斷點”來生成曲線上的一組關鍵點的,“截斷點”指的就是區分正負預測結果的閾值。

  通過動態地調整截斷點,從最高的得分開始,逐漸調整到最低得分,每一個截斷點都會對應一個FPR和TPR,在ROC圖上繪制出每個截斷點對應的位置,再連接所有點就得到最終的ROC曲線。

 

問題3:如何計算AUC?

  AUC指的是ROC曲線下的面積大小,該值能夠量化地反映基於ROC曲線衡量出的模型性能。由於ROC曲線一般都處於y=x這條直線的上方(如果不是的話,只要把模型預測的概率反轉成1-p就可以得到一個更好的分類器),所以AUC的取值一般在0.5-1之間。AUC越大,說明分類器越可能把真正的正樣本排在前面,分類性能越好。

 

問題4:ROC曲線相比P-R曲線有什么特點?

  當正負樣本的分布發生變化時,ROC曲線的形狀能夠基本保持不變,而P-R曲線的形狀一般會發生較劇烈的變化。ROC能夠盡量降低不同測試集帶來的干擾,更加客觀的衡量模型本身的性能。如果研究者希望更多地看到模型在特定數據集上的表現,P-R曲線能夠更直觀地反映其性能。


 

3.余弦距離的應用

問題1:結合你的學習和研究經歷,探討為什么在一些場景中要使用余弦相似度而不是歐氏距離?

余弦相似度在高維情況下依然保持“相同時為1,正交時為0,相反時為-1”的性質,而歐式距離的數值則受維度影響,並且含義也比較模糊。

總體來說,歐氏距離體現數值上的絕對差異,而余弦距離體現方向上的相對差異

例子:統計兩部劇的用戶觀看行為,用戶A的觀看向量為(0,1),用戶B為(1,0);此時兩者的余弦距離很大,而歐氏距離很小;我們分析兩個用戶對不同視頻的偏好,更關注相對差異,顯然應當使用余弦距離;而我們分析用戶活躍度,以登錄次數和平均觀看時長作為特征時,余弦距離會認為(1,10)和(10,100)兩個用戶距離很近;但顯然這兩個用戶活躍度是有着極大差異的,此時我們更關注數值絕對誤差,應當使用歐式距離。

 

問題2:余弦距離是否是一個嚴格定義的距離?

距離需滿足三條性質:正定性、對稱性、三角不等式;

余弦距離滿足正定性和對稱性,但是不滿足三角不等式,因此它不是嚴格意義上的距離。

正定性證明dist(A,B)>0;

對稱性證明dist(A,B)=dist(B,A)

三角不等式證明dist(A,C)+dist(C,B) >= dist(A,B)

例子:在通過影視語料庫訓練出的詞向量中,comedy和funny,funny和happy的余弦距離都很近,小於0.3,然而comedy和happy的余弦距離卻高達0.7.這一現象明顯不符合距離的定義。

在機器學習領域中,KL距離也叫相對熵,常用於計算兩個分布之間的差異,但不滿足對稱性和三角不等式。


 

4.A/B測試的陷阱

問題1:在對模型進行充分的離線評估之后,為什么還要進行在線A/B測試?

原因:(1)離線評估無法完全消除模型過擬合的影響;

(2)離線評估無法完全還原線上的工程環境;

(3)線上系統的某些商業指標在離線評估中無法計算。 

 

問題2:如何進行線上A/B測試?

進行用戶分桶,即將用戶分成實驗組和對照組,對實驗組的用戶施以新模型,對對照組的用戶施以舊模型,在分桶的過程中,要注意樣本的獨立性和采樣方式的無偏性,確保同一個用戶每次只能分到同一個桶中,在分桶過程中所選取的user_id需要是一個隨機數,這樣才能保證桶中的樣本是無偏的。 

 

問題3:如何划分實驗組和對照組?

例子:H公司的算法工程師們最近針對系統中的“美國用戶”研發了一套全新的視頻推薦模型A,而目前正在使用的針對全體用戶的推薦模型是B。在正式上線之前,工程師們希望通過A/B測試來驗證新推薦模型效果。

正確的做法是將所有美國用戶根據user_id個位數划分為試驗組合對照組,分別施以模型A和B,才能驗證模型A的效果。


 

5.模型評估的方法

問題1:在模型評估過程中,有哪些主要的驗證方法,它們的優缺點是什么?

(1)Holdout檢驗:

  直接將原始的樣本集合隨機划分成訓練集和驗證集兩部分。比方說,對於一個點擊量預測模型,我們把樣本按照70%~30%的比例分成兩部分,70%的樣本用於模型訓練;30%的樣本用於模型驗證,包括繪制ROC曲線、計算精確率和召回率等指標來評估模型性能;

  缺點:在驗證集上計算出來的最后評估指標與原始分組有很大的關系

(2)交叉驗證

  K-fold交叉驗證:首先將全部樣本划分成k個大小相等的樣本子集;一次遍歷這k個子集,每次把當前子集作為驗證集,其余所有子集作為訓練集,進行模型的訓練和評估;最后把k次評估指標的平均值作為最終的評估指標。在實驗中,k經常取10.

  留一驗證:每次留下一個樣本作為驗證集,其余所有樣本作為測試集。在樣本總數較多的情況下,留一驗證的時間開銷極大.

  留p驗證:每次留下p個樣本作為驗證集,而從n個元素中選擇p個元素有Cnp種可能,因此它的時間開銷更是遠遠高於留一驗證。

(3)自助法

   基於自助采樣法的校驗方法。對於總數為n的樣本集合,進行n次有放回的隨機抽樣,得到大小為n的訓練集。n次抽樣過程中,有的樣本會被重復采樣,有的樣本沒有被抽出過,將這些沒有被抽出的樣本作為驗證集,進行規模驗證。

問題2:在自助法的采樣過程中,對n個樣本進行n次自助抽樣,當n趨於無窮大時,最終有多少數據從未被選擇過?

   一個樣本在一次抽樣過程中未被抽中的概率為(1-1/n),n次抽樣均未被抽中的概率為(1-1/n)n,當n趨於無窮大時,概率為1/e,因此當樣本數很大時,大約有36.8%的樣本從未被選擇過,可作為驗證集。


 

6.超參數調優?

問題1:超參數有哪些調優方法?

(1)網格搜索

  通過查找搜索范圍內的所有的點來確定最優值。如果采用較大的搜索范圍以及較小的步長,網絡搜索有很大概率找到全局最優值。然而,這種搜索方案十分消耗計算資源和時間,特別是需要調優的超參數比較多的時候,因此,在實際應用中,網格搜索法一般會使用較廣的搜索范圍和步長,來尋找全局最優值可能的位置;然后會逐漸縮小搜索范圍和步長,來尋找更精確的最優值。這種方案可以降低所需的時間和計算量,但由於目標函數一般是非凸的,所以很可能會錯過全局最優值。

(2)隨機搜索

  理論依據是如果樣本集足夠大,那么通過隨機采樣也能大概率地找到全局最優值,或其近似值。隨機搜索一般會比網格搜索要快一些,但是和網格搜索的快速版一樣,它的結果也是沒法保證的。

(3)貝葉斯優化算法 

  網格搜索和隨機搜索在測試一個新點時,會忽略前一個點的信息;而貝葉斯優化算法則充分利用了之前的信息。貝葉斯優化算法通過對目標函數形狀進行學習,找到使目標函數向全局最優值提升的函數。具體來說,它學習目標函數形狀的方法是,首先根據先驗分布,假設一個搜集函數;然后,每一次使用新的采樣點來測試目標函數時,利用一個這個信息來更新目標函數的先驗分布;最后,算法測試由后驗分布給出的全局最值最可能出現的位置的點。

  對於貝葉斯優化算法,需要注意的是,一旦找到了一個局部最優值,它會在該區域不斷采樣,所以很容易陷入局部最優值。為了彌補這個缺陷,貝葉斯優化算法會在搜索和利用之間找到一個平衡點,“搜索”就是在還未取樣的區域獲取采樣點;而“利用”則是根據后驗分布在最可能出現全局最值的區域進行采樣。


 

7.過擬合與欠擬合

問題1:在模型評估過程中,過擬合和欠擬合具體是指什么現象?

過擬合是指模型對於訓練數據擬合呈過當的情況,反映到評估指標上,就是模型在訓練集上的表現很好,但在測試集和新數據上的表現較差;

欠擬合指的是模型在訓練和預測時表現到不好的情況。

 

問題2:能否說出幾種降低過擬合和欠擬合風險的方法?

降低“過擬合”的方法:

(1)獲得更多的訓練數據

(2)降低模型復雜度

(3)正則化方法

(4)集成學習方法

降低“欠擬合”風險的方法:

(1)添加新特征

(2)增加模型復雜度

(3)減小正則化系數

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM