【机器学习300问】8、为什么要设计代价函数(损失函数)?它有什么用?

一、先介绍一下线性回归模型

(1)基本概念理解

        文字解释:线性回归模型顾名思义,他处理的回归问题,是监督学习的一种。线性回归模型是一种预测模型,其基础是假设目标值和输入值之间存在线性关系。通过一条最佳拟合线(或者在多维情况下的一个超平面)对某些数据点进行拟合的过程。

        数学公式(最简单的一元线性方程):

        y=wx+b 

        其中的w是权重b是偏置,他们在机器学习中就是要学习的参数y是目标值x是输入值或者叫做特征量。线性回归模型的有效性基于一个关键假设,即输入变量与目标变量之间真实存在线性关系。如果这个假设不成立,那么模型的预测效果可能就会受到影响。

(2)实际应用举例

  • 商品销量预测:可以把销量设定为目标值,将价格、促销、节假日等因素设定为输入值,建立线性回归模型进行预测。
  • 房价预测:将房价设为目标值,将房屋的面积、位置、装修等级等因素设定为输入值,建立模型进行预测。
  • 股票价格预测:可以基于过往的股价、交易量等信息(输入值),建立线性回归模型,预测未来的股票价格(目标值)。

(3)线性回归模型中的名词或符号解释

名词或符号解释
x输入值、输入变量、特征值、特征量
y目标值、目标变量、真实值
\widehat{y}模型的预测值
m训练集样本总数
(x, y)某一个训练样本
模型

线性回归模型,其实就是一个函数,用符号f表示

损失函数

损失函数也可以叫代价函数,用符号J表示。模型在训练过程中用于度量预测输出与真实目标值之间差异的函数。通过优化这个函数(通常是使其最小化),机器学习算法得以调整其参数以获得更好的预测性能。

参数就是w和b,“学习”的目标就是找出能让预测最准确的w和b

(4)怎么得到最拟合数据的线呢?

        “线”就是线性回归模型,就多项式函数,这个问题其实也可以换成,怎么判断我找到的函数预测效果最好?如果有一种指标能将预测值和真实目标值之前的差距表示出来,就能作为判断预测好坏的标准。

二、从线性回归模型中理解代价函数

        让预测值减去真实值不就是误差了嘛!但是误差应该始终是一个正数才好让人理解,所以公式可以写成这样,其中平方就是为了让误差是正的。

        (\widetilde{y} - y)^{2}

        但这只有一个点的误差,我要是能在整体上把握这个线与所有点的误差,也就是说我要让我的所有样本点对于这个线都有最小的差距,这样就能真的判断是否真的预测精准了,于是可以用累加和处理。

        \sum_{i=1}^{m}(f(x^{i})-y^{i})^{2}

        这样我就得到了总误差,但我只是想预测下一个具体的x,他对应的y,所以还得除上m变成平均误差,这就是均方误差。

        \frac{1}{m}\sum_{i=1}^{m}(f(x^{i})-y^{i})^{2}

        我们给他取一个名字J函数,为了后面梯度下降求导计算方便,给他添加除个2,于是线性回归模型的损失函数最常用的均方误差 (Mean Squared Error, MSE)就是如下形式

        J(w,b) = \frac{1}{2m}\sum_{i=1}^{m}(f_{w,b}(x^{i})-y^{i})^{2}

y = wx的线性回归模型拟合示意图

三、代价函数的作用

        代价函数(也叫损失函数或成本函数)在机器学习模型中起着至关重要的作用。它用来衡量模型预测的准确性。

        换句话说,代价函数可以帮助我们理解模型的性能如何,模型的预测值与真实值相比差距有多大。代价函数有两个主要的作用:

(1)性能衡量

        代价函数为我们提供了一种方法来衡量预测值和真实值之间的差距。如果模型的预测值与实际值很接近,代价函数的值会很小,反之则很大。

(2)参数优化

        在训练机器学习模型的过程中,我们希望找到一组参数使得代价函数达到最小值。这通常通过优化算法(如梯度下降等)来实现。根据代价函数对参数的梯度,我们可以调整参数,使得模型的预测结果更接近真实值。

        因此,代价函数是机器学习中模型评估和优化的关键,它帮助我们量化模型的误差,并引导我们如何调整模型的参数以改进其性能。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[zabbix] zabbix监控其他

一、温习zabbix自定义监控 二、zabbix 自动发现与自动注册 2.1 zabbix 自动发现 //zabbix 自动发现(对于 agent2 是被动模式) zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。 缺点是如果定义的网段中的主机数…

71.网游逆向分析与插件开发-角色数据的获取-修复角色名与等级显示问题

内容参考于:易道云信息技术研究院VIP课 上一个内容:自动化助手UI显示角色数据-CSDN博客 码云地址(ui显示角色数据 分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号:0049452c079867779…

vue3+vite项目构建时报错npm ERR! code EPERMnpm ERR! syscall mkdir...

vscode终端中输入npm create vitelatest vueviteproject1 -- --vue命令后报错 具体报错如下: PS D:\project> npm create vitelatest vueviteproject1 -- --vue >> npm ERR! code EPERM npm ERR! syscall mkdir npm ERR! path D:\node\node_cache\_cac…

【软件测试】前端性能测试工具原理

不同于后端性能测试知识的琐碎、独立,这篇文章为你介绍前端性能测试工具WebPagetest,以一个具体网站为例,和你分析WebPagetest的用法,以及前端性能相关的主要概念与指标。 WebPagetest功能简介 WebPagetest,是前端性…

基于VGG-16的检测并清除杂草

目录 1 简介:检测并清除杂草 1.1 问题描述: 1.2 预期解决方案: 1.3 数据集: 1.4 图像展示: 2 数据预处理 2.1 数据集结构 2.2 部分数据分析 2.3 提取数据集 2.4 数据增强 2.5 构建数据集 3 使用VGG-16识别杂草图片 …

山海鲸:助力企业实现内外数据整合与价值挖掘

作为山海鲸的开发者,我们深知数字化转型对于企业发展的重要性。在不断钻研如何提升山海鲸可视化这款免费产品的实用性同时,也在不断推出各行实用解决方案,本文将介绍山海鲸企业数字化转型发展解决方案,探讨如何通过数据驱动创新&a…

WSL不同版本的Ubuntu更换清华镜像,加速Ubuntu软件下载速度

文章目录 不同版本的Ubuntu使用清华镜像,加速Ubuntu软件下载速度1. 备份源软件配置文件2. 复制镜像源3. 修改软件源配置文件4. 更新软件包列表,升级软件包等内容5. 从仓库中下载其它软件可能存在的问题 不同版本的Ubuntu使用清华镜像,加速Ubu…

Tuxera2024版本正式上线!(免费mac读写磁盘工具)

当您获得一台新 Mac 时,它只能读取 Windows NTFS 格式的 USB 驱动器。要将文件添加、保存或写入您的 Mac,您需要一个附加的 NTFS 驱动程序。Tuxera 的 Microsoft NTFS for Mac 是一款易于使用的软件,可以在 Mac 上打开、编辑、复制、移动或删…

【Dart】=> [03] Dart初体验-基础语法(运算符-算术-赋值-比较-逻辑-

目录 能够使用常用运算符操作数据算术运算符赋值运算符比较运算符逻辑运算符 能够使用常用运算符操作数据 学习内容: 算术运算符赋值运算符比较运算符逻辑运算符 算术运算符 用于实现基本的算术运算 常用算术运算符: 加、减、乘、除、取整、取模、自…

2023.1.15 关于 Redis 持久化 RDB 策略详解

目录 Redis 持久化 Redis 实现持久化的两大策略 RDB 策略 手动触发 save 命令 bgsave 命令 bgsave 命令执行流程 自动触发 rdb 文件 实例演示一 实例演示二 实例演示三 实例演示四 RDB 策略的优缺点 Redis 持久化 什么是持久化? 回答: 将数据存…

纯c实现顺序表 数据结构大全

我们已经知道数组是连续的内存地址,顺序表是由数组为基础的一种数据结构,拥有比数组更多的功能,在概念上属于线性结构,跟链表不同的是,顺序表在物理结构上也是线性的 什么是数据结构? 当我们想要使⽤⼤量使…

【教3妹学编程-算法题】3006. 找出数组中的美丽下标 I

3妹:呜呜,烦死了, 脸上长了一个痘 2哥 : 不要在意这些细节嘛,不用管它,过两天自然不就好了。 3妹:切,你不懂,影响这两天的心情哇。 2哥 : 我看你是不急着找工作了啊, 工作…

AI-基于Langchain-Chatchat和chatglm3-6b部署私有本地知识库

目录 参考概述部署安装环境准备原理和流程图一键启动启动WebAPI 服务启动WebUI服务 Docker部署知识库管理常见问题本地知识库怎么微调?回答不准确 参考 手把手教你搭建本地知识库问答AI机器人 LangChain-Chatchat:基于LangChain和ChatGLM2-6B构建本地离…

【小笔记】时序数据分类算法最新小结

2024.1.15 最近基于时序数据训练分类算法,对其进行了一番了解,主要围绕以下几点: 时序数据算法有哪些细分类?时序数据分类算法经典模型?当下时序分类算法模型强baseline?有没有现成的工具? 1…

Python - 深夜数据结构与算法之 位运算

目录 一.引言 二.位运算简介 1.二进制与十进制 2.左/右移 3.位运算 4.异或 XOR 5.指定位置的位运算 6.实战要点 三.经典算法实战 1.Number-1-of-bits [191] 2.Power-Of-Two [231] 3.Reverse-2-Bits [190] 4.N-Queens [51] 四.总结 一.引言 通常情况下我们计数采…

RequestResponse

1.Request 请求 作用:使用Request对象来获取请求数据 1.Request获取请求数据的方法 2.通用方式获取请求参数 3.POST请求参数中文乱码解决 4.请求转发 概念: 一种在服务器内部的资源跳转方式 2.Response 响应 作用:使用response对象设置响应数据 1.Response设置响应数据功能 …

【Emgu.CV教程】5.3、几何变换之金字塔变换

这一段文字描述来自百度百科: 图像金字塔是图像多尺度表达的一种,是一种以多分辨率来解释图像的有效但概念简单的结构。一幅图像的图像金字塔是一系列以金字塔形状(自下而上)逐步降低,且来源于同一张原始图的图像分辨率…

OpenCV-25sobel算子(索贝尔算子)

前面所提到的滤波都是用于降噪的,去掉噪声,而算子是用来找边界,来识别图像的边缘。 一、概念 边缘是像素值发生跃迁的值,是图像的显著特点之一,在图像特征提取,对象检测,模式识别等方面都有重…

数据结构与算法教程,数据结构C语言版教程!(第四部分、字符串,数据结构中的串存储结构)二

第四部分、字符串,数据结构中的串存储结构 串存储结构,也就是存储字符串的数据结构。 很明显,字符串之间的逻辑关系也是“一对一”,用线性表的思维不难想出,串存储结构也有顺序存储和链式存储。 提到字符串&#xff…

Java 日志体系泣血总结

目录 一. 前言 二. Log 日志体系 2.1. 背景/发展史 2.2. 关系/依赖 2.2.1. JCL(Jakarta Commons Logging) 2.2.2. SLF4J 2.2.3. SLF4J 的适配 2.2.4. Spring 统一输出 三. 总结 一. 前言 本文的目的是搞清楚 Java 中各种日志 Log 之间是怎样的关…