常用损失函数

hinge_loss

L ( y , y ^ ) = m a x ( 0 , 1 − y y ^ ) (1-1) L(y,\hat y) = max(0,1-y\hat y) \tag {1-1} L(y,y^)=max(0,1yy^)(1-1)
where y ∈ { − 1 , 1 } , y ^ ∈ R y \in \{-1,1\}, \hat y \in R y{1,1},y^R.

  • y , y ^ y,\hat y y,y^ 同号且 ∣ y ^ ∣ > 1 |\hat y| > 1 y^>1, loss=0
  • 当二者异号 或 同号但 ∣ y ^ ∣ < 1 |\hat y| < 1 y^<1时, loss >0, 依然认为没有达到足够的间隔.

变种

在实际应用中,一方面,预测值 y ^ \hat y y^并不总是属于[-1,1],也可能属于其他的取值范围;另一方面,很多时候我们希望训练的是两个元素之间的相似关系,而非样本的类别得分。所以pair-wise ranking 情况下, 下面的公式可能会更加常用:

L ( y , y ^ ) = m a x ( 0 , m a r g i n + y − ^ − y + ^ ) (1-2) L(y,\hat y) = max(0,margin + \hat {y^-} - \hat {y^+}) \tag {1-2} L(y,y^)=max(0,margin+y^y+^)(1-2)

cross_entropy

tf.nn.softmax_cross_entropy_with_logits(logits=logits, labels=y_)
A common use case is to have logits and labels of shape [batch_size, num_classes], but higher dimensions are supported.
labels可以不是one-hot而是一个valid probability distribution.

square loss

你可能感兴趣的:(常用损失函数)