首页 > 其他分享 >线性回归学习笔记

线性回归学习笔记

时间:2024-11-16 23:17:46浏览次数:3  
标签:partial text 回归 frac 笔记 线性 mathbf MSE

线性回归概述

线性回归是一种基本的监督学习算法,用于解决回归问题。它通过拟合数据点,找出特征与目标变量之间的线性关系。其目标是预测连续数值输出。

模型公式

线性回归模型的数学表达式为:

\[
y = \mathbf{w}^\top \mathbf{x} + b
\]

或展开为:

\[
y = w_1x_1 + w_2x_2 + \cdots + w_nx_n + b
\]

其中:  
- \( y \):预测值  
- \( \mathbf{x} = [x_1, x_2, \ldots, x_n] \):输入特征向量  
- \( \mathbf{w} = [w_1, w_2, \ldots, w_n] \):权重参数  
- \( b \):偏置项  

模型训练过程
 目标函数

线性回归的目标是最小化预测值 \( \hat{y} \) 与真实值 \( y \) 的误差,采用均方误差(MSE)作为损失函数:

\[
\text{MSE} = \frac{1}{m} \sum_{i=1}^m (\hat{y}_i - y_i)^2
\]

其中:  
- \( m \):样本总数  
- \( \hat{y}_i = \mathbf{w}^\top \mathbf{x}_i + b \):预测值  
- \( y_i \):真实值  

梯度下降法

通过梯度下降法优化模型参数:

  1. 计算梯度


   - 对权重 \( \mathbf{w} \) 的偏导数:  
     \[
     \frac{\partial \text{MSE}}{\partial \mathbf{w}} = \frac{2}{m} \sum_{i=1}^m (\hat{y}_i - y_i) \mathbf{x}_i
     \]
   - 对偏置 \( b \) 的偏导数:  
     \[
     \frac{\partial \text{MSE}}{\partial b} = \frac{2}{m} \sum_{i=1}^m (\hat{y}_i - y_i)
     \]

  2.更新参数  
   - 更新公式:  
     \[
     \mathbf{w} := \mathbf{w} - \eta \frac{\partial \text{MSE}}{\partial \mathbf{w}}
     \]
     \[
     b := b - \eta \frac{\partial \text{MSE}}{\partial b}
     \]
   - \( \eta \) 是学习率。

线性回归的假设
  1. 线性关系假设:特征与目标值之间存在线性关系。
  2. 独立性假设:残差互相独立。
  3. 正态性假设:残差服从正态分布。
  4. 方差齐性假设:残差的方差保持一致。
模型性能评价
  • 使用 R^2 或均方误差(MSE)评价模型效果:

\[
R^2 = 1 - \frac{\sum_{i=1}^m (y_i - \hat{y}_i)^2}{\sum_{i=1}^m (y_i - \bar{y})^2}
\]

线性回归的优缺点
优点
  • 简单、易理解,具有良好的可解释性。
  • 计算效率高,适合大规模数据集。
  • 易于扩展(通过多项式特征扩展线性模型)。
缺点
  • 仅能拟合线性关系,无法解决非线性问题。
  • 对异常值敏感,容易受噪声干扰。
  • 当特征间存在多重共线性时,可能导致不稳定。
改进方法
  1. 岭回归(Ridge Regression)
    在损失函数中加入 L2L_2L2​ 正则化项,减小模型对多重共线性的敏感度:


   \[
   \text{MSE} + \lambda \|\mathbf{w}\|_2^2
   \]

2. Lasso 回归 
   引入 \( L_1 \) 正则化项,实现特征选择:  
   \[
   \text{MSE} + \lambda \|\mathbf{w}\|_1
   \]

3. 多项式回归
   将原始特征扩展为多项式特征,利用线性回归拟合非线性关系。

应用场景

- 金融分析:预测股票价格或市场趋势。  
-
房地产估价:基于房屋面积、位置等预测房价。  
-
广告效果分析:根据广告投入金额预测销售额。

标签:partial,text,回归,frac,笔记,线性,mathbf,MSE
From: https://blog.csdn.net/Hh2767474144/article/details/143825352

相关文章

  • ADS项目笔记 1. 低噪声放大器LNA天线一体化设计
            在传统射频结构的设计中,天线模块和有源电路部分相互分离,两者之间通过50Ω传输线级联,这种设计需要在有源电路和天线之间建立无源网络,包括天线模块的输入匹配网络以及有源电路的匹配网络。这些无源网络不仅增加了系统的插入损耗,还会占用额外的电路面积,从而影......
  • 工作学习笔记(十)Java 中 “<” 运算符不能应用于BigDecimal和double
    一、问题描述在Java编程过程中,尝试使用“<”运算符对java.math.BigDecimal和double类型的数据进行比较时,出现了编译错误:“Theoperator<isundefinedfortheargumenttype(s)java.math.BigDecimal,double”。二、问题分析Java中的基本数据类型(如int、double等)......
  • 对话框切换器FXSwitcher(Abaqus GUI二次开发笔记)
    实现效果         进行abaqusGUI二次开发时,如果想要实现点选不同单选按钮出现不同的GUI布局,可以使用切换器FXSwitcher。本文构造的插件能选择不同的模型输入源,对话框中间是一对单选按钮,下方是文件选择器或模型列表。当选中单选按钮"model"时,下方显示模型列表......
  • 【动手做】Python实现线性回归
    线性回归是机器学习中形式比较简单的模型,能够很好的进行推导和求解,也便于图形化展示。关于线性回归的概念和表示,在线性回归的概念与表示有比较详细的的介绍。本文通过手动实现、调用scikit-learn类库两种方式演示了线性回归模型,并通过matplotlib进行了可视化展示。实现过程本......
  • Living-Dream 系列笔记 第86期
    边双连通分量概念:若在无向图\(G\)中,存在一个极大子图\(G'\),使得\(G'\)中没有割边,则称\(G'\)为\(G\)的一个边双连通分量,记作\(\texttt{E-DCC}\)。使用场景:将无向图转化为一棵树(即无向图上的缩点)。求解步骤:确定割边,再遍历所有点且不经过割边,那么能联通的点都是即在同一......
  • Solidity学习笔记-1
    01.HelloWorld开发工具Remix//SPDX-License-Identifier:MIT//软件许可,不写编译会出现警告//版本,“0.8.21”-->不能小于这个版本,"^"-->不能大于0.9.0pragmasolidity^0.8.21;//创建合约contractHelloWorld{stringpublichelloworld="HelloWorld!";}......
  • UEFI 笔记 002 —— PrintLib.h
    https://github.com/tianocore/edk2/blob/master/MdePkg/Include/Library/PrintLib.h//MdePkg\Include\Library\PrintLib.h//--2024-11-16////Thisfunctionissimilarassnprintf_sdefinedinC11.UnicodeSPrint(OUTCHAR16*,INUINTN,INconstCHAR16*......
  • JDBC学习笔记(四)--JdbcUtil工具类的底层实现、解决 java.sql.SQLException: Operation
    目录(一)为什么要使用JdbcUtil工具类(二)创建一个prorperties文件1.在文件目录或src目录下,选择新建FIle2.创建properties文件 3.编写配置文件Java基础:反射4.获取资源的方式第一种第二种 ​编辑 第三种(一)为什么要使用JdbcUtil工具类问题:在编写jdbc的时候,在每一......
  • 【学习笔记】贪心,从会贪一点到入狱。
    为什么会入狱?因为贪太多会被抓。\(\colorbox{white}{\color{white}{会被拉清单}}\)\(\colorbox{white}{\color{white}{只要再会反悔就行了。}}\)主要写点方式方法然后记点题目。参考资料贪心还能这么玩?——浅谈进阶贪心邻项交换法比较基础的方法,主要就是证明一个状态是最优......
  • GC优化:栈内存、span、NativeMemory、指针、池化内存 笔记
    stackalloc使用栈内存,减少GC压力varwordMatchCounts=stackallocfloat[wordCount];SpanSpan支持reinterpret_cast的理念,即可以将Span强制转换为SpanSpan支持reinterpret_cast的理念,即可以将Span强制转换为Span(其中,Span中的索引0映射到Span的前四个字节......