当前位置: 首页 > article >正文

【深度学习与实战】2.3、线性回归模型与梯度下降法先导案例--最小二乘法(向量形式求解)

为了求解损失函数 loss = (f(x)-y)^2 = (wx-y)^2对 w 的导数,并利用最小二乘法向量形式求解 w 的值‌

这是‌线性回归‌的平方误差损失函数,目标是最小化预测值 X_w 与真实值 y 之间的差距。

损失函数‌:
考虑多个样本的情况,损失函数为所有样本的平方误差之和:

L = (Xw-Y)^2

                      =( X w-Y )^{\top} ( X w-Y )

                                                         =w^{\mathsf{T}} X^{\mathsf{T}} X w-Y^{\mathsf{T}} X w-w^{\mathsf{T}} X^{\mathsf{T}} Y+Y^{\mathsf{T}} Y

  • L 是损失函数
  • X 是 n\times m 的设计矩阵(n个样本,m个特征)。
  • w是 m\times 1 的权重向量。
  • Y是 n\times 1 的目标值向量。
  • 对于两个列向量\partialb,它们的点积(内积)就是\partial ^Tb,  \partial ^T是向量 \partial 的转置

针对 f(x) =w^{\mathsf{T}} X^{\mathsf{T}} X w-Y^{\mathsf{T}} X w-w^{\mathsf{T}} X^{\mathsf{T}} Y+Y^{\mathsf{T}} Y函数求导,有一下性质:

\frac{\partial AB}{\partial B} = A^T,\frac{\partial A^TB}{\partial A} = B,\frac{\partial C^TAC}{\partial C} = 2AC

对每项求导 
 第一项   w^{\mathsf{T}} X^{\mathsf{T}} X w

        将 \frac{\partial C^TAC}{\partial C} = 2AC 公式代入得

        X^T \cdot w^T X w  \Rightarrow  X^T\cdot 2AC \Rightarrow 2X^TXw

        w^{\mathsf{T}} X^{\mathsf{T}} X w  = 2X^TXw

        其中  w^T  为 C^TX 为 Aw 为 c

第二项  Y^{\mathsf{T}} X w

        将 \frac{\partial AB}{\partial B} = A^T 公式代入得

       Y^{\mathsf{T}} X \cdot w\Rightarrow A^T \Rightarrow (Y^{\mathsf{T}} X)^T

         Y^{\mathsf{T}} X w = (Y^{\mathsf{T}} X)^T

        其中 Y^{\mathsf{T}} X 为 A,w 为 B

第三项 w^{\mathsf{T}} X^{\mathsf{T}} Y

        将 \frac{\partial A^TB}{\partial A} = B 代入得

        w^{\mathsf{T}} \cdot X^{\mathsf{T}} Y\Rightarrow B\Rightarrow X^{\mathsf{T}} Y

        w^{\mathsf{T}} X^{\mathsf{T}} Y = X^{\mathsf{T}} Y

        其中 w^T 为 A^T,X^{\mathsf{T}} Y 为 B

第四项 没有 w 看作常数项 常数项的导数为0
合并项得

        f(x) =w^{\mathsf{T}} X^{\mathsf{T}} X w-Y^{\mathsf{T}} X w-w^{\mathsf{T}} X^{\mathsf{T}} Y+Y^{\mathsf{T}} Y

     = 2X^TXw-(Y^{\mathsf{T}} X)^T-X^{\mathsf{T}} Y+0

=2X^TXw-X^{\mathsf{T}} Y-X^{\mathsf{T}} Y         

=2X^TXw-2X^{\mathsf{T}} Y                      

=2(X^TXw-X^{\mathsf{T}} Y)                     

 令 \frac{\partial f(w)}{\partial w} = 0,得

 2(X^TXw-X^{\mathsf{T}} Y) = 0

X^TXw=X^{\mathsf{T}} Y

(X^TX)^{-1}X^TXw=(X^TX)^{-1}X^{\mathsf{T}} Y (X^TX 可逆时)

w=(X^TX)^{-1}X^{\mathsf{T}} Y

(X^TX)(X^TX)^{-1}互为逆矩阵  (X^TX)(X^TX)^{-1} = 1

得出结果
   w=(X^TX)^{-1}X^{\mathsf{T}} Y

解释:

(X^TX)(X^TX)^{-1} = 1,(X^TX)(X^TX)^{-1}互逆

逆矩阵的定义

如果 B是 A的逆矩阵,则满足:

AB=BA=I(单位矩阵 类似于数值乘法中的 1)

 即无论 A左乘还是右乘 B,结果均为单位矩阵。

必要条件 

AB必须是方阵(行数=列数)

A必须可逆,矩阵的行列式不为零(即行列式 det(A) \neq 0

直观理解

 逆矩阵的作用类似于“倒数”。例如,数值中 2\times \frac{1}{2} = 1,类似地,矩阵中 A\times A^{-1} = I

单位矩阵 I在矩阵乘法中的作用类似于数值乘法中的 1。

示例验证

取矩阵 A=\begin{bmatrix} 1 & 2 \\ 3& 4 \end{bmatrix},其行列式det(A) = -2 \neq 0,故可逆。

计算逆矩阵:

A^{-1} = \frac{1}{det(A)}\begin{bmatrix} 4 &-2 \\ -3& 1 \end{bmatrix}= \frac{1}{-2}\begin{bmatrix} 4 &-2 \\ -3& 1 \end{bmatrix}= \begin{bmatrix} -2 &1 \\ \frac{3}{2}& -\frac{1}{2} \end{bmatrix}

(1) 第一行第一列的元素 (C_{11}​)

C_{11}=\frac{1}{-2}\times 4=-2

(2) 第一行第二列的元素 (C_{12}​)

C_{12}=\frac{1}{-2}\times -2 = 1

(3) 第一行第二列的元素 (C_{21}​)

C_{21}=\frac{1}{-2}\times -3 = \frac{3}{2}

(4) 第一行第二列的元素 (C_{22}​)

C_{22}=\frac{1}{-2}\times 1 =- \frac{1}{2}

 

相关文章:

【深度学习与实战】2.3、线性回归模型与梯度下降法先导案例--最小二乘法(向量形式求解)

为了求解损失函数 对 的导数,并利用最小二乘法向量形式求解 的值‌ 这是‌线性回归‌的平方误差损失函数,目标是最小化预测值 与真实值 之间的差距。 ‌损失函数‌: 考虑多个样本的情况,损失函数为所有样本的平方误差之和&a…...

【Django】教程-2-前端-目录结构介绍

【Django】教程-1-安装创建项目目录结构介绍 3. 前端文件配置 3.1 目录介绍 在app下创建static文件夹, 是根据setting中的配置来的 STATIC_URL ‘static/’ templates目录,编写HTML模板(含有模板语法,继承,{% static ‘xx’ …...

JS判断对象是否为空的方法

在 JavaScript 中,判断一个对象是否为空对象(即没有自身可枚举属性),可以通过以下方法实现: 方法 1:使用 Object.keys() javascript function isEmptyObject(obj) {// 确保是普通对象(排除 n…...

详解list容器

1.list的介绍 list的底层结构是双向带头循环链表,允许随机的插入和删除,但其内存空间不是连续的。随机访问空间能力差,需要从头到尾遍历节点,不像vector一样高效支持 2.list的使用 构造函数 1.默认构造函数:创建一个…...

leetcode_977. 有序数组的平方_java

977. 有序数组的平方https://leetcode.cn/problems/squares-of-a-sorted-array/ 1.题目 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums [-4,-1…...

Spring Boot 3.4.3 基于 SpringDoc 2 和 Swagger 3 实现项目接口文档管理

在现代企业级应用开发中,前后端分离已成为主流模式,前端负责界面呈现,后端专注提供 RESTful API 接口。然而,接口文档的编写和维护往往是开发过程中的痛点。Spring Boot 3.4.3 结合 SpringDoc 2 和 Swagger 3,为开发者…...

前端面经分享(25/03/26)

北京一家做AI解决方案的公司,技术一面,15k-20k,要求3-5年 你们React项目里路由模式用的什么React里class组件和function组件都用过吗常用Hook,解释一下他们的作用useEffect第二个参数填空数组和不填有什么区别React组件通信的常用…...

Matlab基础知识与常见操作【无痛入门】

【1】Matlab基本概念 【2】Matlab程序设计 【3】Matlab图形绘制 以上三篇文章为Matlab主要的应用场景,我在学习的过程中做一下记录,方便以后回顾。 接下来介绍下Matlab的工作界面,以及如何高效率的应用Matlab的帮助手册。在我看来&#x…...

HTTP协议手写服务器

目录 一、请求的是Web根目录 二、GET方法通过URL传参 三、根据资源类型对应出Content-Type值 四、Http代码 项目完整源代码:Http 周不才/cpp_linux study - 码云 - 开源中国 一、请求的是Web根目录 如果URL中请求的资源是Web根目录,则自动跳转到主…...

网络探索之旅:网络原理(第二弹)

上篇文章,小编分享了应用层和传输层深入的一点的知识,那么接下来,这篇文章,继续分享网络层和数据链路层。 网络层 了解这个网络层,那么其实就是重点来了解下IP这个协议 对于这个协议呢,其实也是和前面的…...

深入剖析 JVM:从组成原理到调优实践

深入剖析 JVM:从组成原理到调优实践 深入剖析 JVM:从组成原理到调优实践一、JVM 组成架构:运行 Java 程序的 “幕后引擎”1.1 内存结构:数据存储的 “分区管理”1.2 执行引擎:字节码的 “翻译官”1.3 本地方法接口&…...

阿里云下一代可观测时序引擎-MetricStore 2.0

作者:徐昊(博澍) 背景 作为可观测场景使用频度最高的数据类型,Metrics 时序数据在可观测领域一直占有着重要地位,无论是从全局视角来观测系统整体状态,还是从大范围数据中定位某一个异常的位置&#xff0…...

从入门到精通【 MySQL】 数据库约束与设计

文章目录 📕1. 数据库约束✏️1.1 NOT NULL 非空约束✏️1.2 DEFAULT 默认值约束✏️1.3 UNIQUE 唯一约束✏️1.4 PRIMARY KEY 主键约束✏️1.5 FOREIGN KEY 外键约束✏️1.6 CHECK 约束 📕2. 数据库设计✏️2.1 第一范式✏️2.2 第二范式✏️2.3 第三范…...

使用LLaMAFactory微调Qwen大模型

一、环境配置与工具安装 1. 硬件要求 GPU:至少1块NVIDIA GPU(推荐RTX 4090/A100/H100,显存≥16GB)。内存:≥64GB系统内存。存储:≥100GB硬盘空间用于模型与数据集存储。2. 软件依赖 Python 3.8+:需安装CUDA支持的PyTorch版本(如torch==2.0.1+cu117)。 依赖库:通过以…...

Dubbo 通信流程 - 服务的调用

Dubbo 客户端的使用 在 Dubbo 应用中,往类成员注解 DubboReference,服务启动后便可以调用到远端: Component public class InvokeDemoFacade {AutowiredDubboReferenceprivate DemoFacade demoFacade;public String hello(String name){// …...

【数据结构】哈夫曼树

哈夫曼树 在学习哈夫曼树之前,先了解以下几个概念: 一:**路径长度:**在一棵树中,从一个节点到另一个节点所经过的“边”的数量,被我们称为两个节点之间的路径长度。 二:**树的路径长度&#xf…...

HCIP(TCP)(2)

1. TCP三次握手 SYN (同步序列编号) 报文: 客户端发送 SYN 报文,开始建立连接,并初始化序列号。 SYN-ACK (同步序列编号-确认) 报文: 服务器收到 SYN 报文后,回复 SYN-ACK 报文,确认连接请求,并初始化自己的序列号和确…...

VMware Ubuntu 网络配置全攻略:从断网到畅通无阻

一、网络连接模式选择(先搞懂原理) VMware提供三种网络模式,就像手机的不同网络套餐: 模式适用场景特点类比NAT个人上网/新手首选虚拟机共享主机IP,能上网但隐身家用WiFi桥接服务器/需要被局域网访问虚拟机会获得独立…...

基于Web的交互式智能成绩管理系统设计

目录 摘要 绪论 一、应用背景 二、行业发展现状 三、程序开发的重要意义 四、结语 1 代码 2 数据初始化模块 3 界面布局模块 4 核心功能模块 5 可视化子系统 6 扩展功能模块 7 架构设计亮点 功能总结 一、核心数据管理 二、智能分析体系 三、可视化系统 四、扩…...

第 12 章(番外)| Solidity 安全前沿趋势 × 审计生态 × 职业路径规划

🌐 第 12 章(番外)| Solidity 安全前沿趋势 审计生态 职业路径规划 ——做得了审计,也接得了项目,走进 Web3 安全工程师的职业实战地图 ✅ 本章导读 Solidity 安全,不只是代码安全、业务安全、审计安全…...

输出3行3列矩阵的鞍点

【问题描述】在矩阵中,一个数在所在行中是最大值,在所在列中是最小值,则被称为鞍点。任意输入一个3行3列矩阵,请设计程序输出其鞍点。 【输入形式】每行3个数,输入3列 【输出形式】输出所有鞍点;如果没有…...

k8s日志管理

k8s日志管理 k8s查看日志查看集群中不是完全运行状态的pod查看deployment日志查看service日志进入pod的容器内查看日志 管理k8s组件日志kubectl logs查看日志原理 管理k8s应用日志收集k8s日志思路收集标准输出收集容器中日志文件 k8s查看节点状态失败k8s部署prometheus监控 k8s…...

【数据结构】顺序表-元素去重

数据元素 结点定义,复杂数据类型,可用作整体性的管理系统。如果单独研究某些数据,比如只看学号或成绩,那么直接使用int之类的简单数据类型亦可。对应修改:typedef int Elemtype; typedef struct student{ //定义学生…...

物理安全——问答

目录 1、计算机的物理安全包含哪些内容 1. 设备保护 2. 访问控制 3. 电力与环境安全 4. 数据存储保护 5. 硬件防护 6. 监控与审计 7. 灾难恢复与应急响应 8. 拆卸与维修安全 2、物理安全有哪些需要关注的问题 1、计算机的物理安全包含哪些内容 1. 设备保护 防止盗窃&…...

element-plus中,Loading 加载组件的使用

一.基本使用 给一个组件&#xff0c;如&#xff1a;table表格&#xff0c;加上v-loading"true"即可。 举例&#xff1a;复制如下代码。 <template><el-table v-loading"loading" :data"tableData" style"width: 100%"><…...

Mybatis_Plus中的常用注解

目录 1、TableName TableId TableId的type属性 TableField 1、TableName 经过以上的测试&#xff0c;在使用MyBatis-Plus实现基本的CRUD时&#xff0c;我们并没有指定要操作的表&#xff0c;只是在 Mapper接口继承BaseMapper时&#xff0c;设置了泛型User&#xff0c;而操…...

云数据库概念

1.云数据库概念 云数据库是部署和虚拟化在云计算环境中的数据库。云数据库是在云计算的大背景下发展起来的一种新兴的共享基础架构的方法&#xff0c;它极大地增强了数据库的存储能力&#xff0c;消除了人员、硬件、软件的重复配置&#xff0c;让软、硬件升级变得更加容易。云…...

高并发金融系统,“可观测-可追溯-可回滚“的闭环审计体系

一句话总结 在高并发金融系统中&#xff0c;审计方案设计需平衡"观测粒度"与"系统损耗"&#xff0c;通过双AOP实现非侵入式采集&#xff0c;三表机制保障操作原子性&#xff0c;最终形成"可观测-可追溯-可回滚"的闭环体系。 业务痛点与需求 在…...

UDP视频传输中的丢包和播放花屏处理方法

在处理UDP视频传输中的丢包和花屏问题时,需要结合编码优化、网络传输策略和接收端纠错技术。以下是分步骤的解决方案: 1. 前向纠错(FEC,Forward Error Correction) 原理:在发送数据时附加冗余包,接收方通过冗余信息恢复丢失的数据包。 实现方法: 使用Reed-Solomon、XO…...

企业内训|DeepSeek技术革命、算力范式重构与场景落地洞察-某头部券商

3月19日北京&#xff0c;TsingtaoAI公司负责人汶生受邀为某证券公司管理层和投资者举办专题培训&#xff0c;围绕《DeepSeek技术革命、算力范式重构与场景落地洞察》主题&#xff0c;系统阐述了当前AI技术演进的核心趋势、算力需求的结构性变革&#xff0c;以及行业应用落地的关…...