【机器学习基础】机器学习模型的度量选择(上)
作者 | Alvira Swalin?
編譯 | VK?
來源 | Medium
第一部分主要討論回歸度量
在后現(xiàn)代主義的世界里,相對主義以各種各樣的形式,一直是最受歡迎和最受詬病的哲學(xué)學(xué)說之一。相對主義認(rèn)為,沒有普遍和客觀的真理,而是每個觀點都有自己的真理。
在這篇文章中,我將根據(jù)目標(biāo)和我們試圖解決的問題來討論每個錯誤度量的用處。當(dāng)有人告訴你“美國是最好的國家”時,你應(yīng)該問的第一個問題是,這種說法是基于什么。我們是根據(jù)每個國家的經(jīng)濟(jì)狀況,還是根據(jù)它們的衛(wèi)生設(shè)施等來判斷它們?
類似地,每個機(jī)器學(xué)習(xí)模型都試圖使用不同的數(shù)據(jù)集來解決目標(biāo)不同的問題,因此,在選擇度量標(biāo)準(zhǔn)之前了解背景是很重要的。
最常用的度量
在第一篇博客中,我們將只討論回歸中的度量。
回歸度量
大多數(shù)博客都關(guān)注分類指標(biāo),比如精確性、召回率、AUC等。為了改變這一點,我想探索各種指標(biāo),包括回歸中使用的指標(biāo)。MAE和RMSE是連續(xù)變量最常用的兩種度量方法。
RMSE(均方根誤差)
它表示預(yù)測值和觀測值之間差異的樣本標(biāo)準(zhǔn)差(稱為殘差)。從數(shù)學(xué)上講,它是使用以下公式計算的:
MAE
MAE是預(yù)測值和觀測值之間絕對差的平均值。MAE是一個線性分?jǐn)?shù),這意味著所有的個體差異在平均值中的權(quán)重相等。例如,10和0之間的差是5和0之間的差的兩倍。然而,RMSE的情況并非如此,我們將進(jìn)一步詳細(xì)討論。從數(shù)學(xué)上講,MAE是使用以下公式計算的:
你應(yīng)該選哪一個?為什么?
好吧,理解和解釋MAE是很容易的,因為它直接取偏移量的平均值。與此對比,RMSE比MAE懲罰更高的差異。
讓我們用兩個例子來理解上面的陳述:
案例1:實際值=[2,4,6,8],預(yù)測值=[4,6,8,10]
案例2:實際值=[2,4,6,8],預(yù)測值=[4,6,8,12]
「案例1的MAE=2,案例1的RMSE=2」
「病例2的MAE=2.5,病例2的RMSE=2.65」
從上面的例子中,我們可以看到RMSE比MAE對最后一個值預(yù)測的懲罰更重。通常,RMSE的懲罰高于或等于MAE。它等于MAE的唯一情況是當(dāng)所有的差異都等于或為零(在情況1中,所有觀測值的實際和預(yù)測之間的差異都為2)。
然而,即使在更為復(fù)雜和偏向于更高的偏差之后,RMSE仍然是許多模型的默認(rèn)度量,因為用RMSE定義的損失函數(shù)是光滑可微的,并且更容易執(zhí)行數(shù)學(xué)運算。
雖然這聽起來不太令人愉快,但這是一個非常重要的原因,使它非常受歡迎。我將試著用數(shù)學(xué)的方法解釋上面的邏輯。
讓我們在一個變量中建立一個簡單的線性模型:y=mx+b
在這里,我們試圖找到“m”和“b”,我們有數(shù)據(jù)(x,y)。
如果我們用RMSE定義損失函數(shù)(J):那么我們可以很容易得到m和b的梯度(使用梯度下降的工作原理)
上述方程的求解比較簡單,但是卻不適用于MAE。
然而,如果你只想從解釋的角度比較兩個模型,那么我認(rèn)為MAE是一個更好的選擇。需要注意的是,RMSE和MAE的單位都與y值相同,因為RMSE的公式進(jìn)行了開根操作。RMSE和MAE的范圍是從0到無窮大。
?「注意」:MAE和RMSE之間的一個重要區(qū)別是,最小化一組數(shù)字上的平方誤差會得到平均值,最小化絕對誤差會得到中值。這就是為什么MAE對異常值是健壯的,而RMSE不是。
?R方(R^2)與調(diào)整R方
R方與調(diào)整R方通常用于解釋目的,并解釋所選自變量如何很好地解釋因變量的可變性。
從數(shù)學(xué)上講,R方由以下公式給出:
分子是MSE(殘差平方的平均值),分母是Y值的方差。MSE越高,R方越小,模型越差。
調(diào)整R方
與R方一樣,調(diào)整R方還顯示了曲線或直線的擬合程度,但會根據(jù)模型中項的變化進(jìn)行調(diào)整。公式如下:
其中n是樣本總數(shù),k是變量數(shù)。調(diào)整R方始終小于或等于R方
為什么要選擇調(diào)整R方而不是R方
常規(guī)的R方存在一些問題,可以通過調(diào)整R方來解決。調(diào)整R方將考慮模型中附加項所增加的邊際改進(jìn)。所以如果你加上有用的數(shù)據(jù),它會增加,如果你加上不那么有用的變量,它會減少。
然而,R方會隨著數(shù)據(jù)的增加而增加,但是模型并沒有任何改進(jìn)。用一個例子來理解這一點會更容易。
這里,情況1是一個簡單的情況,我們有5個(x,y)的觀測值。在案例2中,我們還有一個變量,它是變量1的兩倍(與var 1完全相關(guān))。在案例3中,我們在var2中產(chǎn)生了一個輕微的擾動,使得它不再與var1完全相關(guān)。
因此,如果我們?yōu)槊恳环N情況擬合簡單的普通最小二乘(OLS)模型,那么在邏輯上,我們就不會為情況2和情況3提供關(guān)于情況1的任何額外或有用的信息。因此,我們的度量值在這些模型上不應(yīng)該增加。對于情況2和情況3,R方會增加或與之前相等。調(diào)整R方可以解決這個問題,在情況2和情況3調(diào)整R方會減少。讓我們給這些變量(x,y)一些數(shù)字,看看Python中得到的結(jié)果。
?注:模型1和模型2的預(yù)測值都是相同的,因此,R方也將是相同的,因為它只取決于預(yù)測值和實際值。
?從上表中,我們可以看到,盡管我們沒有在案例1和案例2中添加任何附加信息,但R方仍在增加,而調(diào)整R方顯示出正確的趨勢(對更多變量的模型2進(jìn)行懲罰)
調(diào)整R方與RMSE的比較
對于上一個示例,我們將看到案例1和案例2的RMSE與R方類似。在這種情況下,調(diào)整后的R方比RMSE做得更好,RMSE的范圍僅限于比較預(yù)測值和實際值。
此外,RMSE的絕對值實際上并不能說明模型有多糟糕。它只能用于兩個模型之間的比較,而調(diào)整R方很容易做到這一點。例如,如果一個模型的調(diào)整R方為0.05,那么它肯定很差。
然而,如果你只關(guān)心預(yù)測的準(zhǔn)確性,那么RMSE是最好的。它計算簡單,易于微分,是大多數(shù)模型的默認(rèn)度量。
「常見的誤解是」:我經(jīng)常在網(wǎng)上看到R的范圍在0到1之間,這實際上不是真的。R方的最大值為1,但最小值可以為負(fù)無窮大。考慮這樣一種情況,即模型預(yù)測所有觀測值的高度負(fù)值,即使y的實際值為正值。在這種情況下,R方將小于0。這是極不可能的情況,但這種可能性仍然存在。
NLP中的一個度量
如果你對NLP感興趣,這里有一個有趣的度量。
BLEU
它主要用于衡量機(jī)器翻譯相對于人工翻譯的質(zhì)量。它使用一種改進(jìn)的精度度量形式。
計算BLEU分?jǐn)?shù)的步驟:
將句子轉(zhuǎn)換成單元、雙元、三元和四元(unigrams, bigrams, trigrams, and 4-grams)
對于大小為1到4的n-gram計算精度
取所有這些精度值的加權(quán)平均值的指數(shù)
乘以簡短的懲罰(稍后解釋)
這里BP是簡潔性懲罰,r和c是參考詞和候選詞的個數(shù),w是權(quán)重,P是精度值
例子:
參考翻譯:The cat is sitting on the mat
機(jī)器翻譯1:On the mat is a cat
機(jī)器翻譯2:There is cat sitting cat
讓我們把以上兩個譯文計算BLEU分?jǐn)?shù)進(jìn)行比較。
我用的是nltk.translate.bleu
最終結(jié)果:BLEU(MT1)=0.454,BLEU(MT2)=0.59
為什么我們要加上簡潔性懲罰?
簡潔性懲罰懲罰候選短于他們的參考翻譯。例如,如果候選是“The cat”,那么它對于unigram和bigram將具有高精度,因為這兩個詞在參考翻譯中也是以相同的順序出現(xiàn)。然而,長度太短,并沒有真正反映出實際意義。
有了這個簡短性懲罰,高分的候選譯文現(xiàn)在必須在長度、單詞和單詞順序方面與參考匹配。
原文鏈接:https://medium.com/usf-msds/choosing-the-right-metric-for-machine-learning-models-part-1-a99d7d7414e4
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊深度學(xué)習(xí)筆記專輯《統(tǒng)計學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載機(jī)器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)專輯獲取一折本站知識星球優(yōu)惠券,復(fù)制鏈接直接打開:https://t.zsxq.com/yFQV7am本站qq群1003271085。加入微信群請掃碼進(jìn)群:總結(jié)
以上是生活随笔為你收集整理的【机器学习基础】机器学习模型的度量选择(上)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【论文解读】深度学习网络架构新视角:通过
- 下一篇: 【Python基础】Matplotlib