損失函式

損失函式

損失函式(loss function)或代價函式(cost function)是將隨機事件或其有關隨機變數的取值映射為非負實數以表示該隨機事件的“風險”或“損失”的函式。在套用中,損失函式通常作為學習準則與最佳化問題相聯繫,即通過最小化損失函式求解和評估模型。例如在統計學和機器學習中被用於模型的參數估計(parameteric estimation),在總量經濟學中被用於風險管理(risk mangement)和決策,在控制理論中被套用於最優控制理論(optimal control theory)。

基本介紹

  • 中文名:損失函式
  • 外文名:loss function
  • 類型:函式
  • 學科:統計學
  • 套用:機器學習,經濟學,控制理論
定義,分類,回歸問題,分類問題,套用,案例一,案例二,

定義

樣本空間
內有可測狀態
隨機變數
根據法則
所做的決策
,此時若在乘積空間
上有函式
滿足:
,即對任意的
是非負可測函式,則
被稱為損失函式,表示狀態
下採取決策
所對應的損失或風險。
機器學習中,給定獨立同分布(independent and identically distributed,iid)的學習樣本
,和模型
,損失函式是模型輸出和觀測結果間機率分布差異的量化:
式中
表示模型參數,上式右側具體的量化方法視問題和模型而定,但要求滿足損失函式的一般定義,即樣本空間的非負可測函式。

分類

回歸問題

回歸問題所對應的損失函式為L2損失函式和L1損失函式,二者度量了模型估計值
與觀測值
之間的差異:
式中
為真實值的權重,
為真實值,
為模型的輸出。各類回歸模型,例如線性回歸廣義線性模型(Generalized Linear Model, GLM)和人工神經網路(Artificial Neural Network, ANN)通過最小化L2或L1損失對其參數進行估計。L2損失和L1損失的不同在於,L2損失通過平方計算放大了估計值和真實值的距離,因此對偏離觀測值的輸出給予很大的懲罰。此外,L2損失是平滑函式,在求解其最佳化問題時有利於誤差梯度的計算;L1損失對估計值和真實值之差取絕對值,對偏離真實值的輸出不敏感,因此在觀測中存在異常值時有利於保持模型穩定。

分類問題

分類問題所對應的損失函式為0-1損失,其是分類準確度的度量,對分類正確的估計值取0,反之取1:
0-1損失函式是一個不連續的分段函式,不利於求解其最小化問題,因此在套用可構造其代理損失(surrogate loss)。代理損失是與原損失函式具有相合性(consistency)的損失函式,最小化代理損失所得的模型參數也是最小化原損失函式的解。當一個函式是連續凸函式,並在任意取值下是0-1損失函式的上界時,該函式可作為0-1損失函式的代理函式。
這裡給出二元分類(binary classification)中0-1損失函式的代理損失:
二元分類中常見的代理損失
名稱表達式
鉸鏈損失函式(hinge loss function)
交叉熵損失函式(cross-entropy loss function)
指數損失函式(exponential loss function)
鉸鏈損失(實線)、交叉熵損失(點)、指數損失(虛線)鉸鏈損失(實線)、交叉熵損失(點)、指數損失(虛線)
鉸鏈損失函式是一個分段連續函式,其在分類器分類完全正確時取0。使用鉸鏈損失對應的分類器是支持向量機(Support Vector Machine, SVM),鉸鏈損失的性質決定了SVM具有稀疏性,即分類正確但機率不足1和分類錯誤的樣本被識別為支持向量(support vector)被用於劃分決策邊界,其餘分類完全正確的樣本沒有參與模型求解。
交叉熵損失函式是一個平滑函式,其本質是信息理論(information theory)中的交叉熵(cross entropy)在分類問題中的套用。由交叉熵的定義可知,最小化交叉熵等價於最小化觀測值和估計值的相對熵(relative entropy),即兩者機率分布的Kullback-Leibler散度:
,因此其是一個提供無偏估計的代理損失。交叉熵損失函式是表中使用最廣泛的代理損失,對應的分類器例子包括logistic回歸人工神經網路和機率輸出的支持向量機
指數損失函式是表中對錯誤分類施加最大懲罰的損失函式,因此其優勢是誤差梯度大,對應的極小值問題在使用梯度算法時求解速度快。使用指數損失的分類器通常為自適應提升算法(Adaptive Boosting, AdaBoost),AdaBoot利用指數損失易於計算的特點,構建多個可快速求解的“弱”分類器成員並按成員表現進行賦權和疊代,組合得到一個“強”分類器並輸出結果。

套用

案例一

某個工廠人員的產出,以每小時多少元來計算,而損失函式所顯示的,是產出以室內通風條件而改變的情形。廠內工作的每個人,都有自己的損失函式。為了簡化說明,假設每個人的損失函式均為一條拋物線,其底部一點代表產出值最大時的通風條件,把所有人員的損失函式進行疊加,公司整體的損失函式也必然是一條拋物線。如果通風條件偏離這個最佳水準,就會有額外損失發生。該拋物線與橫軸相切時,切點的左右各有一小段與橫軸幾近重合。也就是說,有最適點偏離一小短距離,損失小到可以忽略不計。因此,當室內通風條件稍稍偏離均衡點,發生的損失可以忽略不計。但是遠離均衡點時,總是有人必須支付這損失。如果我們能夠導出有具體數字的損失函式,我們就可以計算出最優均衡點,在均衡點中最適合的通風條件如何,以及達到要求的費用支出是多少。

案例二

以趕火車作為符合規格的例子。假設我們的時間價值為每分鐘n元,下圖左邊的斜線是損失線的斜率;早一分鐘到達月台,將讓我們損失n元,早兩分鐘到達損失2n元。另一方面,如果沒有趕上火車,我們的損失是M元。遲到半分鐘或遲到5分鐘損失一樣,損失函式直接由零跳到M。
當然問題也可複雜化,例如火車每天離站的時間也有變化,所以也可以畫出一個分配圖。火車到站時間三個標準差的界限可能是8秒。把問題這樣複雜化,對於我們了解和套用損失函式並沒有特別大的幫助,因此我們就說到這裡。 另一個例子,是參加星期日早上11點15分的禮拜時所碰到的停車問題。教堂的停車場最大負荷是停放50輛車子,但這些車位在10點50分左右仍然客滿,因為作完上一場禮拜的車主仍在喝咖啡。等他們一離開,這些空位馬上就會被排成長龍等待的車隊填滿。如果你想占到一個車位,不得不早早去排隊。那些晚到的人在這裡找不到車位,只能到街上去找,但實際上往往無功而返。所以,上策還是提早一點去等,承受等待的損失而能占到位置。
這項理論也可以套用到任何計畫的截止時間上。某人要求必須在截止日期前完成工作,萬一未能趕上這個時間,勢將使計畫延誤或出錯。為了能準時完成,可以擬定工作內容與步驟的綱要。把個步驟的截止日期 設 定一段期間要比設定為固定的從容,而且有時間作最後的修訂,可能把計畫做得更好。

熱門詞條

聯絡我們