盤點機器學習中那些神奇的損失函式

2021-08-23 12:37:37 字數 2631 閱讀 9266

盤點機器學習中那些神奇的損失函式

我最近在學習r語言,但是估r語言我應該沒能跟sas一樣玩那麼好。今天來更新在機器學習中的一些專業術語,例如一些損失函式,正則化,核函式是什麼東西。

損失函式:損失函式是用來衡量模型的效能的,通過**值和真實值之間的一些計算,得出的乙個值,這個值在模型擬合的時候是為了告訴模型是否還有可以繼續優化的空間(模型的目的就是希望損失函式是擬合過的模型中最小的),損失函式一般有以下幾種,為什麼損失函式還有幾種呢,因為不同的演算法使用的損失函式有所區分。

0-1損失函式:

這個損失函式的含義,是最簡單的,**出來的分類結果跟真實對比,一樣的返回1,不一樣返回0,這種方式比較粗暴,因為有時候是0.999的時候,其實已經很接近了,但是按照這個損失函式的標準,還是返回0,所以這個損失函式很嚴格,嚴格到你覺得特別沒有人性。

感知損失函式

那麼這個感知損失函式,其實是跟混淆矩陣那種演算法是一樣,設定乙個閥值,假設真實值與**值之間的差距超過這個閥值的話,就是1,小於的話就是0,這種就多多少少彌補了0-1損失函式中的嚴格,假設以0.5為界限,那麼比0.5大的我們定義為壞客戶,小於0.5定義為壞客戶,假設用這種方式,那麼大部分好客戶聚集在0.6,以及大部分好客戶聚集在0.9這個位置,感知損失函式,判斷的時候可能是差不多的效果。但是很明顯兩個模型的效果是,後者要好。當然你在實際的做模型的時候也不會單靠乙個損失函式衡量模型啦,只是你在擬合的時候可能使用的損失函式來擬合出機器覺得是最優的。

hinge損失函式

hinge損失函式是源自於支援向量機中的,因為支援向量機中,最終的支援向量機的分類模型是能最大化分類間隔,又減少錯誤分類的樣本數目,意味著乙個好的支援向量機的模型,需要滿足以上兩個條件:1、最大化分類間隔,2、錯誤分類的樣本數目。錯誤分類的樣本數目,就回到了損失函式的範疇。

我們看上面這張圖:把這四個點,根據下標分別叫1、2、3、4點,可以看到hinge衡量的是該錯誤分類的點到該分類的分類間隔線之間的距離,像1點,他雖然沒有被正確分類,但是是在分類間隔中,所以他到正確被分類的線的距離是小於1的(分類間隔取的距離是1),那麼像2,3,4點他們到正確的分類間隔的距離都是超過1,正確分類的則置為0,那麼回到上面的公式,支援向量機中,分類使用+1,-1表示,當樣本被正確分類,那麼就是0,即hinge的值為0,那麼如果在分隔中的時候,hinge的值為1-真實值與**值的積。舉個例子,當真實值yi是1,被分到正確分類的分類間隔之外,那麼yi=1,>1,那麼這時候即樣本被正確分類hinge值則為0。那麼如果是被錯誤分類,則hinge值就是大於1了。這就是hinge損失函式啦。

交叉熵損失函式

這個函式是在邏輯回歸中最大化似然函式推出來,在公式層面的理解,可以看到就是計算樣本的**概率為目標值的概率的對數。這個你不想聽公式推導也看下去啦,因為這對於優化問題的理解可以更深刻。

以上的公式中的h(x)代表的樣本是目標值的概率,那麼模型最極端的**是什麼,y=1的樣本的h(x)都為1,y=0的樣本的h(x)都是0,那麼你這個模型的正確率就是100%,但在實際建模中這個可能性是極低的,所以這時候使用最大似然估計將全部的樣本的**值連乘,那麼這時候意味著對於y=1的樣本,h(x)的值越大越好,y=0的時候h(x)的值越小越好即1-h(x)的值越大越好,這時候似然估計這種相乘的方式貌似很難衡量那個模型是最好的,所以加上log函式的轉化之後再加上乙個負號,全部的項變成相加,這時候我們只要求得-ln(l())最小就可以了。這就是交叉熵損失函式。那麼這裡你可能會問,為什麼用的是log,不是用什麼exp,冪函式這些,因為log是單調遞增的,在將式子從相乘轉成相加的同時,又保證了數值越大,ln(x)的值越大。

平方誤差

平方差,這個大家很熟啦,線性回歸很愛用這個,這個衡量線性關係的時候比較好用,在分類演算法中比較少用。

絕對誤差

那麼這個也是回歸中比較常用的,也不做多的解釋。

指數誤差

這是adaboosting中的乙個損失函式,假設目標變數還是用-1,1表示,那麼就以為在上面的公式中,當yi=1的時候,就希望越大越好,即越小越好,同樣可推當yi=0的時候。思想跟邏輯回歸類似,但是因為這裡使用-1,1表示目標變數,所以損失函式有些區別。

機器學習中的損失函式

監督學習問題是在假設空間中選取模型作為決策函式,對於給定的輸入x,由f x 給出對應的輸出y,這個輸出的 值可能與真實值一致或不一致,可以用損失函式 loss function 或代價函式 cost function 來度量 錯誤的程度。f x 1,y f x 0,y f x f x 1 y f x...

機器學習 機器學習中的損失函式

在機器學習中,損失函式是用來衡量 結果與實際值之間差別大小的指標。一般的損失函式有5五種 l m 01ifm 0ifm 0 主要用於maximum margin的分類演算法,如svm演算法。hinge損失函式的描述如下式 l y max 0 1 t y 這裡t 1 or 1 y是 值,而t 是實際真...

機器學習02 機器學習中「損失loss」的詳解

東陽的學習記錄,堅持就是勝利!如何判斷model的bias和variance時不是過大 如何處理bias大和variance大 如何選擇適當的模型 應該這樣做 loss有兩個部分 來自bias的loss,和來自variance的loss。對於同乙個模型,使用不同資料集訓練會得到不同的引數值。bias...