【机器学习】什么是代价函数?

系列文章目录


第四章 Python 机器学习入门之代价函数


目录

系列文章目录

文章目录

前言

一、什么是代价函数?

二、 w 和 b 有什么作用?

三、对代价函数的理解


前言

前面我们学习了什么是线性回归,为了构建线性回归模型,最重要的一步就是构建代价函数,

代价函数会告诉我们模型做的有多好,这样我们就可以试着 让它做的更好。
代价函数是机器学习中最普遍和最重要的概念之一,它用于线性回归和训练世界上许多先进的Al模型


一、什么是代价函数?

什么是代价函数?cost function

还是以之前卖房子的例子,如果我们有一个包含输入特性(features)的训练集 X 和 输出目标(targets) Y ,

这个训练集的模型是一个线性函数,f w, b (x) = w*x + b, 这个是x 的函数,

在机器学习中,w和b被称为模型的参数 parameters,
模型的参数是我们可以在训练中 调整的变量,通过改变这些变量来改进模型,
有时,w 和b 也会被称为系数 coefficients 或权重 weights 。

二、 w 和 b 有什么作用?

what do w,b do?
这个就取决于我们赋予w 和b 的值了,赋予不同的值,我们会得到不同的关于x 的函数 function 。

当w = 0, b = 1.5 时,y的预测值始终是一个常数1.5
当w = 0.5, b = 0 时,函数是一个过原点的,斜率为0.5 的直线
当w = 0.5, b = 1 时,函数是一个过(0,1)点的,斜率为0.5 的直线

三、对代价函数的理解

当我们有一个数据集时,如下图,


我们要做的就是给 w 和 b 赋值,使得函数f 得到的直线与数据吻合的很好

当绘出的线从视觉上符合数据时,我们可以把它想象成由f 定义的直线,大致通过或接近某个地方,函数f 为y 做了一个预测性的值

问题是,我们如何去找到w 和 b ,  在许多的训练例子中,我们预测y ,使得预测的值接近真实的值,也就是输出目标y,

让我们先来看看如何测量训练数据的对齐程度,我们要构造代价函数,代价函数取预测的y 值,通过取预测的y 值与真实y 值之差,与真实y 值相比较,
预测的y 值与真实y 值之差,这种差异称为误差,我们在测量下一个预测离目标有多远

一般情况,我们会计算这个误差的平方,对于不同的训练例子,我们都要计算这个项,所以当测量误差时,要计算所有的误差

如果我们想测量整个训练集的误差,我们需要计算这些平方误差的总和。

m 是训练例数,m 越大,我们计算出来的代价函数就越大,因为它总结了更多的例子,

所以如果我们要建立一个不会自动变大的代价函数,也就是不会随例子变多而值变大,我们将计算平均平方误差,而不是总平方误差,最后将总平方误差除以m即可。

但是,机器学习的人使用的代价函数实际上是m 的两倍,所以最后我们会将总平方误差除以2m,这样做可以为我们以后的一些计算更简洁一些。

不管除不除2,代价函数都有效,所以图中的表达式就是代价函数,用j 代表代价函数,

代价函数也被称为平方误差代价函数,它之所以这样叫,因为在机器学习中,我们需要取这些误差项的平方,不同的人会针对不同的应用使用不同的代价函数。

平方误差代价函数是线性回归中最常用的函数,对于所有的回归问题,它对许多应用都有很好的效果,

预测y 等于模型f 在 输入x 后的输出,
最后我们要找出w 和b 的值使得代价函数很小

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓亮.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值