【机器学习:四、多输入变量的回归问题】

多输入变量的回归问题

1. 多元线性回归概述

1.1 单变量线性回归与多变量线性回归的概念区分

  • 单变量线性回归:用于预测一个因变量(输出变量)与单一自变量(输入变量)之间的线性关系。模型形式为:

y = θ 0 + θ 1 x y = \theta_0 + \theta_1x y=θ0+θ1x

  • 多变量线性回归:扩展到多个自变量,模型形式为:

y = θ 0 + θ 1 x 1 + θ 2 x 2 + ⋯ + θ n x n y = \theta_0 + \theta_1x_1 + \theta_2x_2 + \cdots + \theta_nx_n y=θ0+θ1x1+θ2x2++θnxn
或者以向量形式表示:

y = θ T x y = \mathbf{\theta}^T \mathbf{x} y=θTx

其中:

  • θ \mathbf{\theta} θ 是参数向量。
  • x \mathbf{x} x 是特征向量。

1.2 实际应用——房价预测

  • 问题描述:假设我们要预测房屋的价格,影响价格的因素可能包括:

    • 面积(平方米)。
    • 卧室数量。
    • 房屋年龄。
  • 多元回归模型的目标:根据上述多个特征建立线性回归模型,用于预测房价。

2. 向量化表示与优势

2.1 向量化表示

  • 线性回归模型的向量形式
    假设有 m m m 个样本,每个样本有 n n n 个特征,设计矩阵 X \mathbf{X} X 和参数向量 θ \mathbf{\theta} θ 定义如下:

X = [ 1 x 1 , 1 x 1 , 2 … x 1 , n 1 x 2 , 1 x 2 , 2 … x 2 , n ⋮ ⋮ ⋮ ⋱ ⋮ 1 x m , 1 x m , 2 … x m , n ] , θ = [ θ 0 θ 1 ⋮ θ n ] \mathbf{X} = \begin{bmatrix} 1 & x_{1,1} & x_{1,2} & \dots & x_{1,n} \\ 1 & x_{2,1} & x_{2,2} & \dots & x_{2,n} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_{m,1} & x_{m,2} & \dots & x_{m,n} \end{bmatrix}, \mathbf{\theta} = \begin{bmatrix} \theta_0 \\ \theta_1 \\ \vdots \\ \theta_n \end{bmatrix} X= 111x1,1x2,1xm,1x1,2x2,2xm,2x1,nx2,nxm,n ,θ= θ0θ1θn

模型预测值:

y = X θ \mathbf{y} = \mathbf{X} \mathbf{\theta} y=Xθ

2.2 向量化的优势

  • 计算效率高:利用矩阵运算可以快速计算多个样本的预测值。
  • 代码简洁:减少循环操作,简化实现。

3. 多元线性回归的优化方法

3.1 梯度下降法

  • 目标:通过最小化损失函数找到最优参数 θ \mathbf{\theta} θ
  • 损失函数

J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\mathbf{\theta}) = \frac{1}{2m} \sum_{i=1}^m \left( h_\mathbf{\theta}(\mathbf{x}^{(i)}) - y^{(i)} \right)^2 J(θ)=2m1i=1m(hθ(x(i))y(i))2

  • 梯度下降更新公式

θ : = θ − α ∂ J ( θ ) ∂ θ \mathbf{\theta} := \mathbf{\theta} - \alpha \frac{\partial J(\mathbf{\theta})}{\partial \mathbf{\theta}} θ:=θαθJ(θ)

更新过程向量化为:

θ : = θ − α 1 m X T ( X θ − y ) \mathbf{\theta} := \mathbf{\theta} - \alpha \frac{1}{m} \mathbf{X}^T (\mathbf{X} \mathbf{\theta} - \mathbf{y}) θ:=θαm1XT(Xθy)

  • 其中:

    • α \alpha α 是学习率。
    • m m m 是样本数量。

3.2 正规方程法

  • 目标:通过直接计算闭式解找到参数向量 θ \mathbf{\theta} θ
  • 公式

θ = ( X T X ) − 1 X T y \mathbf{\theta} = (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \mathbf{y} θ=(XTX)1XTy

  • 特点

    • 无需选择学习率。
    • 计算量较大,尤其是特征数较多时。

4. 总结与比较

方法优点缺点
梯度下降法易于处理大规模数据集;灵活性高需要选择学习率;可能收敛较慢
正规方程法无需调参,计算直接对高维特征敏感,计算复杂度较高

应用建议

  • 当特征数较少时,优先考虑正规方程法。
  • 当样本量大或特征维度高时,选择梯度下降法。

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

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

相关文章

大语言模型训练所需的最低显存,联邦大语言模型训练的传输优化技术

联邦大语言模型训练的传输优化技术 目录 联邦大语言模型训练的传输优化技术大语言模型训练所需的最低显存大语言模型训练所需的最低显存 基于模型微调、压缩和分布式并行处理的方法,介绍了相关开源模型及技术应用 核心创新点 多维度优化策略:综合运用基于模型微调、模型压缩和…

主机A与主机B建立TCP连接的三次握手过程

( 1 )主机 A 的 TCP 向主机 B 发出连接请求 SYN 报文段(第一次握手)。( 1 分) ( 2 )一旦包含 SYN 报文段的 IP 数据报到达主机 B , SYN 报文段被从数据报…

SpringCloud系列教程:微服务的未来(六)docker教程快速入门、常用命令

对于开发人员和运维工程师而言,掌握 Docker 的基本概念和常用命令是必不可少的。本篇文章将带你快速入门 Docker,并介绍一些最常用的命令,帮助你更高效地进行开发、测试和部署。 目录 前言 快速入门 docker安装 配置镜像加速 部署Mysql …

Express 加 sqlite3 写一个简单博客

例图: 搭建 命令: 前提已装好node.js 开始创建项目结构 npm init -y package.json:{"name": "ex01","version": "1.0.0","main": "index.js","scripts": {"test": &q…

C++:字符数组

一、字符数组介绍 数组的元素如果是字符类型,这种数组就是字符数组,字符数组可以是一维数组,可以是二维数组 (多维数组)。我们接下来主要讨论的是一维的字符数组。 char arr1[5]; //⼀维字符数组 char arr2[3][5];//⼆…

基于SpringBoot实现的保障性住房管理系统

🥂(❁◡❁)您的点赞👍➕评论📝➕收藏⭐是作者创作的最大动力🤞 💖📕🎉🔥 支持我:点赞👍收藏⭐️留言📝欢迎留言讨论 🔥🔥&…

分享3个国内使用正版GPT的网站【亲测有效!2025最新】

1. molica 传送入口:https://ai-to.cn/url/?umolica 2. 多帮AI 传送入口:https://aigc.openaicloud.cn?inVitecodeMYAAGGKXVK 3. 厉害猫 传送入口:https://ai-to.cn/url/?ulihaimao

LabVIEW瞬变电磁接收系统

利用LabVIEW软件与USB4432采集卡开发瞬变电磁接收系统。系统通过改进硬件配置与软件编程,解决了传统仪器在信噪比低和抗干扰能力差的问题,实现了高精度的数据采集和处理,特别适用于地质勘探等领域。 ​ 项目背景: 瞬变电磁法是探…

CM3/4启动流程

CM3/4启动流程 1. 启动模式2. 启动流程 1. 启动模式 复位方式有三种:上电复位,硬件复位和软件复位。 当产生复位,并且离开复位状态后,CM3/4 内核做的第一件事就是读取下列两个 32 位整数的值: 从地址 0x0000 0000 处取…

快手短剧播放器uniapp如何引入与对接?

uniApp前端微短剧项目开源分享 开源地址:git开源下载地址 文章目录 快手短剧播放器uniapp如何引入与对接?1.引入短剧播放器2.创建文件kscomponents组件3.local-stream.js文件说明4.用户行为事件4.local-stream.ksml文件参考如下 快手短剧播放器uniapp如何…

.NET AI 开发人员库 --AI Dev Gallery简单示例--问答机器人

资源及介绍接上篇 nuget引用以下组件 效果展示: 内存和cpu占有: 代码如下:路径换成自己的模型路径 模型请从上篇文尾下载 internal class Program{private static CancellationTokenSource? cts;private static IChatClient? model;privat…

如何构建多层决策树

构建一颗多层的决策树时,通过递归选择最佳划分特征(依据 信息增益 或 基尼系数)对数据集进行划分,直到满足停止条件(例如叶节点纯度达到要求或树的深度限制)。以下是基于 信息增益 和 基尼系数 的递推公式和…

VSCode 使用鼠标滚轮控制字体

一、 文件 | 首选项 | 设置 二、单击在 settings.json中编辑 "editor.mouseWheelZoom": true 注注注意:保存哦!ctrlS 三、测试 按住ctrl鼠标滚轮,控制字体大小

十年后LabVIEW编程知识是否会过时?

在考虑LabVIEW编程知识在未来十年内的有效性时,我们可以从几个角度进行分析: ​ 1. 技术发展与软件更新 随着技术的快速发展,许多编程工具和平台不断更新和改进,LabVIEW也不例外。十年后,可能会有新的编程语言或平台…

注册中心如何选型?Eureka、Zookeeper、Nacos怎么选

这是小卷对分布式系统架构学习的第9篇文章,第8篇时只回答了注册中心的工作原理的内容,面试官的第二个问题还没回答,今天再来讲讲各个注册中心的原理,以及区别,最后如何进行选型 上一篇文章:如何设计一个注册…

C++ 复习总结记录三

C 复习总结记录三 主要内容 1、类的六个默认成员函数 2、构造函数 3、析构函数 4、拷贝构造函数 5、赋值运算符重载 6、const 成员函数 7、取地址及 const 取地址操作符重载 一 类的六个默认成员函数 如果一个类中什么成员都没有,简称为空类。空类中并不是…

【简博士统计学习方法】第1章:4. 模型的评估与选择

4. 模型的评估与选择 4.1 训练误差与测试误差 假如存在样本容量为 N N N的训练集,将训练集送入学习系统可以训练学习得到一个模型,我们将这么模型用决策函数的形式表达,也就是 y f ^ ( x ) y\hat{f}(x) yf^​(x),关于模型的拟合…

计算机网络 (30)多协议标签交换MPLS

前言 多协议标签交换(Multi-Protocol Label Switching,MPLS)是一种在开放的通信网上利用标签引导数据高速、高效传输的新技术。 一、基本概念 MPLS是一种第三代网络架构技术,旨在提供高速、可靠的IP骨干网络交换。它通过将IP地址映…

【Java】JVM内存相关笔记

Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。 程序计数器&am…

鸿蒙 ArkUI实现地图找房效果

常用的地图找房功能,是在地图上添加区域、商圈、房源等一些自定义 marker,然后配上自己应用的一些筛选逻辑构成,在这里使用鸿蒙 ArkUI 简单实现下怎么添加区域/商圈、房源等 Marker. 1、开启地图服务 在华为开发者官网,注册应用&…