代价函数总结[通俗易懂]

代价函数总结[通俗易懂]代价函数是学习模型优化时的目标函数或者准则,通过最小化代价函数来优化模型。到目前为止,接触了一些机器学习算法,但是他们使用的代价函数不一定是一样的,由于,在现实的使用中,通常代价函数都需要自己来确定,所以,这里总结一下,代价函数都有哪些形式,尽量揣测一下,这样使用的原因。1.均方差代价函数这个是Andrewng的机器学习课程里面看到的损失函数,在线性回归模型里面提出来的。表示模型所预测(假设

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

代价函数是学习模型优化时的目标函数或者准则,通过最小化代价函数来优化模型。到目前为止,接触了一些机器学习算法,但是他们使用的代价函数不一定是一样的,由于,在现实的使用中,通常代价函数都需要自己来确定,所以,这里总结一下,代价函数都有哪些形式,尽量揣测一下,这样使用的原因。

1. 均方差代价函数

这里写图片描述
这个是Andrew ng的机器学习课程里面看到的损失函数,在线性回归模型里面提出来的。这里写图片描述表示模型所预测(假设)的输出,这里写图片描述是真实的输出,即label。
个人猜测,均方差应该是
这里写图片描述
由于对给定的数据集来说,n是确定的值,因此,可以等同于式(1)。

这个形式的代价函数计算Jacobian矩阵如下:
这里写图片描述

2. 对数损失函数

对数似然作为代价函数是在RNN中看到的,公式如下:
这里写图片描述
表示真实目标在数据集中的条件概率的负对数。其意义在于,在很多预测目标概率的模型中,将最大概率对应的类型作为输出类型,因此,真实目标的预测概率越高,分类越准确,学习的目标是真实目标的预测概率最大化。而概率是小于1的,其对数值小于0,且对数是单调递增的,因此,当负对数最小化,就等同于对数最大化,概率最大化。
逻辑回归中的代价函数实际上就是对数似然的特殊表示的方式:
这里写图片描述
二项逻辑回归的输入这里写图片描述是预测目标为1的概率,这里写图片描述的值为1或0.因此,目标为0的概率为这里写图片描述,当真实的目标是1时,等式右边第二项为0,当真是目标为0时,等式右边第一项为0,因此,对于单个样本,L就是负对数似然。
同理,对于softmax回归的概率函数为
这里写图片描述
未添加权重惩罚项的代价函数为
这里写图片描述

3.交叉熵

交叉熵在神经网络中基本都用交叉熵作为代价函数。
这里写图片描述
这和逻辑回归的代价函数很像,y作为真实的目标(label),不一定是二值的,且a不是预测目标的概率,而是神经网络的输出,
它的原理还不是很明白,据说在神经网络中用交叉熵而不用均方差代价函数的原因是早期的神经元的激活函数是sigmoid函数,而此函数在大部分取值范围的导数都很小,这样使得参数的迭代很慢。
而交叉熵的产生过程网友是这样推导的:
这里写图片描述
这里写图片描述

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

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

(0)
上一篇 2022年4月29日 下午5:20
下一篇 2022年4月29日 下午5:40


相关推荐

  • 原创元宝AI管家上线,重新定义效率天花板,多款效率App沦为摆设

    原创元宝AI管家上线,重新定义效率天花板,多款效率App沦为摆设

    2026年3月12日
    3
  • VMware 虚拟机如何连接网络「建议收藏」

    VMware 虚拟机如何连接网络「建议收藏」ps:本教程是针对虚拟机NAT模式连接网络一、首先查看自己的虚拟机服务有没有开启,选择电脑里面的服务查看;1.计算机点击右键选择管理2.进入管理选择VM开头的服务如果没有开启的话就右键开启二、虚拟机服务开启后就查看本地网络虚拟机的网卡启动没有1.电脑右下角网络标志右键进入网络和共享中心2.点击更改适配器,查看虚拟机的虚拟网卡启动没有,没有启动的话右键点击启动3.网卡开启后设置ip地址

    2022年4月20日
    2.8K
  • Ubuntu 推荐 Mysql 可视化管理工具

    Ubuntu 推荐 Mysql 可视化管理工具在使用 Linux 系统的时候找了好几个 Mysql 可视化管理工具 也一一使用了遍 3 种 DBServer 免费 第一个是 DbServer 只不过装的时候好像要装 java 环境 不然运行不了 这里我就不讲安装方法了 Workbench 免费 下载地址 workbench mysql 64 位下载成功后 执行命令 sudodpkg imysql workbench c

    2026年3月17日
    2
  • StringBuilder和StringBuffer的区别

    StringBuilder和StringBuffer的区别StringBuilder和StringBuffer的区别在哪里?当接触这个问题的时候,我们可能第一反应就是,StringBuilder是线程不安全的,StringBuffer是线程安全的为什么StringBuilder是线程不安全,StringBuffer是线程安全?针对这个问题,大部分的人可能就无言以对了,我们只知道StringBuilder是线程不安全的,StringBuffer…

    2022年6月28日
    25
  • 阿里java高级工程师面试100题「建议收藏」

    阿里java高级工程师面试100题「建议收藏」大型网站架构技术QQ群:3686148491,java堆,分新生代老年代,新生代有Eden,fromsurviver,tosurviver三个空间,堆被所有线程共。eden内存不足时,发生一次minorGC,会把fromsurvivor和eden的对象复制到tosurvivor,这次的to survivor就变成了下次的fromsurvivor,经过多次minorGC,默认15次…

    2022年6月9日
    60
  • “养龙虾”突然爆火,最新提醒

    “养龙虾”突然爆火,最新提醒

    2026年3月13日
    2

发表回复

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

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