在本文中,我將詳細解釋機器學習中邏輯迴歸的損失函數和邏輯迴歸損失函數背後的幾何直覺。
機器學習中的邏輯迴歸預測結果的概率通常只能有兩個值。讓我們來看一些有兩個類的數據,類-1和類1,如下圖所示。(y = -1表示負類,y = 1表示正類)
邏輯迴歸將找到如上圖所示的平面π(W,b),其最好地區分正類和負類。讓我們分別在負側和正側的兩側各取一個點xi,xⱼ。平面到點的距離分別為dᵢ,dⱼ,公式由下式給出
假設W為單位向量,則||W|| = 1。從上面圖和公式知道,dᵢ是負和dⱼ是正的。 yᵢdᵢ > 0和yⱼdⱼ> 0(因為我們假設y = 1為負類和+ 1為正類)。對於所有正確分類的點yd>0,錯誤分類的點yd<0。因此,如果我們找到平面,即 W,b 對於 i ∈ {所有訓練點(+ve,-ve)}的 sum(yᵢdᵢ)的最大值 ,那麼我們可以用該平面正確地對所有點進行分類。我們的最終目標是
為簡單計算,我忽略了偏差項
但是這個目標函數在某些數據模式中會失敗。下面給出一個這樣的例子。讓我們以如下圖所示的數據點為例
如上圖所示,我們有正負類,也有兩個平面plane-1,plane-2。假設點到平面的距離如圖所示。讓我們找出 sum of distance * y(我們的目標函數)
For plane-1 sum = 1+1+1+1+1+1+1+1–50 = -42
For plane-2 sum = 1+2+3+4–1–2–3–4+1 = 1
通過觀察上圖,我們可以說plane-1比plane-2要好得多。但是對於plane-2,sum 是最大的,所以我們的目標函數將輸出為plane-2。這是因為訓練數據的一個極端異常值。
我們如何克服這一點呢?
我們可以通過合併一些函數來克服這個問題,這樣它就可以壓縮最大距離點。其中一個函數是sigmoid。
sigmoid將根據輸入的實際值給出[0,1]之間的值。所以我們可以減少異常值對優化問題的影響。所以我們的優化問題是
如果g(x)是單調函數,則argmax f(x)= argmax g(f(x))。
所以我們將log函數添加到我們的目標函數中。它是單調函數,因此argmax與以前相同。我們也會得到一些好的屬性,比如將指數轉換為乘法,將乘法轉換為加法。所以我們的最終優化問題是
所以最小化的最終損失函數是
讓我們繪製點與平面之間的距離(y.W^T.x) vs loss
如上所述,對於正點yᵢ= +1和負點yᵢ= -1。如果任何分類點是正確的,那麼我們的距離是正的,即yᵢdᵢ> 0
從上圖我們可以得出結論,如果距離增加意味著我們有很高的置信度(概率)來分類,所以對數正在減少。如果距離較低,則對分類的置信度較低。如果距離是負的,那就意味著我們分類錯誤,對數損失迅速增加。
閱讀更多 不靠譜的貓 的文章