課程總結(jié)04 - 損失函數(shù)、代價(jià)函數(shù)與目標(biāo)函數(shù)1001-課程總結(jié)
1 損失函數(shù)、代價(jià)函數(shù)和目標(biāo)函數(shù)>>機(jī)器學(xué)習(xí)中的目標(biāo)函數(shù)、損失函數(shù)、代價(jià)函數(shù)有什么區(qū)別?<< 1.1 損失函數(shù)與代價(jià)函數(shù) - The loss function computes the error for a single training example; the cost function is the average of the loss funcitons of the entire training set.
— — Andrew NG 根據(jù)NG的解釋可以得出結(jié)論:損失函數(shù)(loss function)是單個(gè)樣本的訓(xùn)練誤差,而代價(jià)函數(shù)(cost function)是所有樣本損失函數(shù)的期望。 1.2 基本概念損失函數(shù):計(jì)算的是一個(gè)樣本的誤差 代價(jià)函數(shù):是整個(gè)訓(xùn)練集上所有樣本誤差的平均 目標(biāo)函數(shù):代價(jià)函數(shù) + 正則化項(xiàng) 2 常見/不常見的代價(jià)函數(shù)2.1 常見的代價(jià)函數(shù)2.2 各代價(jià)函數(shù)的作用和使用場(chǎng)景2.2.1 MSE -- 均方誤差
2.2.2 RMSE--均方根誤差
2.2.2 MAE MSE誤差函數(shù)對(duì)噪聲點(diǎn)比較敏感,因?yàn)樵肼暤恼`差一般比較大,經(jīng)過平方后放大的倍數(shù)會(huì)影響模型的效果,此時(shí)可以選擇對(duì)噪聲不是非常敏感的MAE損失函數(shù)。2.2.3 Huber損失函數(shù)
- 是超參數(shù),可調(diào)
- 當(dāng)接近于0時(shí),Huber loss接近MAE
- 當(dāng)接近于時(shí),Huber loss接近MSE
2.2.4 Log-Cosh Loss
2.2.5 分位數(shù)損失函數(shù)基于Quantile回歸的目的是,在給定預(yù)測(cè)變量的某些值時(shí),估計(jì)因變量的條件“分位數(shù)”。Quantile Loss實(shí)際上只是MAE的擴(kuò)展形式(當(dāng)分位數(shù)是第50個(gè)百分位時(shí),Quantile Loss退化為MAE)。 2.3 各常見代價(jià)函數(shù)的優(yōu)缺點(diǎn) - 使用平方誤差更容易求解, 但使用絕對(duì)誤差對(duì)離群點(diǎn)更加魯棒;
- 當(dāng)數(shù)據(jù)存在離群點(diǎn)時(shí),以MSE為損失的模型會(huì)賦予更高的權(quán)重給離群點(diǎn);
- MAE損失適用于訓(xùn)練數(shù)據(jù)被離群點(diǎn)損壞的時(shí)候(即,在訓(xùn)練數(shù)據(jù)而非測(cè)試數(shù)據(jù)中,我們錯(cuò)誤地獲得了不切實(shí)際的過大正值或負(fù)值);
- 對(duì)所有的觀測(cè)數(shù)據(jù),如果我們只給一個(gè)預(yù)測(cè)結(jié)果來最小化MSE,那么該預(yù)測(cè)值應(yīng)該是所有目標(biāo)值的均值。但是如果我們?cè)噲D最小化MAE,那么這個(gè)預(yù)測(cè)就是所有目標(biāo)值的中位數(shù)。我們知道中位數(shù)對(duì)于離群點(diǎn)比平均值更魯棒,這使得MAE比MSE更加魯棒;
- 使用MAE損失(特別是對(duì)于神經(jīng)網(wǎng)絡(luò)) 的一個(gè)大問題是它的梯度始終是相同的,這意味著即使對(duì)于小的損失值,其梯度也是大的。這對(duì)模型的學(xué)習(xí)可不好。為了解決這個(gè)問題,我們可以使用隨著接近最小值而減小的動(dòng)態(tài)學(xué)習(xí)率。 MSE在這種情況下的表現(xiàn)很好, 即使采用固定的學(xué)習(xí)率也會(huì)收斂。 MSE損失的梯度在損失值較高時(shí)會(huì)比較大, 隨著損失接近0時(shí)而下降, 從而使其在訓(xùn)練結(jié)束時(shí)更加精確。
- 如果離群點(diǎn)是會(huì)影響業(yè)務(wù)、而且是應(yīng)該被檢測(cè)到的異常值,那么我們應(yīng)該使用MSE。如果我們認(rèn)為離群點(diǎn)僅僅代表數(shù)據(jù)損壞, 那么我們應(yīng)該選擇MAE作為損失。
- L1損失對(duì)異常值更加穩(wěn)健,但其導(dǎo)數(shù)并不連續(xù),因此求解效率很低。L2損失對(duì)異常值敏感,但給出了更穩(wěn)定的閉式解(closed form solution)(通過將其導(dǎo)數(shù)設(shè)置為0);
- 兩種損失函數(shù)的問題:可能會(huì)出現(xiàn)這樣的情況,即任何一種損失函數(shù)都不能給出理想的預(yù)測(cè)。例如,如果我們數(shù)據(jù)中90%的觀測(cè)數(shù)據(jù)的真實(shí)目標(biāo)值是150,其余10%的真實(shí)目標(biāo)值在0-30之間。那么,一個(gè)以MAE為損失的模型可能對(duì)所有觀測(cè)數(shù)據(jù)都預(yù)測(cè)為150,而忽略10%的離群情況,因?yàn)樗鼤?huì)嘗試去接近中值。同樣地,以MSE為損失的模型會(huì)給出許多范圍在0到30的預(yù)測(cè),因?yàn)樗浑x群點(diǎn)弄糊涂了。這兩種結(jié)果在許多業(yè)務(wù)中都是不可取的。
- Huber Loss對(duì)數(shù)據(jù)離群點(diǎn)的敏感度低于平方誤差損失。它在0處也可導(dǎo)?;旧纤墙^對(duì)誤差,當(dāng)誤差很小時(shí),誤差是二次形式的。誤差何時(shí)需要變成二次形式取決于一個(gè)超參數(shù), 該超參數(shù)可以進(jìn)行微調(diào)。的選擇非常重要,因?yàn)樗鼪Q定了你認(rèn)為什么數(shù)據(jù)是離群點(diǎn)。
- 使用MAE訓(xùn)練神經(jīng)網(wǎng)絡(luò)的一個(gè)大問題是經(jīng)常會(huì)遇到很大的梯度,使用梯度下降時(shí)可能導(dǎo)致訓(xùn)練結(jié)束時(shí)錯(cuò)過最小值。對(duì)于MSE,梯度會(huì)隨著損失接近最小值而降低,從而使其更加精確。在這種情況下,Huber Loss可能會(huì)非常有用,因?yàn)樗鼤?huì)使最小值附近彎曲,從而降低梯度。另外它比MSE對(duì)異常值更魯棒。因此,它結(jié)合了MSE和MAE的優(yōu)良特性。但是,Huber Loss的問題是我們可能需要迭代地訓(xùn)練超參數(shù)delta。
- 優(yōu)點(diǎn): log(cosh(x))對(duì)于小的x來說,其大約等于 (x ** 2)/2,而對(duì)于大的x來說,其大約等于 abs(x) - log(2)。 這意味著'logcosh'的作用大部分與均方誤差一樣,但不會(huì)受到偶爾出現(xiàn)的極端不正確預(yù)測(cè)的強(qiáng)烈影響。它具有Huber Loss的所有優(yōu)點(diǎn),和Huber Loss不同之處在于,其處處二次可導(dǎo)。
3 各種算法的損失函數(shù)>>機(jī)器學(xué)習(xí)-損失函數(shù)<< 3.1 邏輯回歸雖然名字里包含“回歸”,但是實(shí)際上卻是一種分類學(xué)習(xí)方法。 3.1.1 優(yōu)點(diǎn): - 1.直接對(duì)分類可能性進(jìn)行建模,無需事先假設(shè)數(shù)據(jù)分布,避免了假設(shè)分布不準(zhǔn)確的問題;
- 2.不是僅預(yù)測(cè)出“類別”,而是得到近似概率預(yù)測(cè),對(duì)于需要利用概率輔助預(yù)測(cè)的任務(wù)很有用;
- 3.對(duì)率函數(shù)任意階可到的凸函數(shù),很多數(shù)值化優(yōu)化算法都可以直接用于求解最優(yōu)解。
3.1.2 邏輯回歸模型3.1.1 代價(jià)函數(shù)
3.1.2 模型參數(shù)求解模型參數(shù)的求解方法之一:采用最大似然估計(jì)的對(duì)數(shù)形式(對(duì)數(shù)是單調(diào)函數(shù),求解參數(shù)的最大值,函數(shù)的對(duì)數(shù)和函數(shù)求出的最大值是一樣的)構(gòu)建函數(shù),再利用梯度下降來求解:
3.1.3 邏輯回歸多分類模型3.2 決策樹3.2.1 決策樹C4.5整體損失函數(shù)3.2.2 CART二叉樹-最小二乘回歸樹3.3 樸素貝葉斯3.3.1 樸素貝葉斯代價(jià)函數(shù)
3.3.2 樸素貝葉斯參數(shù)估計(jì)--極大似然估計(jì)3.4 KNN損失函數(shù)3.5 SVM損失函數(shù)-合頁(hinge)損失3.6 提升方法損失函數(shù)3.6.1 Adaboost
3.6.2 GBDT-梯度提升樹模型
|