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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

[机器学习] 深入理解 目标函数,损失函数和代价函数

發布時間:2023/12/14 编程问答 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [机器学习] 深入理解 目标函数,损失函数和代价函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目標函數,損失函數和代價函數

基本概念:

損失函數:計算的是一個樣本的誤差

代價函數:是整個訓練集上所有樣本誤差的平均

目標函數:代價函數 + 正則化項

通常機器學習每一個算法中都會有一個目標函數,算法的求解過程是通過對這個目標函數優化的過程。在分類或者回歸問題中,通常使用損失函數(代價函數)作為其目標函數。損失函數用來評價模型的預測值和真實值不一樣的程度,損失函數越好,通常模型的性能越好。不同的算法使用的損失函數不一樣。

實際應用:

損失函數和代價函數是同一個東西,目標函數是一個與他們相關但更廣的概念,舉例說明:

我們給定x,這三個函數都會輸出一個f(X),這個輸出的f(X)與真實值Y可能是相同的,也可能是不同的,為了表示我們擬合的好壞,我們就用一個函數來度量擬合的程度。這個函數就稱為損失函數(loss function),或者叫代價函數(cost function)。

損失函數越小,就代表模型擬合的越好。那是不是我們的目標就只是讓loss function越小越好呢?還不是。這個時候還有一個概念叫風險函數(risk function)。風險函數是損失函數的期望,這是由于我們輸入輸出的(X,Y)遵循一個聯合分布,但是這個聯合分布是未知的,所以無法計算。但是我們是有歷史數據的,就是我們的訓練集,f(X)關于訓練集的平均損失稱作經驗風險(empirical risk),所以我們的目標就是最小化經驗風險。

?

其中,前面的均值函數表示的是經驗風險函數,L代表的是損失函數,后面的ΦΦ是正則化項(regularizer)或者叫懲罰項(penalty term),它可以是L1,也可以是L2,或者其他的正則函數。整個式子表示的意思是找到使目標函數最小時的θθ值。下面主要列出幾種常見的損失函數。

過擬合(over-fitting)。為什么會造成這種結果?大白話說就是它的函數太復雜了,都有四次方了,這就引出了下面的概念,我們不僅要讓經驗風險最小化,還要讓結構風險最小化。

這個時候就定義了一個函數J(f),這個函數專門用來度量模型的復雜度,在機器學習中也叫正則化(regularization)。常用的有L1, L2范數。到這一步我們就可以說我們最終的優化函數是:?

損失函數(loss function)是用來估量你模型的預測值f(x)與真實值Y的不一致程度,它是一個非負實值函數,通常使用L(Y, f(x))來表示,損失函數越小,模型的魯棒性就越好。損失函數是經驗風險函數的核心部分,也是結構風險函數重要組成部分。模型的結構風險函數包括了經驗風險項和正則項,通常可以表示成如下式子:
?

即最優化經驗風險和結構風險,而這個函數就被稱為目標函數

?

?

常用損失函數

常見的損失誤差有五種:
1.? 鉸鏈損失(Hinge Loss):主要用于支持向量機(SVM) 中;
2. 交叉熵損失 (Cross Entropy Loss,Softmax Loss ):用于Logistic 回歸與Softmax 分類中;
3. 平方損失(Square Loss):主要是最小二乘法(OLS)中;
4. 指數損失(Exponential Loss) :主要用于Adaboost 集成學習算法中;
5. 其他損失(如0-1損失,絕對值損失)

?

1 平方誤差損失函數

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

?

損失函數:


分類實例:

?

優點:容易優化(一階導數連續)

缺點:對outlier點很敏感(因為懲罰是指數增長的,左圖的兩個outlier將分類面強行拉到左邊,得不到最優的分類面)

?

2 Logit損失函數(Logistic 回歸)

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

損失函數:


優點:穩定的分類面,嚴格凸,且二階導數連續

?

3 Hinge損失函數(SVM)

minJ(w)=1n∑i=1nH(yif(xi,w)),whereH(t)={?t+10t<1t≥0


優點:穩定的分類面,凸函數。對分對的但又不是很對的樣本也進行懲罰(0-1之間),可以極大化分類間隔。

?

【問題】為什么不能用回歸的損失函數來處理分類的問題

例子:

上例中,紅圈中的樣本是被正確分類了,但是回歸損失函數還是會懲罰它們,而按照分類的觀點是不應該懲罰的。

分類 != 回歸

特例:1998年LeCun LeNet5 和 2016年的YOLO用回歸解決分類問題,是因為它們的特征特別強。

?

4. 指數損失函數

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

?

5 感知機損失函數(L1 margin cost)

?

損失函數:

minJ(w)=1n∑i=1nH(yif(xi,w)),whereH(t)={?t0t<0t≥0


在t=0處不連續,所以不可導,但是可以求次梯度(導數)。

?

優點:穩定的分類面,次梯度可導

缺點:二階不可導,有時候不存在唯一解

?

5 兩種正則化方法

L1正則化假設了模型的先驗概率分布服從拉普拉斯分布;L2正則化假設了模型的先驗概率分布服從高斯分布。

【問題】什么樣的損失函數是好的損失函數?

有明確的極大似然/后驗概率解釋,如果不滿足,則滿足以下幾條:

minJ(w)=1n∑i=1nH(yif(xi,w))+Ω(w)

?

  • H(t)
  • 梯度需要有界,魯棒性保障(反例:AdaBoost)
  • 將L1作為H(t)的漸近線,穩定的分類邊界(L1滿足最小誤分樣本數)
  • 大分類間隔,保障泛化性能
  • 選擇正確的正則化方式(一般默認L2)

Reference

1 次導數 次梯度 小結
http://blog.csdn.net/bitcarmanlee/article/details/51896348

2 集智公開課 https://jizhi.im/course/dl_theory/6

總結

以上是生活随笔為你收集整理的[机器学习] 深入理解 目标函数,损失函数和代价函数的全部內容,希望文章能夠幫你解決所遇到的問題。

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