機器學習中的目標函式 損失函式 代價函式有什麼區別?

時間 2021-05-05 20:41:03

1樓:zys

嚴謹來說是有區別的:「A loss function is a part of a cost function which is a type of an objective function.」

損失函式(loss function)通常針對單個樣本2. 代價函式(cost function)針對整個資料集,是所有樣本損失函式的總和/均值

3. 目標函式(objective function)可以指代任何待優化的函式

以下來自quora:

2樓:Evan

機器學習中的監督學習本質上是給定一系列訓練樣本,嘗試學習的對映關係,使得給定乙個,即便這個不在訓練樣本中,也能夠輸出,盡量與真實的接近。損失函式是用來估量模型的輸出與真實的之間的差距,給模型的優化指引方向。模型的結構風險包括了經驗風險和結構風險,損失函式是經驗風險函式的核心部分:

式中,前面的均值函式為經驗風險,為損失函式,後面的項為結構風險,衡量模型的複雜度

首先區分損失函式、代價函式和目標函式之間的區別和聯絡:

損失函式(Loss Function)通常是針對單個訓練樣本而言,給定乙個模型輸出和乙個真實值,損失函式輸出乙個實值損失,比如說:

線性回歸中的均方差損失:

SVM中的Hinge損失:

精確度定義中的0/1損失:

代價函式(Cost Function)通常是針對整個訓練集(或者在使用mini-batch gradient descent時的乙個mini-batch)的總損失,比如說:

均方誤差:

SVM的代價函式:

目標函式(Objective Function)通常是乙個更通用的術語,表示任意希望被優化的函式,用於機器學習領域和非機器學習領域(比如運籌優化),比如說,最大似然估計中似然函式是乙個優化的目標函式

一句話總結三者的關係就是:A loss function is a part of a cost function which is a type of an objective function

3樓:Lora

Loss function,cost function and objective functions, we kind of use interchangebly.

4樓:千佛山彭于晏

Loss Function 是定義在單個樣本上的,算的是乙個樣本的誤差。

Cost Function 是定義在整個訓練集上的,是所有樣本誤差的平均,也就是損失函式的平均。

Object Function(目標函式 )定義為:Cost Function + 正則化項。

5樓:Scruel

損失函式(Loss/Error Function): 計算單個訓練集的誤差

代價函式(Cost Function): 計算整個訓練集所有損失之和的平均值

目標函式(Objective function),字面一些,就是有某個(最優化)目標的函式,比如最優化這個目的。沒有找到定義,個人理解,目標函式是乙個大類,包含損失函式、代價函式;損失函式、代價函式,屬於目標函式。

李航《統計學習方法》一書中,損失函式與代價函式兩者為同一概念,未作細分區別,全書沒有和《深度學習》一書一樣混用,而是區分了目標函式和損失函式兩者。

吳恩達(Andrew Ng)老師在其公開課中對損失函式與代價函式兩者做了細分。如果要聽他的課做作業,不細分這兩個概念是會被打小手扣分的!這也可能是因為老師發現了業內混用的亂象,想要治一治吧。

綜上,在實際用的時候,不求嚴謹的情況下,可混用三者概念

但恩達老師也是煞費苦心了,個人覺得細分一下,有那麼一絲英文表達的力求精確之氣息。

綜合考慮,在本人的機器學習個人筆記中,會細分概念,有所謬誤,還請指正。

6樓:峰峰

依據吳恩達deep learning最新課程的描述,loss function針對的是單一樣本上的loss,而cost function則計算的是所有樣本的loss,可以理解為每個樣本loss function得出的結果加和再進行了平均。

7樓:賀勇

把最大化或者最小化的函式稱為目標函式,把需要最小化的函式稱為代價函式或者損失函式,因為我們的優化是最小化代價或者損失。也就是代價函式與損失函式也屬於目標函式,有些目標是最大化,那麼就不能叫做損失函式或者代價函式了。

8樓:黃曉越

我聽過有位老師說的loss函式和cost函式的區別:loss函式針對的是單個樣本,cost函式針對所有樣本的。比如神經網路裡求loss函式的變分就是得到乙個樣本扔進去使得目標函式最小化的權重,而求cost函式的變分就是得到所有樣本扔進去使得目標函式最小化的權重。

9樓:

目標函式是最終需要優化的函式,其中包括經驗損失和結構損失。

obj=loss+Ω

經驗損失(loss)就是傳說中的損失函式或者代價函式。結構損失(Ω)就是正則項之類的來控制模型複雜程度的函式。

10樓:金金都認不出我

每乙個演算法都有乙個目標函式(objective function),演算法就是讓這個目標函式達到最優。

對於分類的演算法,都會有對錯。

錯了就會有代價,或者說是損失。

分類演算法的目標就是讓它錯的最少,也就是代價最小。

所以對於分類演算法,它的目標函式就是代價函式(cost function),或者是損失函式(loss function)。

反正我是這麼理解的。

11樓:yunlaixu

[維基搬運工]知乎上搜到這個,感覺微亂,忽然想起維基,奮起而書之-_^

搜了三個詞條後,結論就是:1. loss function = objective function,雖然詞條中還提到一句目標函式或者是損失函式的相反值,在這種情況下目標函式需要求最大值 2.

在數學優化上loss function = cost function, 就是乙個待最小化的函式 3. cost function提到了在ANN中它用來評估效能,而loss function在統計學中通常用作引數優化,在分類和優化控制作為penalty

個人感覺還是微亂-_-,不過至少知道這三個名詞各有特色,在某些場合叫這個也行叫那個也行,在某些場合叫這個比較 『約定俗成』 ,所以,不要糾結【......好糾結+_+】

loss function:

cost function:

In economics, the cost curve, expressing production costs in terms of the amount produced.

In mathematical optimization, the loss function, a function to be minimized.

In artificial neural networks, the function to return a number representing how well the neural network performed to map training examples to correct output.

objective function: 直接重定向到了loss function

12樓:劉毅鵬

我個人理解是:損失函式/代價函式是對模型或者演算法的準確性的最直接的描述(對於二分類問題來說就是能不能正確分類的能力),而目標函式則是損失函式/代價函式的遞進,目標函式考慮的可能不僅僅有模型演算法的準確性,還可能要考慮模型的複雜度,可解釋度等等的問題(比如目標函式在損失函式的基礎之上加上各種正則項)。當然最簡單的情況就是目標函式和損失函式等價。

13樓:jiexin lin

贊同 @allenlew的回答,本質上任何能夠很好描述模型優劣並且能夠容易優化的函式都可以選為目標函式,只不過選擇損失函式/代價函式更符合邏輯推斷,因為他們的數學解釋性最直觀,而由此衍生的變體函式則完全出於優化過程的方便性考慮的。這部分建議精讀李航《統計學習方法》的第二章,對這一知識點的講解比周志華那本清晰

深度學習中如何選好啟用函式和損失函式?

雲程萬里 如果資料中的雜訊較強,可以考慮軟閾值函式 軟閾值函式的梯度要麼是零,要麼是一,跟ReLU啟用函式相似 問題在於,閾值 該怎麼取值呢?閾值 必須為正數,而且不能太大。太大的話,輸出就全部為零了。其實可以借助類似Squeeze and Excitation Network的結構,自動設定,就是...

為什麼優化損失函式的上界可以優化損失函式?

DomainAdaptation 題主所說的應該是非凸的0 1損失函式和相應的替代損失函式吧。在非代價敏感的分類的問題中,我們最容易想到就是用0 1損失函式來度量錯分樣本的損失。但由於0 1損失非凸,不好優化,於是人們採用了一系列的替代損失函式 surragate loss function 來替代...

機器學習可以學習什麼樣的函式?

裴小浩 20150828更新針對 蘋果的味道 提的問題,翻了一下書本 模式識別的方法中可以分為兩類,一類是假設概率密度函式的引數形式已知,學習其中的引數。另一類是不假設概率密度函式,因為在現實世界中,一般給出的概率密度函式形式很少符合實際情況,模式識別中有很多有趣的非引數方法。模式分類 非引數方法不...