机器学习入门:深入理解线性回归

线性回归是机器学习中最基础且重要的算法之一,它通过寻找特征与目标之间的线性关系来进行预测。本文将通过银行贷款的实例,带你全面理解线性回归的数学原理和实现方法。

一个实际例子:银行贷款预测

假设银行在决定贷款额度时主要考虑两个因素:工资年龄

工资 年龄 额度
4000 25 20000
8000 30 70000
5000 28 35000
7500 33 50000
12000 40 85000

我们的目标是建立一个模型,根据工资和年龄预测银行会贷款多少钱。

线性回归模型

基本概念

线性回归假设目标变量(贷款额度)与特征变量(工资、年龄)之间存在线性关系:

hθ(x)=θ0+θ1x1+θ2x2h_\theta(x) = \theta_0 + \theta_1 x_1 + \theta_2 x_2hθ(x)=θ0+θ1x1+θ2x2

其中:

  • θ0\theta_0θ0 是偏置项(截距)
  • θ1\theta_1θ1 是工资的参数(权重)
  • θ2\theta_2θ2 是年龄的参数(权重)
  • x1x_1x1 是工资特征
  • x2x_2x2 是年龄特征

用矩阵形式表示为:
hθ(x)=∑i=0nθixi=θTxh_\theta(x) = \sum_{i=0}^n \theta_i x_i = \theta^T xhθ(x)=i=0∑nθixi=θTx

误差与概率解释

为什么会有误差?

在现实中,预测值几乎不可能完全等于真实值:

y(i)=θTx(i)+ε(i) y^{(i)} = \theta^T x^{(i)} + \varepsilon^{(i)} y(i)=θTx(i)+ε(i)

其中 ε(i)\varepsilon^{(i)}ε(i) 表示误差。

误差的高斯分布假设

我们假设误差服从均值为0、方差为 σ2\sigma^2σ2 的高斯分布:

p(ϵ(i))=12πσexp⁡(−(ϵ(i))22σ2) p(\epsilon^{(i)}) = \frac{1}{\sqrt{2\pi\sigma}} \exp\left(-\frac{(\epsilon^{(i)})^2}{2\sigma^2}\right) p(ϵ(i))=2πσ 1exp(−2σ2(ϵ(i))2)

这个假设很合理:银行可能会多给或少给贷款,但绝大多数情况下浮动不会太大,符合正常业务逻辑。

将预测公式代入得到:

p(y(i)∣x(i);θ)=12πσexp⁡(−(y(i)−θTx(i))22σ2) p(y^{(i)}|x^{(i)};\theta) = \frac{1}{\sqrt{2\pi\sigma}} \exp\left(-\frac{(y^{(i)} - \theta^T x^{(i)})^2}{2\sigma^2}\right)p(y(i)∣x(i);θ)=2πσ 1exp(−2σ2(y(i)−θTx(i))2)

最大似然估计

似然函数

我们希望找到使观测数据出现概率最大的参数:

L(θ)=∏i=1mp(y(i)∣x(i);θ)=∏i=1m12πσexp⁡(−(y(i)−θTx(i))22σ2) L(\theta) = \prod_{i=1}^m p(y^{(i)} | x^{(i)}; \theta) = \prod_{i=1}^m \frac{1}{\sqrt{2\pi\sigma}} \exp\left(-\frac{(y^{(i)} - \theta^T x^{(i)})^2}{2\sigma^2}\right) L(θ)=i=1∏mp(y(i)∣x(i);θ)=i=1∏m2πσ 1exp(−2σ2(y(i)−θTx(i))2)

对数似然

为了计算方便,取对数将乘法转换为加法:

log⁡L(θ)=log⁡∏i=1m12πσexp⁡(−(y(i)−θTx(i))22σ2)\log L(\theta) = \log \prod_{i=1}^m \frac{1}{\sqrt{2\pi\sigma}} \exp\left(-\frac{(y^{(i)} - \theta^T x^{(i)})^2}{2\sigma^2}\right) logL(θ)=logi=1∏m2πσ 1exp(−2σ2(y(i)−θTx(i))2)

展开化简后:

log⁡L(θ)=mlog⁡12πσ−1σ2⋅12∑i=1m(y(i)−θTx(i))2\log L(\theta) = m \log \frac{1}{\sqrt{2\pi\sigma}} - \frac{1}{\sigma^2} \cdot \frac{1}{2} \sum_{i=1}^m (y^{(i)} - \theta^T x^{(i)})^2logL(θ)=mlog2πσ 1−σ21⋅21i=1∑m(y(i)−θTx(i))2

最小二乘法

最大化似然函数等价于最小化:

J(θ)=12∑i=1m(y(i)−θTx(i))2 J(\theta) = \frac{1}{2} \sum_{i=1}^m (y^{(i)} - \theta^T x^{(i)})^2J(θ)=21i=1∑m(y(i)−θTx(i))2

这就是著名的最小二乘法

参数求解方法

1. 直接求解(正规方程)

对目标函数求导并令导数为零:

J(θ)=12(Xθ−y)T(Xθ−y) J(\theta) = \frac{1}{2} (X\theta - y)^T (X\theta - y)J(θ)=21(Xθ−y)T(Xθ−y)

求偏导:

∇θJ(θ)=XTXθ−XTy \nabla_\theta J(\theta) = X^T X\theta - X^T y ∇θJ(θ)=XTXθ−XTy

令偏导等于0,得到解析解:

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

2. 梯度下降法

当数据量很大时,直接求逆矩阵计算代价高昂,我们使用迭代方法。

目标函数

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

批量梯度下降

∂J(θ)∂θj=1m∑i=1m(hθ(xi)−yi)xji \frac{\partial J(\theta)}{\partial \theta_j} = \frac{1}{m} \sum_{i=1}^{m} (h_\theta(x^i) - y^i) x_j^i ∂θj∂J(θ)=m1i=1∑m(hθ(xi)−yi)xji
θj:=θj−α1m∑i=1m(hθ(xi)−yi)xji \theta_j := \theta_j - \alpha \frac{1}{m} \sum_{i=1}^{m} (h_\theta(x^i) - y^i) x_j^i θj:=θj−αm1i=1∑m(hθ(xi)−yi)xji

随机梯度下降

θj:=θj−α(hθ(xi)−yi)xji \theta_j := \theta_j - \alpha (h_\theta(x^i) - y^i) x_j^iθj:=θj−α(hθ(xi)−yi)xji

每次使用一个样本更新参数,速度快但波动大。

小批量梯度下降

θj:=θj−α1b∑k=ii+b−1(hθ(x(k))−y(k))xj(k) \theta_j := \theta_j - \alpha \frac{1}{b} \sum_{k=i}^{i+b-1} (h_\theta(x^{(k)}) - y^{(k)}) x_j^{(k)} θj:=θj−αb1k=i∑i+b−1(hθ(x(k))−y(k))xj(k)

折中方案,每次使用小批量样本。

总结

线性回归的核心思想可以概括为:

  1. 模型假设:目标与特征之间存在线性关系
  2. 误差建模:假设误差服从高斯分布
  3. 最大似然:通过最大似然估计推导出最小二乘法
  4. 参数求解:可以通过正规方程直接求解或梯度下降迭代求解

线性回归虽然简单,但它包含了机器学习的基本思想:建立模型、定义损失函数、优化参数。理解线性回归为进一步学习更复杂的机器学习算法奠定了坚实的基础。

在实际应用中,我们还需要考虑特征缩放、正则化、多项式特征等技巧来提升模型性能,这些都是在掌握了线性回归基本原理后的自然延伸。

相关推荐
Soari1 分钟前
【紧急发布】Claude Code v2.1.148 :修复 Bash 127 瘫痪 Bug,/simplify 升级为 AI 代码评审
人工智能·bug·bash·claudecode
微祎_1 分钟前
写给新手的 triton-inference-server-ge-backend:昇腾Triton推理服务后端到底是啥?
前端·人工智能·cann
大飞记Python1 分钟前
【2026更新】Python基础学习指南(AI版)——06函数
开发语言·人工智能·python
电商API_180079052473 分钟前
反向海淘是什么?现状如何?未来趋势如何?
数据库·人工智能·笔记·性能优化·数据挖掘·网络爬虫
伤心的瘦子4 分钟前
【零基础 AI 编程】Vibe Coding 小白指南第一课
人工智能
硅基流动7 分钟前
硅基流动上线阿里 Z-Image
人工智能
SLD_Allen8 分钟前
从Prompt、Context到Harness,工程的三次进化
人工智能·prompt·上下文·harness
企学宝9 分钟前
企学宝课程开发与知识管理解决方案:零售、金融、制造等多行业落地实践
人工智能·零售·企业培训
云边云科技_云网融合9 分钟前
跨国零售企业网络升级实践:如何打通全球零售网络
人工智能·云计算
X54先生(人文科技)11 分钟前
X54先生与奇点先生关于AGI和ASI发展的对话
人工智能·开源·开源协议·零知识证明