常见的损失函数

一般来说,我们在进行机器学习任务时,使用的每一个算法都有一个目标函数,算法便是对这个目标函数进行优化,特别是在分类或者回归任务中,便是使用损失函数(Loss Function)作为其目标函数,又称为代价函数(Cost Function)。   

损失函数是用来评价模型的预测值Y^=f(X)与真实值Y的不一致程度,它是一个非负实值函数。通常使用L(Y,f(x))来表示,损失函数越小,模型的性能就越好。


设总有N个样本的样本集为(X,Y)=(xi,yi),i∈[1,N]为样本i的真实值,yi^=f(xi),i∈[1,N]为样本i的预测值,f为分类或者回归函数。那么总的损失函数为:(X,Y)=(xi,yi)

L=∑i=1Nℓ(yi,yi^)

常见的损失函数ℓ(yi,yi^)有一下几种:

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

可以看出上述的定义太过严格,如果真实值为1,预测值为0.999,那么预测应该正确,但是上述定义显然是判定为预测错误,那么可以进行改进为Perceptron Loss。

Perceptron Loss,即为感知损失,即:

其中t是一个超参数阈值,如在PLA(Perceptron Learning Algorithm,感知机算法,(http://kubicode.me/2015/08/06/Machine%20Learning/Perceptron-Learning-Algorithm/))中取t=0.5。

Hinge Loss Hinge,损失可以用来解决间隔最大化问题,如在SVM中解决几何间隔最大化问题,其定义如下:

详细见:https://en.wikipedia.org/wiki/Hinge_loss

Log Loss 在使用似然函数最大化时,其形式是进行连乘,但是为了便于处理,一般会套上log,这样便可以将连乘转化为求和,由于log函数是单调递增函数,因此不会改变优化结果。因此log类型的损失函数也是一种常见的损失函数,如在LR(Logistic Regression, 逻辑回归)中使用交叉熵(Cross Entropy)作为其损失函数。即:

规定:

Square Loss Square Loss,即平方误差,常用于回归中。即:

Absolute Loss Absolute Loss,即绝对值误差,常用于回归中。即:

Exponential Loss Exponential Loss,为指数误差,常用于boosting算法中,如[AdaBoost](https://en.wikipedia.org/wiki/AdaBoost)。即:


正则

一般来说,对分类或者回归模型进行评估时,需要使得模型在训练数据上使得损失函数值最小,即使得经验风险函数最小化,但是如果只考虑经验风险(Empirical risk),容易过拟合(详细参见防止过拟合的一些方法),因此还需要考虑模型的泛化能力,一般常用的方法便是在目标函数中加上正则项,由损失项(Loss term)加上正则项(Regularization term)构成结构风险(Structural risk),那么损失函数变为:

其中λ是正则项超参数,常用的正则方法包括:L1正则与L2正则,详细介绍参见:防止过拟合的一些方法。

各损失函数图形如下:

原文发布于微信公众号 - 计算机视觉战队(ComputerVisionGzq)

原文发表时间:2017-03-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏自然语言处理

谈谈学习模型的评估2

评估度量:(其中P:正样本数 N:负样本数 TP:真正例 TN:真负例 FP:假正例 FN:假负例)

782
来自专栏计算机视觉战队

简单易懂的讲解深度学习(入门系列之九)

一般来说,我们在进行机器学习任务时,使用的每一个算法都有一个目标函数,算法便是对这个目标函数进行优化,特别是在分类或者回归任务中,便是使用损失函数(Loss F...

1002
来自专栏程序生活

CS224n 笔记2-词向量表示:Word2vec1. 单词含义的表示2. Word2Vec的主要思路3. 更多Word2Vec细节4 .梯度的推导5. 损失/目标函数相关推荐阅读

1. 单词含义的表示 我们如何表示一个单词的意思 下面是意思的定义: 用词语,语句表示的想法或观点 人们使用词汇,符号来表达的想法 在一篇文章和艺术品表达的观点...

4338
来自专栏AI研习社

深度学习岗位面试问题一览

本笔记主要问题来自以下两个问题,以及我自己面试过程中遇到的问题。 深度学习相关的职位面试时一般会问什么?会问一些传统的机器学习算法吗?(http://t.cn/...

6525
来自专栏专知

【资源】15个在线机器学习课程和教程

本文推荐15个机器学习课程和行业领先大牛的教程。其中大多数课程都是免费的,无需注册即可自学。内容包括决策树、朴素贝叶斯、逻辑回归、神经网络和深度学习、估计、贝叶...

2896
来自专栏YoungGy

无监督学习之RBM和AutoEncoder

几种学习方式 半监督学习 Transfer Learning Self-talk Learning RBM RBM的类别 Boltzmann Machine R...

3407
来自专栏数据科学学习手札

(数据科学学习手札24)逻辑回归分类器原理详解&Python与R实现

一、简介   逻辑回归(Logistic Regression),与它的名字恰恰相反,它是一个分类器而非回归方法,在一些文献里它也被称为logit回归、最大熵...

3908
来自专栏机器学习算法工程师

你必须要知道CNN模型:ResNet

作者:叶 虎 编辑:张 欢 PART 01 ResNet简介 引言 深度残差网络(Deep residual network, ResNet)的提出是CNN...

7317
来自专栏机器学习算法原理与实践

受限玻尔兹曼机(RBM)原理总结

    在前面我们讲到了深度学习的两类神经网络模型的原理,第一类是前向的神经网络,即DNN和CNN。第二类是有反馈的神经网络,即RNN和LSTM。今天我们就总结...

1583
来自专栏开心的学习之路

主成分分析降维(MNIST数据集)

今天看了用主成分分析简化数据,就顺便用MNIST数据集做了下实验,想直观地看一下效果,并通过完成这个小demo深入理解下原理。 我发现“是什么、能做什么、怎么用...

4106

扫码关注云+社区

领取腾讯云代金券