【机器学习】从线性回归模型看一个简单的成本函数

  • 🌸博主主页:@釉色清风
  • 🌸文章专栏:机器学习
  • 🌸今日语录:事情不做,越想越难;事情做了,越做越容易。

从线性回归模型看一个简单的成本函数

🌾🌾在上一篇文章中,我们用波特兰房屋面积大小与价格的关系,建立了线性回归模型。同时,在上篇文章中,我们基本了解到了机器学习中的专业名词以及符号表示。在这一次,同样又根据吴恩达老师的机器学习过程,总结成本函数(代价函数),这是很重要的,因为成本函数将告诉我们模型的运行情况,可以帮助我们尝试将模型做得更好。希望对大家有帮助。

🌼引入:模型参数

我们仍然以上一篇文章中的例子作为切入。

我们的训练集包含输入特征(input features)x和输出目标(output targets)y。

我们选定来拟合这个训练集的模型是线性函数。即:
M o d e l : f w , b ( x ) = w x + b Model:f_{w,b}(x)=wx+b Model:fw,b(x)=wx+b

其中,参数 w w w和 b b b被称为模型参数。

以我们之前中学的知识,我们知道 w w w和 b b b是待定参数,即变量。同样,在机器学习中也是如此。 w w w 和 b b b作为模型的参数,是我们可以在训练期间可以改进模型的变量。

🌼模型参数如何影响我们的模型

作为参数 w w w和 b b b到底会怎样影响我们的模型呢?

下面,我们通过简单的几种特殊情况的很简单的例子来看一下:

即简单的说明, w w w和 b b b的取值影响我们的"线",即影响我们的模型。

而对于我们的数据集,和我们定下的线性回归模型,我们需要选择 w w w和 b b b的值,以便我们的得到的函数f可以更好地拟合我们的数据。


(其中 y ^ \hat{y} y^是模型的预测值。)

这条直线,在视觉上,我们看起来是相符的,但是这粗略的判断或者大概的估计,是不严谨的,我们并不能通过"视觉观察"来寻求 w w w和 b b b的最优值。

所以,我们现在的问题,产生了,如何找到 w w w和 b b b的值,使得尽可能多的训练示例 x i x_i xi、 y i y_i yi的预测值 y ^ i \hat y_i y^i接近真实目标 y i y_i yi,使得拟合效果尽可能地好

🌼评价拟合效果------成本函数(Cost function)

那么现在怎么评价拟合效果尽可能地好呢?如何衡量拟合的结果呢?

为此,我们将构建一个成本函数(Cost function)。

成本函数其实就是,采用预测的 y ^ i \hat y_i y^i减去目标值 y y y,这样进行预测值和原真值的一个比较,即就是计算误差,测量预测与目标的距离。

但是如上,这样的误差可能是正、也可能是负,在数学中,衡量整体而非单个的误差,我们都要计算误差的绝对值或者平方(一般都是平方)。

通写如此。我们要为训练集中的不同训练示例i计算此项,即:

为了构建一个不会随着训练集大小而自动变大的成本函数,我们将计算平均平方误差而不是总平均误差,我们采用对每一个训练示例的误差求和再平均。

即:

按照惯例,机器学习使用的成本函数实际上时在上面此基础上再除以2,额外除以2只是为了让我们后面的一些计算看起来更加整洁。

成本函数,我们一般用J来代表成本函数,即:

J ( w , b ) J(w,b) J(w,b)这也称为平均误差成本函数。

在上述式子中, y ^ ( i ) \hat y^{(i)} y^(i)是预测值,可以写作为 f w , b ( x ( i ) ) f_{w,b}(x^{(i)}) fw,b(x(i))。故成本函数 J J J就可以写成了:

在机器学习中,不同的人会针对不同的应用程序使用不同的成本函数,但平方误差成本函数 J ( w , b ) J(w,b) J(w,b)是迄今为止线性回归最常用的函数。就此而言,对于所有的回归问题,它似乎为许多应用程序提供了良好的结果。

相关推荐
万少3 分钟前
小龙虾(openclaw),轻松玩转自动发帖
前端·人工智能·后端
飞哥数智坊2 小时前
openclaw 重大更新,真的懂我啊
人工智能
KaneLogger2 小时前
AI 时代编程范式迁移的思考
人工智能·程序员·代码规范
飞哥数智坊2 小时前
养虾记第2期:从“人工智障”到“赛博分身”,你的龙虾还缺这两个灵魂
人工智能
飞哥数智坊2 小时前
龙虾虽香,小心扎手!官方点名后,我们该怎么“养虾”?
人工智能
yiyu07162 小时前
3分钟搞懂深度学习AI:实操篇:卷积层
人工智能·深度学习
字节架构前端3 小时前
Skill再回首—深度解读Anthropic官方最新Skill白皮书
人工智能·agent·ai编程
冬奇Lab5 小时前
OpenClaw 深度解析(八):Skill 系统——让 LLM 按需学习工作流
人工智能·开源·源码阅读
冬奇Lab5 小时前
一天一个开源项目(第45篇):OpenAI Agents SDK Python - 轻量级多 Agent 工作流框架,支持 100+ LLM 与实时语音
人工智能·开源·openai