日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习-常见的损失函数比较

發布時間:2025/3/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习-常见的损失函数比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ?

在機器學習每一個算法中都會有一個目標函數,算法的求解過程是通過對這個目標函數優化的過程。在分類或者回歸問題中,通常使用損失函數(代價函數)作為其目標函數。損失函數用來評價模型的預測值和真實值不一樣的程度,損失函數越好,通常模型的性能越好,不同的算法使用的損失函數不一樣。損失函數可以很好得反映模型與實際數據差距的工具,理解損失函數能夠更好得對后續優化工具(梯度下降等)進行分析與理解。在工業上很多時候遇到復雜的應用場景問題,其實最難的一關是如何寫出損失函數,即自定義損失函數

通常提到損失函數,我們不得不提到代價函數(Cost Function)及目標函數(Object Function)。

損失函數(Loss Function) 直接作用于單個樣本,用來表達樣本的誤差

代價函數(Cost Function)是整個樣本集的平均誤差,對所有損失函數值的平均

目標函數(Object Function)是我們最終要優化的函數,也就是代價函數+正則化函數(經驗風險+結構風險)

?

? ? ? ? ? ? ?? ? ? ??

我們給定輸入變量Size,記為 X,擬合目標Price,記為 Y,上面三個圖的函數依次為。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

這個函數就稱為損失函數(loss function),或者叫代價函數(cost function),損失函數越小,就代表模型擬合的越好

由于模型開發過程中輸入輸出是一個訓練集,每一條訓練數據都存在一個損失,那么針對于整個訓練集的平均損失,即代價函數(Cost Function),或者稱作經驗風險(empirical risk),如下:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

模型訓練的過程就是不斷的迭代以保證這個經驗風險函數的最小化。但是從上面的三個坐標圖所示,最后一個圖的經驗風險函數最小了,因為它對歷史的數據擬合的最好,但是在實際中,肯定不是最好的,因為它過度學習歷史數據,導致它在真正預測時效果會很不好,這種情況稱為過擬合(Over-Fitting),主要原因是第三個函數太復雜了,都有四次方了,這就引出了下面的概念,我們不僅要讓經驗風險最小化,還要讓結構風險最小化。

這個時候就需要定義了一個函數,這個函數專門用來度量模型的復雜度,在機器學習中也叫正則化(Regularization),常用的有L1,L2范數,最終的優化函數就變為:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

即最優化經驗風險和結構風險(代價函數+正則化函數),而這個函數就被稱為最終的目標函數

上面的例子來分析:最左面的結構風險最小(模型結構最簡單),但是經驗風險最大(對歷史數據擬合的最差),最右面的經驗風險最小(對歷史數據擬合的最好),但是結構風險最大(模型結構最復雜),中間的達到了二者的良好平衡,最適合用來預測未知數據集。

?

幾種常見的損失函數

0-1損失函數(0-1 Loss Function)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

平方損失函數(Quadratic Loss Function)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

絕對值損失函數(Absolute loss Function)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

對數損失函數(Logarithmic Loss Function)或者對數似然損失函數

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

如果是0-1損失函數(絕對值損失函數),感知機就是用的這種損失函數

如果是平方損失(Square loss),那就是最小二乘法,線性回歸; ?????????????? ?????

如果是對數損失(log-Loss),那就是邏輯回歸; ??

如果是鉸鏈損失(Hinge Loss),那就是著名的SVM了;

如果是指數損失(exp-Loss),那就是Boosting了;

?

1. 0-1損失函數和絕對值損失函數
? ? 0-1損失是指,預測值和目標值不相等為1,否則為0:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ?感知機就是用的這種損失函數。但是由于相等這個條件太過嚴格,因此我們可以放寬條件,即滿足?|Y?f(X)|<T|Y?f(X)|<T?時認為相等。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? 絕對值損失函數為:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

2. log對數損失函數
? ? 邏輯斯特回歸的損失函數就是對數損失函數,在邏輯斯特回歸的推導中,它假設樣本服從伯努利分布(0-1)分布,然后求得滿足該分布的似然函數,接著用對數求極值。邏輯斯特回歸并沒有求對數似然函數的最大值,而是把極大化當做一個思想,進而推導它的風險函數為最小化的負的似然函數。從損失函數的角度上,它就成為了log損失函數。
log損失函數的標準形式:?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? 在極大似然估計中,通常都是先取對數再求導,再找極值點,這樣做是方便計算極大似然估計。損失函數?是指樣本X在分類Y的情況下,使概率P(Y|X)達到最大值(利用已知的樣本分布,找到最大概率導致這種分布的參數值)。


3. 平方損失函數
? ? 最小二乘法是線性回歸的一種方法,它將回歸的問題轉化為了凸優化的問題。最小二乘法的基本原則是:最優擬合曲線應該使得所有點到回歸直線的距離和最小。通常用歐幾里得距離進行距離的度量。平方損失的損失函數為:? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

4. 指數損失函數
? ?AdaBoost就是一指數損失函數為損失函數的。
指數損失函數的標準形式:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

5. Hinge損失函數
? ? Hinge損失函數和SVM是息息相關的。在線性支持向量機中,最優化問題可以等價于

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

這個式子和如下的式子非常像:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

其中l(wxi+byi)l(wxi+byi)就是hinge損失函數,后面相當于L2正則項。
Hinge函數的標準形式:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

y是預測值,在-1到+1之間,t為目標值(-1或+1)。其含義為,y的值在-1和+1之間就可以了,并不鼓勵|y|>1|y|>1,即并不鼓勵分類器過度自信,讓某個正確分類的樣本的距離分割線超過1并不會有任何獎勵,從而使分類器可以更專注于整體的分類誤差。

?

總結

以上是生活随笔為你收集整理的机器学习-常见的损失函数比较的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。