损失函数(目标函数)

损失函数(目标函数)是用来衡量模型的预测值与实际值之间差异的函数。对于线性回归问题,最常用的损失函数是平方误差损失函数,也称为均方误差(Mean Squared Error, MSE)。

平方误差损失函数的形式是:
J ( θ ) = 1 2 m ∑ i = 1 m ( y i − h θ ( x i ) ) 2 J(\theta) = \frac{1}{2m} \sum_{i=1}^{m} (y^{i} - h_{\theta}(x^{i}))^2 J(θ)=2m1i=1m(yihθ(xi))2

这个损失函数的来源是最小二乘法(Least Squares Method),其目标是最小化预测误差的平方和。下面是这个损失函数的推导过程:

  1. 定义误差项:
    首先,我们定义每个数据点的误差项 e i { e^{i}} ei为模型的预测值与实际值之间的差异,即: e i = y i − h θ ( x i ) e^{i}=y^{i} - h_{\theta}(x^{i}) ei=yihθ(xi)其中, h θ ( x i ) h_{\theta}(x^{i}) hθ(xi)是由参数 θ \theta θ决定的模型对第 i i i个观测值的预测。
  2. 平方误差:
    然后,我们计算每个数据点的误差的平方,这是为了处理误差的正负号,使得过小的误差不会被忽略,同时过大的误差会受到更多的惩罚: ( e i ) 2 = ( y i − h θ ( x i ) ) 2 (e^{i})^2=(y^{i} - h_{\theta}(x^{i}))^2 (ei)2=(yihθ(xi))2
  3. 求和:
    我们对所有训练数据的平方误差求和,以获得模型在整个训练集上误差的总和: ∑ i = 1 m ( y i − h θ ( x i ) ) 2 \sum_{i=1}^{m} (y^{i} - h_{\theta}(x^{i}))^2 i=1m(yihθ(xi))2
  4. 均值:
    为了使得损失函数不受样本数量 m m m的影响,我们取平方误差的均值,即除以 m m m 1 m ∑ i = 1 m ( y i − h θ ( x i ) ) 2 \frac{1}{m} \sum_{i=1}^{m} (y^{i} - h_{\theta}(x^{i}))^2 m1i=1m(yihθ(xi))2
  5. 乘以 1/2:
    最后,我们常常在损失函数前面乘以 1 2 \frac{1}{2} 21,这样做的主要原因是在对损失函数求导时,这个系数可以正好抵消掉平方项前的 2,简化后续的求导计算: J ( θ ) = 1 2 m ∑ i = 1 m ( y i − h θ ( x i ) ) 2 J(\theta) = \frac{1}{2m} \sum_{i=1}^{m} (y^{i} - h_{\theta}(x^{i}))^2 J(θ)=2m1i=1m(yihθ(xi))2

在实际的线性回归模型训练中,我们通过最小化这个损失函数来找到最优的参数 θ \theta θ,使得模型的预测值尽可能地接近实际值,这个过程通常是通过梯度下降来完成的。

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

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

相关文章

某60内网渗透之跨平台横向移动【windows计划任务利用】

内网渗透 文章目录 内网渗透跨平台横向移动【windows计划任务利用】实验目的实验环境实验工具实验原理实验内容跨平台横向移动[windows计划任务利用] 实验步骤针对 WindowsXP/2003 的利用方式(at命令)针对 Windows Vista 及以上版本的利用方式(schtasks命令)跨平台横向移动…

轻快小miniconda3在linux下的安装配置-centos9stream-Miniconda3 Linux 64-bit

miniconda与anaconda的区别: Miniconda 和 Anaconda 是用于管理环境和安装软件包的 Python 发行版。它们之间的主要区别在于以下几点: 1. 安装内容和大小: Anaconda: Anaconda 是一个完整的 Python 数据科学平台,包含…

easyui实现省市县三级联动

一、技术: 前端采用的是easyui+jquery+jsp页面 后端采用springmvc+mybatis+mysql8 效果图 二、cascadeEasyui.jsp页面 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%String path = request.getContex…

wait notify

文章目录 1. API 介绍2. 怎么使用wait、notify2.1 sleep 和 wait 的区别2.2 sleep 和 wait 的使用模板 1. API 介绍 都属于 Object 对象的方法。必须获得此对象的锁&#xff0c;才能调用这几个方法&#xff0c;只有重量级锁才能调用wait、notify obj.wait() 让进入 object 监…

vue中实现数字+英文字母组合键盘

完整代码 <template><div class"login"><div click"setFileClick">欢迎使用员工自助终端</div><el-dialog title"初始化设置文件打印消耗品配置密码" :visible.sync"dialogSetFile" width"600px&quo…

持续集成交付CICD:Sonarqube自动更新项目质量配置

目录 一、实验 1.Sonarqube手动自定义质量规则并指定项目 2.Sonarqube自动更新项目质量配置 一、实验 1.Sonarqube手动自定义质量规则并指定项目 &#xff08;1&#xff09;自定义质量规则 ①新配置 ②更多激活规则③根据需求激活相应规则④已新增配置 ⑤ 查看 &#x…

Hive数据库系列--Hive数据类型/Hive字段类型/Hive类型转换

文章目录 一、Hive数据类型1.1、数值类型1.2、字符类型1.3、日期时间类型1.4、其他类型1.5、集合数据类型1.5.1、Struct举例1.5.2、Array举例1.5.3、Map举例 二、数据类型转换2.1、隐式转换2.2、显示转换 本章主要讲解hive的数据类、字段类型。官网文档地址见https://cwiki.apa…

二百一十三、Flume——Flume拓扑结构介绍

一、目的 最近在看尚硅谷的Flume资料&#xff0c;看到拓扑结构这一块&#xff0c;觉得蛮有意思&#xff0c;于是整理一下Flume的4种拓扑结构 二、拓扑结构 &#xff08;一&#xff09;简单串联 1、结构含义 这种模式是将多个flume顺序连接起来了&#xff0c;从最初的sourc…

【数据结构】- 详解哈夫曼树(用 C 语言实现哈夫曼树的构造和哈夫曼编码)

目录 一、哈夫曼树的基本概念 二、哈夫曼树的构造算法 2.1 - 哈夫曼树的构造过程 2.2 - 哈夫曼树的存储表示 2.3 - 算法实现 三、哈夫曼编码 3.1 - 哈夫曼编码的主要思想 3.2 - 哈夫曼编码的性质 3.3 - 算法实现 一、哈夫曼树的基本概念 哈夫曼树的定义&#xff0c;涉…

vue3版本学习

1&#xff0c;响应式ref或者reactive const aa ref(hello) const bb reactive({ aa: hello, ss: workd }) 2&#xff0c;计算属性 响应式属性经过计算得到的值(ref)&#xff0c;放到模板中&#xff0c;只会随着响应式author.books属性变化而变化 const autor …

Hazelcast分布式内存网格(IMDG)基本使用,使用Hazelcast做分布式内存缓存

文章目录 一、Hazelcast简介1、Hazelcast概述2、Hazelcast之IMDG3、数据分区 二、Hazelcast配置1、maven坐标2、集群搭建&#xff08;1&#xff09;组播自动搭建 3、客户端4、集群分组5、其他配置 三、Hazelcast分布式数据结构1、IMap2、IQueue&#xff1a;队列3、MultiMap4、I…

网络安全(四)--Linux 主机防火墙

7.1. 介绍 防火墙&#xff08;Firewall&#xff09;&#xff0c;也称防护墙&#xff0c;是由Check Point创立者Gil Shwed于1993年发明并引入国际互联网&#xff08;US5606668&#xff08;A&#xff09;1993-12-15&#xff09;。 它是一种位于内部网络与外部网络之间的网络安全…

人工智能-编译器和解释器

编译器和解释器 命令式编程使用诸如print、“”和if之类的语句来更改程序的状态。 考虑下面这段简单的命令式程序&#xff1a; def add(a, b):return a bdef fancy_func(a, b, c, d):e add(a, b)f add(c, d)g add(e, f)return gprint(fancy_func(1, 2, 3, 4)) 10 Python…

LeetCode 1745.分割回文串IV(动态规划)

题目 给你一个字符串 s &#xff0c;如果可以将它分割成三个 非空 回文子字符串&#xff0c;那么返回 true &#xff0c;否则返回 false 。 当一个字符串正着读和反着读是一模一样的&#xff0c;就称其为 回文字符串 。 示例 1&#xff1a; 输入&#xff1a;s “abcbdd” …

基于Maven的Spring Boot应用版本号获取解析

引言 在Spring Boot应用的开发和部署中&#xff0c;了解应用的版本号对于管理和监控应用至关重要。本文将深入解析一种基于Maven打包的Spring Boot应用中&#xff0c;根据不同的运行环境获取应用版本号的解决方案。在开始介绍代码之前&#xff0c;我们先来了解一下可能的文件目…

课题学习(十五)----阅读《测斜仪旋转姿态测量信号处理方法》论文

一、 论文内容 1.1 摘要 为准确测量旋转钻井时的钻具姿态&#xff0c;提出了一种新的信号处理方法。测斜仪旋转时&#xff0c;垂直于其旋转轴方向加速度计的输出信号中重力加速度信号分量具有周期性特征&#xff0c;以及非周期性离心加速度分量频率低于重力加速度信号分量频率…

tomcat安全基线检查

介绍 Apache Tomcat 是一款广泛使用的开源Web应用服务器,它主要实现了Java Servlet、JavaServer Pages (JSP) 和 Java Expression Language 规范,使得开发者可以构建和部署由Java编写的Web应用程序。作为一个成熟且经过广泛测试的解决方案,Tomcat 在业界享有较高的声誉,特别…

三、jvm中的对象及引用

一、对象在jvm的创建过程 检查加载-->分配内存-->内存空间初始化-->设置-->对象初始化 1) 检查加载 首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用&#xff0c;并且检查类是否已经被加载、解析和初始化过。 虚拟机遇到一条 new 指令时&#xf…

mybatis的分页插件

在mybatis核心配置文件中&#xff1a; 这时已经用了SSM整合&#xff0c;好多像是mapper或者数据源等都移出去了 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""…

Zabbix自定义飞书webhook告警媒介2

说明:适用于7.0及以上版本,低版本可能会有问题。 参数如下: 名称 值EVENT.DURATION{EVENT.DURATION}EVENTDATE