机器学习-线性回归(参数估计之经验风险最小化)

给定一组包含 𝑁 个训练样本的训练集

我们希望能够 学习一个最优的线性回归的模型参数 𝒘 

现在我们来介绍线性回归的一种模型参数估计方法:经验风险最小化。

我们前面说过,对于标签 𝑦 和模型输出都为连续的实数值,平方损失函数非常合适衡量真实标签和预测标签之间的差异。

因此这里大家需要注意一点,经验风险最小化在线性回归中,一般使用均方误差作为损失函数。

一、先来理解一下均方误差作为损失函数时,对应的矩阵形式如何表示

(一)先来认识什么是二范数?

1、二范数的数学定义:

2、二范数的几何解释

3、二范数的代数解释

4、二范数的性质

5、二范数在机器学习中的应用

(二)再来理解均方误差的矩阵表示

线性回归中,均方误差(Mean Squared Error, MSE)二范数(L2L_2L2​范数)之间有密切的关系。均方误差实际上是预测误差向量的二范数的平方的均值,在矩阵形式下,可以用二范数的表达方式来表示。

1、均方误差(MSE)的定义

2、结合二范数的概念,则可以推导出:

二、现在我们回到标题,掌握如何通过经验风险最小化来学习线性回归的最优参数

在机器学习中,经验风险最小化(Empirical Risk Minimization, ERM)是一种常用的策略,用来在给定的训练数据上找到最优的模型参数。对于线性回归(Linear Regression),我们可以使用经验风险最小化来求解最优参数 w,从而最小化模型的损失。

(一)正规方程求解最优参数 w

1. 问题描述

假设我们有一个线性回归模型,其形式为:

其中:

目标:
利用经验风险最小化,学习最优的 w,使得模型的预测误差最小。

2. 经验风险最小化(ERM)框架

经验风险定义为训练数据上的损失函数的均值

对于线性回归,常用的损失函数是均方误差(MSE, Mean Squared Error)

因此,经验风险(均方误差)可表示为:

用矩阵表示:

ERM目标:
通过最小化均方误差来找到最优的 w:

3. 解析解求解过程

4. 示例:具体计算过程

假设数据如下:

x1x2y
125
3411
5617

5. 结论

使用经验风险最小化学习线性回归模型的步骤如下:

  1. 定义目标函数: 均方误差
  2. 最小化损失函数: 通过求导得到闭式解(正规方程)。
  3. 计算最优参数:
  4. 预测新数据: 使用得到的 w 进行预测。

(二)梯度下降法求解最优参数 w

除了使用正规方程求解最优参数 w之外,**梯度下降法(Gradient Descent)**也是一种常见的方法,尤其适用于高维数据或特征数量很大的情况下。梯度下降可以在没有直接解析解或矩阵维度过大导致计算成本过高时,提供一种更为高效的优化手段。

梯度下降法求解线性回归的最优参数

(1) 问题回顾

(2) 梯度下降法的基本思想

梯度下降是一种迭代优化算法,通过沿着损失函数梯度的反方向不断更新参数 w,直到收敛到最优值。

更新公式:

(3) 计算梯度

(4) 梯度下降算法步骤

(5) 示例

第 2 次迭代计算:

(6) 什么时候使用梯度下降?
  • 数据量大时
  • 特征数量多,尤其是当 XX稀疏时,梯度下降可有效利用稀疏矩阵优化。
  • 适用于在线学习,当数据逐步到来时,可以使用**随机梯度下降(SGD)**来不断更新模型。

梯度下降 vs 正规方程的比较

方法优点缺点适用场景
正规方程无需迭代,求解精确解,数学简单当数据量大时计算开销大低维数据,数据量较小时
梯度下降适合大规模数据,计算复杂度低需调参(学习率),可能收敛慢高维数据,流式数据处理

其他优化算法

除了梯度下降,线性回归的优化还可以使用:

  • 随机梯度下降(SGD):每次随机选择一个样本进行更新,适用于大数据集。
  • 动量梯度下降:加速收敛,减少震荡。
  • L-BFGS(拟牛顿法):适用于更复杂的回归问题。

其中动量梯度下降和L-BFGS(拟牛顿法),我们后面再学习。

结论

  1. 正规方程:适用于小规模数据,直接求解闭式解。
  2. 梯度下降法:适用于大规模数据,通过迭代优化找到近似解,尤其在高维和大数据集情况下表现更优。

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

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

相关文章

77,【1】.[CISCN2019 华东南赛区]Web4

有句英文,看看什么意思 好像也可以不看 进入靶场 点击蓝色字体 我勒个豆,百度哇 所以重点应该在url上,属于任意文件读取类型 接下来该判断框架了 常见的web框架如下 一,Python 框架 1.Flask URL 示例 1:http://…

c语言中的数组(上)

数组的概念 数组是⼀组相同类型元素的集合; 数组中存放的是1个或者多个数据,但是数组元素个数不能为0。 数组中存放的多个数据,类型是相同的。 数组分为⼀维数组和多维数组,多维数组⼀般⽐较多⻅的是⼆维数组。 数组创建 在C语言…

景联文科技加入AIIA联盟数据标注分委会

2025年1月16日,中国人工智能产业发展联盟(简称AIIA)数据委员会数据标注分委会(以下简称“分委会”)正式成立。景联文科技成为第一批AIIA联盟数据标注分委会委员单位。 数据标注分委会的成立旨在搭建数据标注领域产学研…

[笔记] 极狐GitLab实例 : 手动备份步骤总结

官方备份文档 : 备份和恢复极狐GitLab 一. 要求 为了能够进行备份和恢复,请确保您系统已安装 Rsync。 如果您安装了极狐GitLab: 如果您使用 Omnibus 软件包,则无需额外操作。如果您使用源代码安装,您需要确定是否安装了 rsync。…

消息队列篇--通信协议篇--AMOP(交换机,队列绑定,消息确认,AMOP实现实例,AMOP报文,帧,AMOP消息传递模式等)

AMQP(Advanced Message Queuing Protocol,高级消息队列协议)是一种开放的、跨平台的消息传递协议,旨在提供一种标准化的方式在不同的消息代理和客户端之间进行消息传递。AMQP不仅定义了消息格式和路由机制,还规定了如何…

小利特惠源码/生活缴费/电话费/油卡燃气/等充值业务类源码附带承兑系统

全新首发小利特惠/生活缴费/电话费/油卡燃气/等充值业务类源码附带U商承兑系统 安装教程如下 图片:

HTML<hgroup>标签

例子&#xff1a; 使用hgroup元素标记标题和段落是相关的&#xff1a; <hgroup> <h2>Norway</h2> <p>The land with the midnight sun.</p> </hgroup> 定义和用法&#xff1a; 标签<hgroup>用于包围标题和一个或多个<p&g…

14-6-3C++STL的list

&#xff08;一&#xff09;list的插入 1.list.insert(pos,elem);//在pos位置插入一个elem元素的拷贝&#xff0c;返回新数据的位置 #include <iostream> #include <list> using namespace std; int main() { list<int> lst; lst.push_back(10); l…

【2024年终总结】深圳工作生活评测

距离上次写年终总结已经过了一年半了&#xff0c;这一年半中哪怕经历了很多的事情&#xff0c;但是感觉又没发生什么。想写一些骚话&#xff0c;却总觉得自己无法完全表达&#xff0c;便也就这样&#xff0c;静静地记录下这一段时光。 现在是2025年&#xff0c;春节前的时光&am…

前端jquery 实现文本框输入出现自动补全提示功能

git仓库&#xff1a;web_study/some-demos/inputAutoFit at main Cong0925/web_study (github.com) 压缩包&#xff1a;已绑定到指定资源 示例图&#xff1a; 实现说明: 1.首先&#xff0c;html部分设置好相关的定位标签如图&#xff1a; 2.主要函数 3.默认数据

(5)STM32 USB设备开发-USB键盘

讲解视频&#xff1a;2、USB键盘-下_哔哩哔哩_bilibili 例程&#xff1a;STM32USBdevice: 基于STM32的USB设备例子程序 - Gitee.com 本篇为使用使用STM32模拟USB键盘的例程&#xff0c;没有知识&#xff0c;全是实操&#xff0c;按照步骤就能获得一个STM32的USB键盘。本例子是…

java后端之登录认证

基础登录功能&#xff1a;根据提供的用户名和密码判断是否存在于数据库 LoginController.java RestController Slf4j public class LoginController {Autowiredprivate UserService userService;PostMapping("/login")public Result login(RequestBody User user) {…

Spring--Bean的生命周期和循环依赖

Bean的生命周期和循环依赖 Bean 的生命周期了解么?Spring中的循环引用什么是循环引用&#xff1f;三级缓存解决循环依赖总结构造方法出现了循环依赖怎么解决&#xff1f; Bean 的生命周期了解么? 整体上可以简单分为四步&#xff1a;实例化 —> 属性赋值 —> 初始化 —…

【云安全】云原生-Docker(五)容器逃逸之漏洞利用

漏洞利用逃逸 通过漏洞利用实现逃逸&#xff0c;主要分为以下两种方式&#xff1a; 1、操作系统层面的内核漏洞 这是利用宿主机操作系统内核中的安全漏洞&#xff0c;直接突破容器的隔离机制&#xff0c;获得宿主机的权限。 攻击原理&#xff1a;容器本质上是通过 Linux 的…

【Uniapp-Vue3】request各种不同类型的参数详解

一、参数携带 我们调用该接口的时候需要传入type参数。 第一种 路径名称?参数名1参数值1&参数名2参数值2 第二种 uni.request({ url:"请求路径", data:{ 参数名:参数值 } }) 二、请求方式 常用的有get&#xff0c;post和put 三种&#xff0c;默认是get请求。…

基于SpringBoot的软件产品展示销售系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

hedfs和hive数据迁移后校验脚本

先谈论校验方法&#xff0c;本人腾讯云大数据工程师。 1、hdfs的校验 这个通常就是distcp校验&#xff0c;hdfs通过distcp迁移到另一个集群&#xff0c;怎么校验你的对不对。 有人会说&#xff0c;默认会有校验CRC校验。我们关闭了&#xff0c;为什么关闭&#xff1f;全量迁…

mysql学习笔记-数据库的设计规范

1、范式简介 在关系型数据库中&#xff0c;关于数据表设计的基本原则、规则就称为范式。 1.1键和相关属性的概念 超键:能唯一标识元组的属性集叫做超键。 候选键:如果超键不包括多余的属性&#xff0c;那么这个超键就是候选键 主键:用户可以从候选键中选择一个作为主键。 外…

高并发问题的多维度解决之道

‍‌​​‌‌​‌​‍‌​​​‌‌​​‍‌​​​‌​‌​‍‌​​‌​​‌​‍‌‌​​‌​‌​‍‌​‌​‌‌​​‍‌​‌​‌​​​‍‌​‌​‌​‌​‍‌​‌‌​​‌​‍‌​‌‌​​​​‍‌‌​​‌‌‌‌‍‌‌​​‌​‌‌‍‌​​​‌‌​​‍‌​​‌‌‌​​‍‌…

Windows Defender添加排除项无权限的解决方法

目录 起因Windows Defender添加排除项无权限通过管理员终端添加排除项管理员身份运行打开PowerShell添加/移除排除项的命令 起因 博主在打软件补丁时&#xff0c;遇到 Windows Defender 一直拦截并删除文件&#xff0c;而在 Windows Defender 中无权限访问排除项。尝试通过管理…