回歸損失函式 Huber Loss

2021-09-21 13:57:17 字數 1038 閱讀 6652

相比平方誤差損失,huber損失對於資料中異常值的敏感性要差一些。在值為0時,它也是可微分的。它基本上是絕對值,在誤差很小時會變為平方值。誤差使其平方值的大小如何取決於乙個超引數δ,該引數可以調整。當δ~ 0時,huber損失會趨向於mse;當δ~ ∞(很大的數字),huber損失會趨向於mae。

δ的選擇非常關鍵,因為它決定了你如何看待異常值。殘差大於δ,就用l1(它對很大的異常值敏感性較差)最小化,而殘差小於δ,就用l2「適當地」最小化。

為何使用huber損失函式?

使用mae用於訓練神經網路的乙個大問題就是,它的梯度始終很大,這會導致使用梯度下降訓練模型時,在結束時遺漏最小值。對於mse,梯度會隨著損失值接近其最小值逐漸減少,從而使其更準確。

在這些情況下,huber損失函式真的會非常有幫助,因為它圍繞的最小值會減小梯度。而且相比mse,它對異常值更具魯棒性。因此,它同時具備mse和mae這兩種損失函式的優點。不過,huber損失函式也存在乙個問題,我們可能需要訓練超引數δ,而且這個過程需要不斷迭代。

huber損失函式的python**:

# huber 損失

defhuber

(true, pred, delta)

: loss = np.where(np.

abs(true-pred)

< delta ,

0.5*

((true-pred)**2

), delta*np.

abs(true - pred)

-0.5

*(delta**2)

)return np.

sum(loss)

摘錄:

注:博眾家之所長,集群英之薈萃。

邏輯回歸損失函式

眾所周知,二分類問題的損失函式為 其中y代表標籤值 0,1 h x 代表通過假設假設函式 sigmoid 函式 計算出的函式值 概率 sigmoid 函式的取值區間為 0,1 當標籤值為1時,h x 的值為 y為1的概率,這個值越靠近0,logh x 的值就會越大,從而對loss值的懲罰也就越大 反...

線性回歸的損失函式與邏輯回歸的損失函式

xi yi 我們有如下的擬合直線 yi xi構建的損失函式是 c i 1 n yi yi 2表示每乙個訓練點 x i,yi 到擬合直線yi xi的豎直距離的平方和,通過最小化上面的損失函式可以求得擬合直線的最佳引數 這裡的損失函式之所以使用平方形式,是使用了 最小二乘法 的思想,這裡的 二乘 指的是...

筆記 logistic回歸損失函式

那麼我們就需要用到訓練集,讓模型進行監督學習,訓練集中包含自變數 為了完成上訴訓練,我們需要知道模型的結果與正確結果的相差幾何,基於此,我們很容易想到可以模仿概率論對方差的定義,構造乙個損失函式用來衡量演算法的執行效果,於是我們可以構造損失函式 這裡需要引入乙個凸優化的概念,如果乙個函式是凸函式,那...