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

【机器学习】线性回归 多元线性回归

【机器学习系列】

  • KNN算法
    KNN算法原理简介及要点
    特征归一化的重要性及方式
  • 线性回归算法
    线性回归与一元线性回归
    线性回归模型的损失函数
    多元线性回归
    多项式线性回归

多元线性回归

    • V1.0
    • 多元线性回归
    • 一元线性回归与多元线性回归
    • 多元线性回归模型的误差衡量
    • 多元线性回归的最优解
      • 多元线性回归的解析解(标准数学解法)
        • 多元线性回归的解析解公式分析
      • 多元线性回归的搜索解法

V1.0

多元线性回归

多元线性回归使用多维特征向量来推算回归值,推算方法使用以下公式
y = w 0 + w 1 ∗ x 1 + w 2 ∗ x 2 + . . . + w n ∗ x n y=w_0+w_1*x_1+w_2*x_2+...+w_n*x_n y=w0+w1x1+w2x2+...+wnxn
其中 x i x_i xi是N维特征向量第 i i i 维的数据, w i w_i wi是特征向量第 i i i 维特征的权值, y y y是该特征向量的预测值。
求解多元线性回归模型,即通过N维特征向量及其对应的标签真实值,求解多元线性公式参数, w 0 . . w n w_0..w_n w0..wn的过程。

一元线性回归与多元线性回归

一元线性回归的2个参数k和b,其中k对应一元特征的权值。
多元线性回归有 w 1 w_1 w1- w n w_n wn这N个权重,分别对应特征向量的N个维度的特征值。

多元线性回归模型的误差衡量

对于单个特征向量,其误差为 y r e a l − y p r e d i c t y_{real}-y_{predict} yrealypredict
总体误差,使用各个特征向量投票决定,这里可以使用MSE(Mean Squared Error)方法(其他总体误差计算方法比如RMES,MAE)。
可以认为最优的模型即是将总体误差最小化时的模型,在使用MSE的情况下,即是要求解使得模型总体损失最小时的参数 w 0 . . . w n w_0...w_n w0...wn。可用如下公式表示
arg min ⁡ w 0 . . . w n ∑ i = 1 m ( y r e a l − y p r e d i c t ) 2 \argmin_{w_0...w_n}\sum_{i=1}^{m}(y_{real}-y_{predict})^2 w0...wnargmini=1m(yrealypredict)2
y p r e d i c t y_{predict} ypredict公式代入,公式中就直接包含了模型的参数 w 0 . . . w n w_0...w_n w0...wn
arg min ⁡ w 0 . . . w n ∑ i = 1 m ( y r e a l − ( w 0 + w 1 ∗ x 1 + w 2 ∗ x 2 + . . . + w n ∗ x n ) ) 2 \argmin_{w_0...w_n}\sum_{i=1}^{m}(y_{real}-(w_0+w_1*x_1+w_2*x_2+...+w_n*x_n))^2 w0...wnargmini=1m(yreal(w0+w1x1+w2x2+...+wnxn))2

多元线性回归的最优解

多元线性回归的解析解(标准数学解法)

对于给定的N维训练数据及数据标签,线性回归模型的最优解及参数 w 0 . . . w n w_0...w_n w0...wn ,可以通过以下公式得到多元线性回归的最优参数
W = ( X T X ) − 1 X T Y W=(X^TX)^{-1}X^TY W=(XTX)1XTY

多元线性回归的解析解公式分析

在多元线性回归的解析解公式中, X X X为特征矩阵( M ∗ N M*N MN维), Y Y Y为特征向量的标签值( M ∗ 1 M*1 M1维)。
X T X^T XT的维度 N ∗ M N*M NM
( X T X X^TX XTX)的维度为 N ∗ N N*N NN
( X T X ) − 1 (X^TX)^{-1} (XTX)1)的维度为 N ∗ N N*N NN
( X T X ) − 1 X T (X^TX)^{-1}X^T (XTX)1XT的维度为 N ∗ M N*M NM
( X T X ) − 1 X T Y (X^TX)^{-1}X^TY (XTX)1XTY的维度为 N ∗ 1 N*1 N1

多元线性回归的搜索解法

解析解在特征维度较大时计算较为复杂,计算量大,因此工程上并不经常采用这种方法。
scikit-learn库中对于线性回归问题,使用的是梯度下降的解法。

相关文章:

  • 【嵌入式Linux应用开发基础】fork()函数
  • vue事件修饰符的实现
  • 作用域链精讲
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_save_argv函数
  • docker下部署kong+consul+konga 报错问题处理
  • 蓝桥杯班级活动
  • Springboot集成Spring AI和Milvus,验证RAG构建过程
  • 【Java线程中断】线程中断后为什么要调用interrupt()?
  • 超低失真、超高清晰度的远心工业镜头
  • 20250217-POMO笔记
  • STM32 CubeMx配置串口收发使用DMA并调用Idle模式(二)
  • 详解CountDownlatch
  • MaxKB + Ollama + DeepSeek本地部署
  • 输入网址到网页显示,发生了什么?
  • 人工智能框架:连接理论与实践的桥梁
  • VAS1260IB05E 集成内部开关驱动器的汽车级LED硬灯带高效解决方案
  • Gentleman:优雅的Go语言HTTP客户端工具包
  • 【GESP】2024年12月图形化一级 -- 火箭回收
  • Anchor-Based 与 Anchor-Free
  • 通过VSCode直接连接使用 GPT的编程助手
  • 免费h5网站模版/成人企业管理培训课程
  • 网站建设 话术/陕西优化疫情防控措施
  • 网站建设创意/郑州网络推广平台
  • 做网站怎么做/搜索引擎排名谷歌
  • 北京怎样做企业网站/百度免费
  • 安徽两学一做网站/谷歌竞价推广教程