机器学习/深度学习中的损失函数

技术宅 rainforest 3年前 (2017-04-13) 1082次浏览 0个评论

一般来说,我们进行机器学和深度学习任务时,都存在一个目标函数,算法便是对这个目标函数优化的过程。在分类或回归任务中,这个目标函数通常被称为损失函数(Loss function)或代价函数(Cost function)。

损失函数是用来评价模型的预测值clip_image002与真实的clip_image004的不一致程度,它是一个非负实数,通常用clip_image006来表示。损失函数越小,模型的效果就越好。设总共有N个样本的样本集合clip_image008clip_image010是样本的真实值,clip_image012是样本的预测值。f为模型的分类或回归函数。那么总的损失函数为:

clip_image014

对于二分类问题,clip_image016。对于回归问题,我们通常会对要回归的值进行预处理,归一化到[0,1]的空间,即通常clip_image018

下面介绍一些常见的损失函数:

1. 0-1损失(Zero-one Loss)

0-1损失是一种较为简单的损失函数,如果预测值与目标值不相等,那么为1,否则为0,即:

clip_image020

可以看出上述的定义非常严格,只适合理想情况。

2. 感知损失(Perceptron Loss)

0-1损失太过严格,如果正式值为1,预测值为0.99,那么该预测大概率是正确的,但0-1损失认为是不对的,因此0-1损失只适合理想的情况。感知损失是对0-1损失的一种改进:

clip_image022

其中t为一个超参,我们给定一定的误差,在误差范围内认为是正确的。

3. Hinge损失(Hinge Loss)

Hinge Loss为svm算法的损失函数,用来解决最大化几何间隔的问题,对于二分类问题clip_image016[1],定义为:

clip_image024

4. 对数损失函数(Log Loss)

对数损失是使用对数的损失函数的一个总称,在使用似然函数最大化时,其形式是进行连乘,但是为了便于处理,一般会套上log,这样便可以将连乘转化为求和,由于log函数是单调递增函数,因此不会改变优化结果。逻辑回归算法中的交叉熵损失函数就是一种对数损失函数,为二分类问题clip_image026,交叉熵损失函数定义为:

clip_image028

规定clip_image030.

5. 均方误差(Square Loss)

均方误差通常用于回归,是一个很常见的回归损失函数:

clip_image032

clip_image034

6. 绝对值误差(Absolute Loss)

绝对值误差与均方误差差不多,定义为:

clip_image036

clip_image034[1]

7. 指数误差(Exponential Loss)

指数误差,常用于boosting算法中,如adaboost,定义为:

clip_image038

clip_image016[2]


乐趣公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:机器学习/深度学习中的损失函数
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址