泛統計理論初探——常見損失函數初探

數據挖掘-常見損失函數初探

常見損失函數簡介
在之前的文章中,我們介紹過各種計算準確率的指標,在本文中我們將會介紹常見的損失函數並做出比較,討論使用的場景和各個損失函數的優缺點。
首先我們來認識損失函數,常見的有監督數據挖掘問題無外乎兩類,即分類問題和迴歸問題,即因變量是離散值或連續值。目標是尋找一種函數或者說是規則去最大程度的逼近或是預測原有的數據分佈和結果,因此我們需要引入損失函數,損失函數是當前所有真實數據與預測結果的差值的彙總,即我們需要一個函數去體現預測效果,這個函數就是損失函數。而大多數有監督學習都是靠着最小化損失函數來進行參數的求解的,比如迴歸問題的參數向量就是最小化損失函數(平方差之和)來進行求解的。
其次我們要清楚,對於分類問題和迴歸問題,它們的損失函數是不同的。迴歸問題由於預測值和因變量真實值都是連續的,所以直接計算它們的差值的絕對值再求和,或是計算它們的差值的平方和再求和,即利用“距離”進行構建損失函數。而對於分類問題,由於預測的結果是離散的分類值,不能直接加減,所以我們需要使用交叉熵作爲損失函數。在構建了損失函數後,上面的兩種情況都是可以對參數向量進行求導,令損失函數最小化後可以得到最終的迭代後的參數。
在這裏插入圖片描述
除了上述的平方損失函數和交叉熵損失函數之外,還有一些比較常見的損失函數,比如鉸鏈損失函數、0-1損失函數等。它們的形式如下所示,左邊的是0-1損失函數的公式、右邊的是鉸鏈損失函數的公式,其中值得注意的是0-1損失函數是分類問題中最早期的損失函數,即如果預測正確的就取值爲0,而當預測錯誤的時候就取值爲1,但其實該損失函數較爲苛刻,當遇到多分類問題時,該損失函數的衡量效果會較差。與此同時,該損失函數是不連續的,因此也是不可導的損失函數,很難通過該損失函數去學習模型的參數向量,所以該損失函數用的地方較少。
在這裏插入圖片描述
對於上圖右邊的鉸鏈損失函數,它是來自於支持向量機的損失函數,其本質是一條折線,我們針對二分類的支持向量機來看,當y取值是1或者-1,而當f(x)預測正確的時候,也是1或者-1,也就是說y與f(x)的乘積在預測正確的時候必然是1,所以損失函數必然爲0;當預測錯誤時,f(x)的值是1-y*f(x),其實就是支持向量機裏的間隔函數最大化的形式,但一般該損失函數在其他模型不太常用。
其實對於因變量連續的問題,最常用的還是平方損失函數,但是會在這個基礎上加上正則項防止過擬合,而對於因變量離散的問題,不同的模型使用的損失函數不同,並且分類問題由於不能直接通過“距離”進行誤差衡量,所以會針對不同的模型提出不同標準的損失函數。但對於分類問題,相對使用較多的還是交叉熵損失函數,因爲這種損失函數可以較好地體現真實的數據分佈與預測得到的數據分佈的差異,如果該值比較小則說明預測得到的數據分佈是較爲逼近真實數據分佈的。總的來說,初學者需要明確在不同場景使用的損失函數是不同的,並且損失函數可以用來估計和學習參數向量,不同的損失函數雖然形態不同,但是其中的求解步驟是類似的,並且損失函數的概念和意義是初學者必須明確的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章