机器学习中的目标函数、损失函数、代价函数有什么区别?

作者:zzanswer
链接:https://www.zhihu.com/question/52398145/answer/209358209
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

谢谢评论区

@阿萨姆

老师的建议,完善下答案:

首先给出结论:损失函数和代价函数是同一个东西,目标函数是一个与他们相关但更广的概念,对于目标函数来说在有约束条件下的最小化就是损失函数(loss function)。

举个例子解释一下:(图片来自Andrew Ng Machine Learning公开课视频)

上面三个图的函数依次为 , , 。我们是想用这三个函数分别来拟合Price,Price的真实值记为

我们给定 ,这三个函数都会输出一个 ,这个输出的 与真实值 可能是相同的,也可能是不同的,为了表示我们拟合的好坏,我们就用一个函数来度量拟合的程度,比如:

,这个函数就称为损失函数(loss function),或者叫代价函数(cost function)。损失函数越小,就代表模型拟合的越好

那是不是我们的目标就只是让loss function越小越好呢?还不是。

这个时候还有一个概念叫风险函数(risk function)。风险函数是损失函数的期望,这是由于我们输入输出的 遵循一个联合分布,但是这个联合分布是未知的,所以无法计算。但是我们是有历史数据的,就是我们的训练集, 关于训练集的平均损失称作经验风险(empirical risk),即 ,所以我们的目标就是最小化 ,称为经验风险最小化

到这里完了吗?还没有。

如果到这一步就完了的话,那我们看上面的图,那肯定是最右面的 的经验风险函数最小了,因为它对历史的数据拟合的最好嘛。但是我们从图上来看 肯定不是最好的,因为它过度学习历史数据,导致它在真正预测时效果会很不好,这种情况称为过拟合(over-fitting)。

为什么会造成这种结果?大白话说就是它的函数太复杂了,都有四次方了,这就引出了下面的概念,我们不仅要让经验风险最小化,还要让结构风险最小化。这个时候就定义了一个函数 ,这个函数专门用来度量模型的复杂度,在机器学习中也叫正则化(regularization)。常用的有 , 范数。

到这一步我们就可以说我们最终的优化函数是: ,即最优化经验风险和结构风险,而这个函数就被称为目标函数

结合上面的例子来分析:最左面的 结构风险最小(模型结构最简单),但是经验风险最大(对历史数据拟合的最差);最右面的 经验风险最小(对历史数据拟合的最好),但是结构风险最大(模型结构最复杂);而 达到了二者的良好平衡,最适合用来预测未知数据集。

以上的理解基于Coursera上Andrew Ng的公开课和李航的《统计学习方法》,如有理解错误,欢迎大家指正。

原文地址:https://www.cnblogs.com/jingsupo/p/9007320.html

时间: 2024-10-07 20:48:21

机器学习中的目标函数、损失函数、代价函数有什么区别?的相关文章

机器学习中常见的损失函数

损失函数是机器学习中常用于优化模型的目标函数,无论是在分类问题,还是回归问题,都是通过损失函数最小化来求得我们的学习模型的.损失函数分为经验风险损失函数和结构风险损失函数.经验风险损失函数是指预测结果和实际结果的差别,结构风险损失函数是指经验风险损失函数加上正则项.通常表示为: θ*是我们通过损失函数最小化要求得的参数,一般都是通过梯度下降法来求得 1.0-1损失函数 0-1损失函数的表达式如下,常见于感知机模型中,预测正确则损失为0,预测错误则损失为1: 2.绝对值损失函数 3.log对数损失

机器学习中最小二乘与梯度下降发的区别

http://www.zhihu.com/question/20822481 知乎用户,非文, 非理 Spirit_Dongdong.Wildog.mt Practices 等人赞同 同意 @张子权 的说法, 稍微再补充一下. 看问题估计, 题主可能是在学 machine learning 的东西, 所以才会有此问题. 但正如其他人指出的, 其实两种方法并不太具有可比性. 不过我当时在学的时候也有类似的问题. 当时我的问题是, 最小二乘法的矩阵解法和梯度下降法的区别在哪里? 我估摸着题主可能是想

机器学习中目标函数、损失函数、代价函数之间的区别和联系

首先给出结论:损失函数和代价函数是同一个东西,目标函数是一个与他们相关但更广的概念,对于目标函数来说在有约束条件下的最小化就是损失函数(loss function) 举个例子解释一下:(图片来自Andrew Ng Machine Learning公开课视频) 上面三个图的函数依次为 , , .我们是想用这三个函数分别来拟合Price,Price的真实值记为 .我们给定 ,这三个函数都会输出一个 ,这个输出的 与真实值 可能是相同的,也可能是不同的,为了表示我们拟合的好坏,我们就用一个函数来度量拟

(转)机器学习中的损失函数

损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好.损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分.模型的结构风险函数包括了经验风险项和正则项,通常可以表示成如下式子: 其中,前面的均值函数表示的是经验风险函数,L代表的是损失函数,后面的ΦΦ是正则化项(regularizer)或者叫惩罚项(penalty term),它可以是L1,也可以是L2,或

机器学习中的范数规则化之(一)L0、L1与L2范数

机器学习中的范数规则化之(一)L0.L1与L2范数 [email protected] http://blog.csdn.net/zouxy09 转自:http://blog.csdn.net/zouxy09/article/details/24971995 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问题.这里因为篇幅比较庞大,为了不吓到大家,我将这个五个部分分成两篇博文.知识有限,以下都是我一

机器学习中的范数规则化

机器学习中的范数规则化之(一)L0.L1与L2范数 [email protected] http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问题.这里因为篇幅比较庞大,为了不吓到大家,我将这个五个部分分成两篇博文.知识有限,以下都是我一些浅显的看法,如果理解存在错误,希望大家不吝指正.谢谢. 监督机器学习问题无非就是"minimizeyour er

机器学习中防止过拟合的处理方法

原文地址:一只鸟的天空,http://blog.csdn.net/heyongluoyao8/article/details/49429629 防止过拟合的处理方法 过拟合 ??我们都知道,在进行数据挖掘或者机器学习模型建立的时候,因为在统计学习中,假设数据满足独立同分布(i.i.d,independently and identically distributed),即当前已产生的数据可以对未来的数据进行推测与模拟,因此都是使用历史数据建立模型,即使用已经产生的数据去训练,然后使用该模型去拟合

机器学习中的范数规则化 L0、L1与L2范数 核范数与规则项参数选择

http://blog.csdn.net/zouxy09/article/details/24971995 机器学习中的范数规则化之(一)L0.L1与L2范数 [email protected] http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问题.这里因为篇幅比较庞大,为了不吓到大家,我将这个五个部分分成两篇博文.知识有限,以下都是我一些浅显

paper 126:[转载] 机器学习中的范数规则化之(一)L0、L1与L2范数

机器学习中的范数规则化之(一)L0.L1与L2范数 [email protected] http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问题.这里因为篇幅比较庞大,为了不吓到大家,我将这个五个部分分成两篇博文.知识有限,以下都是我一些浅显的看法,如果理解存在错误,希望大家不吝指正.谢谢. 监督机器学习问题无非就是“minimizeyour er