机器学习(1)—线性回归

文章目录

  • [1. 算法定义](#1. 算法定义)
  • [2. 模型形式](#2. 模型形式)
    • [2.1. 简单线性回归(单变量):](#2.1. 简单线性回归(单变量):)
    • [2.2. 多元线性回归(多变量):](#2.2. 多元线性回归(多变量):)
  • [3. 基本原理](#3. 基本原理)
    • [3.1. 误差函数:](#3.1. 误差函数:)
    • [3.2. 求解回归系数](#3.2. 求解回归系数)
  • [4. 假设条件](#4. 假设条件)
  • [5. 模型评估](#5. 模型评估)
  • [6. 优缺点](#6. 优缺点)
  • [7. 扩展方法](#7. 扩展方法)
  • [8. 应用场景](#8. 应用场景)

1. 算法定义

线性回归(Linear Regression)是一种用于预测一个连续型目标变量(因变量)与一个或多个自变量(特征变量)之间关系的统计方法。它的基本思想是通过拟合一条直线(在多变量情况下是超平面),来建立自变量和因变量之间的关系模型。

2. 模型形式

2.1. 简单线性回归(单变量):

单变量线性回归的基本形式:

  • y y y:因变量(目标)
  • x x x:自变量(特征)
  • β 0 β_0 β0:截距(y轴交点)
  • β 1 β_1 β1:斜率(变量权重)
  • ϵ ϵ ϵ:随机误差(噪声)

2.2. 多元线性回归(多变量):

当有多个特征变量时,线性回归模型可以扩展到多变量情况。假设有

n 个自变量(特征),则多变量线性回归的模型形式为

  • y y y:因变量(目标)
  • x 1 x_1 x1、 x 2 x_2 x2、...、 x n x_n xn:自变量(特征)
  • β 0 β_0 β0:截距(y轴交点)
  • β 1 β_1 β1、 β 2 β_2 β2、...、 β n β_n βn :回归系数(每个特征的权重)
  • ϵ ϵ ϵ:随机误差(噪声)

3. 基本原理

线性回归的核心思想是通过找到最佳的回归系数,使得模型预测值与真实值之间的误差最小。这个误差通常通过 均方误差(MSE,Mean Squared Error) 来度量

3.1. 误差函数:

其中, y i y_i yi是真实值, y ^ i \hat y_i y^i是预测值, n n n 是样本的数量

3.2. 求解回归系数

回归系数通常通过 最小二乘法 来求解。最小二乘法的目的是最小化上述的误差函数。通过对误差函数进行求导并令其等于零,可以得到回归系数的最优解。

通过最小二乘法 (Ordinary Least Squares, OLS)估计参数 β β β

目标 :最小化残差平方和(RSS):

解法: 对 β 0 β_0 β0 和 β 1 β_1 β1求偏导并令导数为零,得到闭式解(解析解)。对于多元回归,矩阵形式解为:
β ^ = ( X T X ) − 1 X T y \hat β =(X^TX)^{-1}X^Ty β^=(XTX)−1XTy

  • X X X 是包含自变量的设计矩阵
  • y y y 是因变量的向量
  • β ^ \hat β β^ 是回归系数的向量

4. 假设条件

  • 线性性:因变量与自变量呈线性关系。

  • 独立性:误差项之间无自相关(适用于时间序列需检验)。

  • 同方差性:误差项的方差恒定(若异方差需加权最小二乘法)。

  • 正态性:误差项服从正态分布(用于置信区间和假设检验)。

  • 无多重共线性:自变量之间高度相关会导致估计不稳定。

5. 模型评估

  • R²(决定系数):解释模型对数据方差的拟合程度,范围 [0,1],越高越好。

  • 均方误差(MSE):预测值与真实值的平均平方误差,越小越好。

  • 调整R²:考虑自变量数量,防止过拟合。

6. 优缺点

  • 优点:简单、可解释性强、计算效率高。

  • 缺点:对非线性关系、异常值、多重共线性敏感。

7. 扩展方法

  • 正则化:

    • 岭回归(L2正则):解决共线性,添加 λ ∑ β j 2 λ∑β^2_j λ∑βj2 惩罚项。

    • Lasso(L1正则):稀疏化特征选择,添加 λ ∑ ∣ β j ∣ λ∑|β_j| λ∑∣βj∣惩罚项。

  • 多项式回归:通过添加高阶项拟合非线性关系。

8. 应用场景

  • 房价预测、销售额分析、经济趋势建模等连续值预测问题。

  • 通过理解这些基本原理,可以更好地应用线性回归并诊断模型问题。

相关推荐
新智元4 分钟前
永别了,GPT-4!
人工智能·openai
扉间79810 分钟前
深入探索 PyTorch:回归与分类模型的全方位解析
人工智能·pytorch
仙人掌_lz28 分钟前
如何在本地使用Ollama运行 Hugging Face 模型
java·人工智能·servlet·ai·大模型·llm·ollama
张飞飞飞飞飞33 分钟前
语音识别——根据声波能量、VAD 和 频谱分析周围是否有人说话
人工智能·语音识别
大神薯条老师38 分钟前
Python高级爬虫之JS逆向+安卓逆向1.4节:数据运算
爬虫·python·机器学习·数据分析·网络爬虫
管二狗赶快去工作!1 小时前
体系结构论文(六十七):A Machine-Learning-Guided Framework for Fault-Tolerant DNNs
人工智能·dnn·体系结构
潇湘馆记1 小时前
集成学习介绍
机器学习·集成学习
樽酒ﻬق1 小时前
打造AI应用基础设施:Milvus向量数据库部署与运维
数据库·人工智能·milvus
CodeJourney.1 小时前
利用DeepSeek实现文档到流程图的高效转换:技术应用与实践探索
数据库·人工智能·算法·excel·流程图
EulerBlind1 小时前
【LLM】解锁Agent协作:深入了解谷歌 A2A 协议与 Python 实现
人工智能·python·语言模型