1. 程式人生 > >機器學習中目標函式、損失函式以及正則項的通俗解釋

機器學習中目標函式、損失函式以及正則項的通俗解釋

目錄:

前言:

1、什麼是目標函式?

定義是:指所關心的目標與相關的因素的函式關係。舉個例子,假如我們想要預測公司樓下手抓餅店明天能賣多少張手抓餅,已知過去10天每天賣多少,以及每天的天氣情況,是否有節假日,和手抓餅店老闆和老闆娘的感情狀況,這幾項資料都統計好了。對應到目標函式的解釋就是:

  1. 關心的目標是明天能賣多少手抓餅,未知量。
  2. 相關因素是每天數量,天氣情況,節假日,老闆老闆娘感情狀況,已知量。
  3. 目標函式:按照一定的思路把這些已知條件利用起來,去求解未知量的函式關係式。

2、損失函式

也叫代價函式,是同一個東西是用來評估模型的預測值f(x)與真實值Y的差距,它是一個非負實值函式。

稍等一下,為什麼是非負的呢?舉個例子:比如上面說的手抓餅,模型預測第一天是30,真實值是29,差距30-29是1;預測第二天是35,真實值是36,差距35-36是-1;如果把它們直接加起來就是1-1 = 0,難到沒有差距?非常明顯是錯誤的,差距是0人家還以為都預測對了呢,其實都預測錯了,所以不能有負值,可以用絕對值,平方或者一些其它的數學運算。
常用的損失函式有:

好的,現在我們再來看一下目標函式通常的定義形式:

  • Obj(Θ)=L(Θ)+Ω(Θ)

中文翻譯一下是 :

  • 目標函式 = 損失函式 + 正則項

目標函式和損失函式我們都理解了,那麼正則項是幹什麼的呢?

3、正則化

回到我們前面舉的那個例子,如果第五天有個人中彩票瞭然後興奮的來買了1百張手抓餅,比幾天的量都多,很明顯這個情況會影響我們的模型訓練,這個情況就是過擬合。而加入正則項的目的就是使模型避免過擬合。
常用的有L1,L2正則化,很熟悉對不對,前面講過的線性代數中的L1,L2範數有些類似。其實本質是一樣的,在機器學習裡叫正則化,線性代數叫範數,統計學裡叫懲罰項。
機器學習裡:L1使用的是絕對值距離,也叫曼哈頓距離,L2使用的是平方距離,也叫做歐式(Euclidean)距離
線性代數:L1 範數計算的是向量所有元素絕對值的和,L2 範數計算的是通常意義上的向量長度 參考:

https://xiaozhuanlan.com/topic/4961780352

總結:

介紹了目標函式,損失函式和正則項的作用,優化損失函式使模型避免欠擬合使損失函式最小化,優化正則項使模型避免過擬合。