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

news2025/1/11 20:51:17

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

(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)参数优化

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

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

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

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

相关文章

矩阵快速幂技巧练习(一)— 经典牛问题

上一篇文章简单介绍了斐波那契数列的矩阵乘法,并做了一个小推广,这篇文章来小试牛刀,做一个经典的练习题。 求斐波那契数列矩阵乘法的方法 题目 第一年农场有一只成熟的母牛A,往后的每年: 每一只成熟的母牛都会生一只…

websocket项目 聊天室

1.项目概述 这个项目是一个基本的实时聊天应用,适用于小型团队或群体。提供了多个聊天室供用户选择。可以通过该代码进行进一步的扩展和定制,例如添加聊天机器人、改进界面等。 2.技术栈 flask,boostrapt,websocket&#xff0c…

【Rust】get_local_info 0.2.4发布

发布0.2.4,修正0.2.3([我的Rust库更新]get_local_info 0.2.3-CSDN博客)中存在的峰值算法bug,现已提交力扣并通过,耗时0ms

[笔记]深度学习入门 基于Python的理论与实现(二)

2. 感知机 感知机(perceptron)是由美国学者 Frank Rosenblatt 在 1957 年提出的。它作为神经网络(深度学习)的起源的算法,是学习神经网络和深度学习的重要一环 严格地说,本章所说的感知机应该称为‘人工神经元’或‘朴素感知机’&…

排序算法8----归并排序(非递归)(C)

1、介绍 归并排序既可以是内排序(在内存上的数据排序),也可以是外排序(磁盘上)(硬盘)(在文件中的数据排序)。 其他排序一般都是内排序。 区别于快速排序的非递归&#xf…

uni-app的学习【第三节】

五 运行环境判断与跨端兼容 uniapp为开发者提供了一系列基础组件,类似HTML里的基础标签元素,但uni-app的组件与HTML不同,而是与小程序相同,更适合手机端使用。 虽然不推荐使用 HTML 标签,但实际上如果开发者写了`div`等标签,在编译到非H5平台时也会被编译器转换为 `view`…

爬虫-8-数据存储-mysql

#mysql占空间最小吧,数据存储没问题吧 (//∇//)

Flowable:BpmnModel API

之前都是使用工具在绘制流程图,但是还是很少去认真的去看这个xml,有时候我们要从xml中分析获取一些结果,这个时候就要对xml及对应的api有足够的认识。 一:重新认识bpmn definitions:根节点用于定义流程。 bpmndi:BPMND…

台式OLED透明屏的6大基本要素

台式 OLED 透明屏作为一种创新的显示技术,正逐渐走进人们的视野。本文将为您全面介绍台式 OLED 透明屏的各个方面,包括类别、尺寸、技术参数原理、应用、主要厂家(尼伽)以及价格因素。 一、类别台式 OLED 透明屏根据不同的需求和应…

Java 实现双链表

文章目录 双链表(Doubly Linked List)是一种常用的数据结构,它与单链表相似,但每个节点除了包含指向下一个节点的指针外,还包含一个指向前一个节点的指针。 双链表的节点由三部分组成:数据域(存…

帆软报表11.0.19增加postgres数据源方案

项目使用postgres数据库,帆软报表集成开发时需要手工增加该数据源。 https://help.fanruan.com/finereport/doc-view-2563.html 但增加数据源后测试报告无此驱动,经查看文档,现在是通过驱动管理来上传, 但新版又不允许上传驱动JAR…

威尔·库尔特《趣学贝叶斯统计:橡皮鸭、乐高和星球大战中的统计学》学习笔记(1):以A/B测试为例学习贝叶斯统计

主要是新学期的概率论的作业要求:Write a summary (no more than of a page) of your experience with an application of probability to a real-life situation (e.g., an engineering problem. –How was probability used to model the phenomena/situation?…

力扣刷题(无重复字符的最长子串)

3. 无重复字符的最长子串https://leetcode.cn/problems/longest-substring-without-repeating-characters/ 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是…

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

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

6、CLIP:连接文本和视觉世界的预训练模型

目录 一、论文题目 二、背景与动机 三、创新与卖点 四、技术细节 模型结构 简易代码 clip实现zero shot分类 五、为什么是CLIP?为什么是对比学习? 六、一些资料 在人工智能领域,文本和图像是两个极其重要的数据形式。传统上,机器学…

python 集合的详细用法

当前版本: Python 3.8.4 简介 Python中的集合是一种无序、可哈希的且不重复的数据类型,用于存储唯一的元素。集合的实现基于哈希表,因此在插入、查找和删除元素时具有高效性能。集合的每个元素都必须是不可变的,可以是数字、字符…

阿里AnyText:多语种图像文字嵌入的突破

模型简介 随着Midjourney、Stable Difusion等产品的兴起,文生图像技术迅速发展。然而,在图像中生成或嵌入精准文本一直是一个挑战,尤其是对中文的支持。阿里巴巴的研究人员开发了AnyText,这是一个多语言视觉文字生成与编辑模型&a…

SpringBoot 全局异常统一处理:BindException(绑定异常)

概述 在Spring Boot应用中,数据绑定是一个至关重要的环节,它负责将HTTP请求中的参数映射到控制器方法的入参对象上。在这个过程中如果遇到任何问题,如参数缺失、类型不匹配或验证失败等,Spring MVC将会抛出一个org.springframewo…

安达发|APS工序排程甘特图功能介绍

工序排程甘特图的主要功能 1. 显示工序时间安排:工序排程甘特图可以清晰地展示生产过程中各个工序的开始时间、结束时间和持续时间,从而帮助企业了解生产过程中各个环节的时间安排。 2. 显示工序进度情况:通过工序排程甘特图,企业…

通过myBatis将sql语句返回的值自动包装成一个java对象(3)

1.如果sql字段和java字段名字不一样怎么办? 之前我们将sql返回值转换为java对象时,每条sql的返回值的字段名和java类中的字段名是一一对应的,ie:sql选择的user有username和password两个字段,java中的user对象也有两个…