神经网络的损失函数和正则化

  1. Loss Function

    损失函数可以看做误差部分(loss term) + 正则化部分(regularization term)

    神经网络的损失函数和正则化

1.1 Loss Term

  • Gold Standard (ideal case)
  • Hinge (SVM, soft margin)
  • Log (logistic regression, cross entropy error)
  • Squared loss (linear regression)
  • Exponential loss (Boosting)

   

Gold Standard 又被称为0-1 loss, 记录分类错误的次数

神经网络的损失函数和正则化

Hinge Loss http://en.wikipedia.org/wiki/Hinge_loss

For an intended output t = ±1 and a classifier score y, the hinge loss of the prediction y is defined as

神经网络的损失函数和正则化

Note that y should be the "raw" output of the classifier's decision function, not the predicted class label. E.g., in linear SVMs, 

神经网络的损失函数和正则化

It can be seen that when t and y have the same sign (meaning y predicts the right class) and 

神经网络的损失函数和正则化

, the hinge loss 

神经网络的损失函数和正则化

, but when they have opposite sign, 

神经网络的损失函数和正则化

increases linearly with y (one-sided error).

   

来自 <http://en.wikipedia.org/wiki/Hinge_loss>

神经网络的损失函数和正则化

Plot of hinge loss (blue) vs. zero-one loss (misclassification, green:y < 0) for t = 1 and variable y. Note that the hinge loss penalizes predictions y < 1, corresponding to the notion of a margin in a support vector machine.

   

来自 <http://en.wikipedia.org/wiki/Hinge_loss>

   

神经网络的损失函数和正则化

   

在Pegasos: Primal Estimated sub-GrAdient SOlver for SVM论文中

神经网络的损失函数和正则化

这里把第一部分看成正规化部分,第二部分看成误差部分,注意对比ng关于svm的课件

不考虑规则化

神经网络的损失函数和正则化

考虑规则化

神经网络的损失函数和正则化

   

Log Loss

Ng的课件1,先是讲 linear regression 然后引出最小二乘误差,之后概率角度高斯分布解释最小误差。

然后讲逻辑回归,使用MLE来引出优化目标是使得所见到的训练数据出现概率最大

神经网络的损失函数和正则化

   

神经网络的损失函数和正则化

   

神经网络的损失函数和正则化

最大化下面的log似然函数

神经网络的损失函数和正则化

而这个恰恰就是最小化cross entropy

   

http://en.wikipedia.org/wiki/Cross_entropy

http://www.cnblogs.com/rocketfan/p/3350450.html 信息论,交叉熵与KL divergence关系

神经网络的损失函数和正则化

神经网络的损失函数和正则化

   

Cross entropy can be used to define loss function in machine learning and optimization. The true probability 

神经网络的损失函数和正则化

 is the true label, and the given distribution 

神经网络的损失函数和正则化

 is the predicted value of the current model.

More specifically, let us consider logistic regression, which (in its most basic guise) deals with classifying a given set of data points into two possible classes generically labelled 

神经网络的损失函数和正则化

 and 

神经网络的损失函数和正则化

. The logistic regression model thus predicts an output 

神经网络的损失函数和正则化

, given an input vector 

神经网络的损失函数和正则化

. The probability is modeled using thelogistic function 

神经网络的损失函数和正则化

. Namely, the probability of finding the output 

神经网络的损失函数和正则化

 is given by

神经网络的损失函数和正则化

where the vector of weights 

神经网络的损失函数和正则化

 is learned through some appropriate algorithm such as gradient descent. Similarly, the conjugate probability of finding the output 

神经网络的损失函数和正则化

 is simply given by

神经网络的损失函数和正则化

The true (observed) probabilities can be expressed similarly as 

神经网络的损失函数和正则化

 and 

神经网络的损失函数和正则化

.

   

Having set up our notation, 

神经网络的损失函数和正则化

 and 

神经网络的损失函数和正则化

, we can use cross entropy to get a measure for similarity between 

神经网络的损失函数和正则化

 and 

神经网络的损失函数和正则化

:

神经网络的损失函数和正则化

The typical loss function that one uses in logistic regression is computed by taking the average of all cross-entropies in the sample. For specifically, suppose we have 

神经网络的损失函数和正则化

 samples with each sample labeled by 

神经网络的损失函数和正则化

. The loss function is then given by:

神经网络的损失函数和正则化

where 

神经网络的损失函数和正则化

, with 

神经网络的损失函数和正则化

 the logistic function as before.

   

The logistic loss is sometimes called cross-entropy loss. It's also known as log loss (In this case, the binary label is often denoted by {-1,+1}).[1]

   

来自 <http://en.wikipedia.org/wiki/Cross_entropy>

   

   

因此和ng从MLE角度给出的结论是完全一致的! 差别是最外面的一个负号

也就是逻辑回归的优化目标函数是 交叉熵

神经网络的损失函数和正则化

   修正 14.8这个公式 课件里面应该写错了一点 第一个+ 应该是-,这样对应loss 优化目标是越小越好,MLE对应越大也好。

squared loss

神经网络的损失函数和正则化

   

exponential loss

神经网络的损失函数和正则化

指数误差通常用在boosting中,指数误差始终> 0,但是确保越接近正确的结果误差越小,反之越大。

2、Regularization

神经网络的损失函数和正则化

λ 是在训练时需要调节的参数,找出最适合的值。