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

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

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

    • 🌼引入:模型参数
    • 🌼模型参数如何影响我们的模型
    • 🌼评价拟合效果——成本函数(Cost function)

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

🌼引入:模型参数

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

我们的训练集包含输入特征(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)是迄今为止线性回归最常用的函数。就此而言,对于所有的回归问题,它似乎为许多应用程序提供了良好的结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1506531.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SpringBoo的火车订票管理系统(程序+文档+数据库)

** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 一、研究背景…

2024年【G2电站锅炉司炉】考试题及G2电站锅炉司炉证考试

题库来源:安全生产模拟考试一点通公众号小程序 2024年【G2电站锅炉司炉】考试题及G2电站锅炉司炉证考试,包含G2电站锅炉司炉考试题答案和解析及G2电站锅炉司炉证考试练习。安全生产模拟考试一点通结合国家G2电站锅炉司炉考试最新大纲及G2电站锅炉司炉考…

LVS (Linux Virtual server)集群介绍

一 集群和分布式 (一)系统性能扩展方式: Scale UP:垂直扩展,向上扩展,增强,性能更强的计算机运行同样的服务 (即升级单机的硬件设备) Scale Out:水平扩展&#xff0…

Python 学会typing的类型注解面向泛型编程

文章目录 文章开篇typing模块简介typing模块作用基本类型注解1.不使用类型注解2.使用类型注解 泛型1.List2.Tuple3.Set4.Dict 特殊类型1.Any2. Union2. Optional4. Callable 类型别名1.TypeVar2. NewType 更多技巧1.NoReturn和None2.Sequence3. Generator 总结 文章开篇 Python…

VUE_自适应布局lib-flexible+postcss-pxtorem、lib-flexible + postcss-px2rem,nuxt页面自适配

lib-flexible postcss-pxtorem适配 我采用的是flexable.js和postcss-pxtorem。我一开始用的是postcss-px2rem后来发现和nuxt引入公共css的时候发生了冲突所以改用了postcss-pxtorem。 安装依赖 npm i lib-flexible -S npm install postcss-pxtorem --save 1、lib-flexible.…

怎么在学习强国网上发布文章,学习强国投稿发稿方法途径,附学习强国多少钱价格明细表

学习强国是一款受用户欢迎的学习软件,许多人希望在其平台上发布自己的文章,以分享和传播自己的学习成果和心得体会。那么,怎么在学习强国网上发布文章呢?接下来,我们将介绍一些投稿发稿的方法和途径。 首先&#xff0c…

蓝桥杯刷题5--GCD和LCM

目录 1. GCD 1.1 性质 1.2 代码实现 2. LCM 2.1 代码实现 3. 习题 3.1 等差数列 3.2 Hankson的趣味题 3.3 最大比例 3.4 GCD 1. GCD 整数a和b的最大公约数是能同时整除a和b的最大整数,记为gcd(a, b) 1.1 性质 GCD有关的题目一般会考核GCD的性质。   …

Java开发从入门到精通(一):Java的进阶语法知识

Java大数据开发和安全开发 Java的方法1.1 方法是什么1.1.1 方法的定义1.1.2 方法如何执行?1.1.3 方法定义时注意点1.1.4 使用方法的好处是? 1.2 方法的多种形式1.2.1 无参数 无返回值1.2.2 有参数 无返回值 1.3 方法使用时的常见问题1.4 方法的设计案例1.4.1 计算1-n的和1.4.…

代码随想录刷题笔记 DAY 42 | 最后一块石头的重量 II No.1049 | 目标和 No.494 | 一和零 No.474

文章目录 Day 4301. 最后一块石头的重量 II&#xff08;No. 1049&#xff09;<1> 题目<2> 笔记<3> 代码 02. 目标和&#xff08;No. 494&#xff09;<1> 题目<2> 笔记<3> 代码 03. 一和零&#xff08;No. 474&#xff09;<1> 题目&l…

知名比特币质押协议项目Babylon确认参加Hack.Summit()2024区块链开发者大会

Babylon项目已确认将派遣其项目代表出席2024年在香港数码港举办的Hack.Summit()2024区块链开发者大会。作为比特币生态的领军项目&#xff0c;Babylon积极参与全球区块链领域的交流与合作&#xff0c;此次出席大会将为其提供一个展示项目进展、交流技术与创新思路的重要平台。B…

ssm游戏社交网站-计算机毕业设计源码05667

目 录 摘要 1 绪论 1.1 研究意义 1.2研究方法 1.3ssm框架 1.4论文结构与章节安排 2 2 游戏社交网站系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据增加流程 2.2.2 数据修改流程 2.2.3数据删除流程 2.3 系统功能分析 2.3.1功能性分析 2.3.2非功能性分析 2…

Intel® Extension for PyTorch*详细安装教程

最近在研究Intel的pytorch的加速拓展Intel Extension for PyTorch*,但是发现官网的文档全是英文的&#xff0c;不太好找安装教程。所以特此分享Intel Extension for PyTorch*的详细安装教程。 文章目录 一、安装所需系统要求1.1 硬件需求1.2 软件需求 二、准备2.1 安装驱动程序…

CVE-2024-27198 JetBrains TeamCity 身份验证绕过漏洞分析

漏洞简介 JetBrains TeamCity 是一款由 JetBrains 公司开发的持续集成和持续交付服务器。它提供了强大的功能和工具&#xff0c;旨在帮助开发团队构建、测试和部署他们的软件项目 JetBrains TeamCity发布新版本修复了两个高危漏洞JetBrains TeamCity 身份验证绕过漏洞(CVE-20…

【源码系列】基于SpringBoot的二手车交易系统的设计与实现

技术栈 用户端&#xff1a;uniapp&#xff08;vue语法&#xff09; 管理后台&#xff1a;vueelementUI 后台服务&#xff1a;SpringBootMyBatisPlusMySQL 版本支持&#xff1a;AndroidIOSH5小程序公众号 移动端 管理端

链表的基础

目录 顺序表 链表 需要注意的 链表的优势 单链表的实现 1.单链表的准备 2.单链表的结构体的创建 3.单链表的准备 4.前插 5.后插 6.后删 7.前删 8.任意位置前插 9.任意位置后插 10.删除 11.修改 12.打印 13.释放链表 总说链表难&#xff0c;但我感觉只要认真听讲…

10.网络文件系统( NFS)使用

网络文件系统&#xff08; NFS&#xff09; 使用 NFS 优点&#xff1a; 开发过程中不受开发板空间的限制&#xff0c;直接使用网络文件就像使用本地文件一样&#xff1b;调试过程中避免一一将编译后的应用程序和库文件复制到开发板上。 在开发板中使用网络文件系统可以为开发和…

python并发编程:异步IO(Asynchronous I/O)

异步IO(Asynchronous I/O) Linux下的asynchronous IO其实用得不多&#xff0c;从内核2.6版本才开始引入。先看一下它的流程&#xff1a; 用户进程发起read操作之后&#xff0c;立刻就可以开始去做其它的事。而另一方面&#xff0c;从kernel的角度&#xff0c;当它受到一个asyn…

Python实现ETS指标平滑模型(ETSModel算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 ETS模型&#xff08;Error-Trend-Seasonality Model&#xff09;&#xff0c;是一种广泛应用于时间序列…

蓝桥杯第一天

这题就是典型的位数贡献大于数量贡献&#xff0c; 1花的火柴更少&#xff0c;所以尽量用完10个1&#xff0c;然后其实就是简单的背包问题尽量拿最多的物品&#xff08;数字&#xff09;&#xff0c;限重为300&#xff0c;各物品&#xff08;数字&#xff09;的重量即为所需火柴…

数学建模-敏感度分析(美赛)

从多个不确定性因素中逐一找出对投资项目经济效益指标有重要影响的敏感性因素&#xff0c;并分析、测算其对项目经济效益指标的影响程度和敏感性程度&#xff0c;进而判断项目承受风险的能力。若某参数的小幅度变化能导致经济效益指标的较大变化&#xff0c;则称此参数为敏感性…