深入理解机器学习中的:目标函数,损失函数和代价函数「建议收藏」

深入理解机器学习中的:目标函数,损失函数和代价函数「建议收藏」参考知乎回答整理:https://www.zhihu.com/question/52398145主要参考:https://www.zhihu.com/question/52398145/answer/209358209基本概念:损失函数:计算的是一个样本的误差代价函数:是整个训练集上所有样本误差的平均目标函数:代价函数+正则化项实际应用:损失函数和代价函数是同一个东

大家好,又见面了,我是你们的朋友全栈君。

参考知乎回答整理:https://www.zhihu.com/question/52398145

主要参考:https://www.zhihu.com/question/52398145/answer/209358209

基本概念:

损失函数:计算的是一个样本的误差

代价函数:是整个训练集上所有样本误差的平均

目标函数:代价函数 + 正则化项

实际应用:

损失函数和代价函数是同一个东西,目标函数是一个与他们相关但更广的概念,举例说明:

深入理解机器学习中的:目标函数,损失函数和代价函数「建议收藏」

上面三个图的曲线函数依次为f1(x),f2(x),f3(x),我们想用这三个函数分别来拟合真实值Y。

我们给定x,这三个函数都会输出一个f(X),这个输出的f(X)与真实值Y可能是相同的,也可能是不同的,为了表示我们拟合的好坏,我们就用一个函数来度量拟合的程度。这个函数就称为损失函数(loss function),或者叫代价函数(cost function)

深入理解机器学习中的:目标函数,损失函数和代价函数「建议收藏」

损失函数越小,就代表模型拟合的越好。那是不是我们的目标就只是让loss function越小越好呢?还不是。这个时候还有一个概念叫风险函数(risk function)。风险函数是损失函数的期望,这是由于我们输入输出的(X,Y)遵循一个联合分布,但是这个联合分布是未知的,所以无法计算。但是我们是有历史数据的,就是我们的训练集,f(X)关于训练集的平均损失称作经验风险(empirical risk),所以我们的目标就是最小化经验风险。

深入理解机器学习中的:目标函数,损失函数和代价函数「建议收藏」

到这里完了吗?还没有。

如果到这一步就完了的话,那我们看上面的图,那肯定是最右面的f3(x)的经验风险函数最小了,因为它对历史的数据拟合的最好嘛。但是我们从图上来看它肯定不是最好的,因为它过度学习历史数据,导致它在真正预测时效果会很不好,这种情况称为过拟合(over-fitting)。为什么会造成这种结果?大白话说就是它的函数太复杂了,都有四次方了,这就引出了下面的概念,我们不仅要让经验风险最小化,还要让结构风险最小化。

这个时候就定义了一个函数J(f),这个函数专门用来度量模型的复杂度,在机器学习中也叫正则化(regularization)。常用的有L1, L2范数。到这一步我们就可以说我们最终的优化函数是: 

深入理解机器学习中的:目标函数,损失函数和代价函数「建议收藏」

即最优化经验风险和结构风险,而这个函数就被称为目标函数






版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140508.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月8日 下午2:40
下一篇 2022年5月8日 下午3:00


相关推荐

  • 十进制转十六进制方法

    十进制转十六进制方法十进制转十六进制方法 1 8421 法 先把十进制转为 2 进制 然后从右到左每四个划分为一组进行转换注意 1010 10 改为 A 1011 11 改为 B 1100 12 改为 C 1101 13 改为 D 1110 14 改为 E 1111 15 改为 F 如 28 的二进制为 00011100 转为十六进制为 1C 注意 0x 是十六进制的前缀用来区分其他进制 2 可以把十进制的数以 16 为权进行

    2026年3月16日
    3
  • SQL数据库数据类型_数据表的常见数据类型有哪些

    SQL数据库数据类型_数据表的常见数据类型有哪些文章目录1. 整数型● bigint(大整数)● int(整数)● smallint(短整数)● tinyint(微短整数)2. 精确数值型numeric | decimal(p[,s])3. 浮点型● real● float[(n)]4. 货币型●money● smallmoney5. 位型6. 字符型●char[(n)]●varchar[(n)]7. Unicode字符型● nchar[(n)…

    2022年8月18日
    8
  • phpstorm2021激活码_在线激活「建议收藏」

    (phpstorm2021激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS32PGH0SQB-eyJsaWNlbnNlSWQi…

    2022年3月26日
    340
  • Pytest(11)allure报告[通俗易懂]

    Pytest(11)allure报告[通俗易懂]前言allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面。mac环境:

    2022年7月31日
    11
  • CTR预估算法之FM, FFM, DeepFM及实践

    CTR预估算法之FM, FFM, DeepFM及实践目录目录CTR预估综述FactorizationMachines(FM)算法原理代码实现Field-awareFactorizationMachines(FFM)算法原理代码实现DeepFM算法原理代码实现参考文献CTR预估综述点击率(Clickthroughrate)是点击特定链接的用户与查看页面,电子邮…

    2022年6月12日
    42
  • sstream相关用法

    sstream相关用法 ①将数字转换为字符串       ②字符串转换为数字输入1234,输出1234输入123456分别输出12,34,56③把一行字符串放入流中,单词以空格隔开。之后把一个个单词从流中依次读取到字符串…

    2022年6月4日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号