【十大机器学习深入浅出】1. 线性回归 第一章:线性回归原理推导

十大机器学习笔记持续更新,欢迎免费订阅专栏和关注!

一、有监督学习

有监督学习中,模型通过输入数据和对应标签进行训练,以学习预测正确输出。

1.1 标签(Label)

在有监督学习中,每个数据点都配有一个表示其真实结果或分类的标签。

  • 对于分类问题,标签通常是类别的名称,例如在垃圾邮件检测中,标签可能是“垃圾邮件”或“非垃圾邮件”。
  • 对于回归问题,标签是连续的数值,例如房价、气温或股票价格等。

二、机器学习概念

  • Data:输入数据。
  • Loss Function:损失函数,衡量模型预测值与实际值之间的差异。

分类与回归

  • 分类:预测离散标签,如垃圾邮件检测。
  • 回归:预测连续值,如房价预测。

三、线性回归

3.1 回归方程(拟合)

拟合是模型学习数据的过程,目的是最小化预测误差。
线性回归模型的一般形式为:
y = β 0 + β 1 x 1 + β 2 x 2 + … + β n x n + ϵ y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \ldots + \beta_n x_n + \epsilon y=β0+β1x1+β2x2++βnxn+ϵ
其中 ( y y y ) 是预测值,( x 1 x_1 x1, x 2 x_2 x2, … \ldots , x n x_n xn ) 是特征,( β 0 \beta_0 β0, β 1 \beta_1 β1, … \ldots , β n \beta_n βn ) 是模型参数,( ϵ \epsilon ϵ ) 是误差项。

3.2 偏置和误差

  • 误差 ϵ \epsilon ϵ:每一个样本对应着不同的误差,反应数据的不确定性和波动
  • 偏置 θ:对应着样本的整体误差,反应模型和真实数据的偏差
  • 截距项 β 0 \beta_0 β0:线性回归模型中,当所有特征值为零时的预测值。

误差公式:
每个样本的误差 ( ϵ i \epsilon_i ϵi) 不同,
在线性回归中,对于每个样本的误差可以通过以下公式表示:

ϵ i = y i − y ^ i \epsilon_i = y_i - \hat{y}_i ϵi=yiy^i

这里:

  • ϵ i \epsilon_i ϵi 是第 ( i i i) 个样本的误差。
  • y i y_i yi 是第 ( i i i ) 个样本的实际观测值。
  • ( y ^ i \hat{y}_i y^i) 是第 ( i i i ) 个样本的预测值,根据线性回归模型计算得出。

3.3 线性回归误差的高斯分布(正态分布)

假设误差项 ( ϵ \epsilon ϵ ) 服从均值为0的正态分布,即 ( ϵ ∼ N ( 0 , σ 2 ) \epsilon \sim N(0, \sigma^2) ϵN(0,σ2))。

概率密度函数:[ f ( ϵ ; μ , σ 2 ) = 1 2 π σ 2 e − ( ϵ − μ ) 2 2 σ 2 f(\epsilon; \mu, \sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(\epsilon - \mu)^2}{2\sigma^2}} f(ϵ;μ,σ2)=2πσ2 1e2σ2(ϵμ)2 ]

  • ( f( ϵ \epsilon ϵ; μ \mu μ, σ 2 \sigma^2 σ2) ) 是误差项 ( ϵ \epsilon ϵ ) 的概率密度函数。
  • ( μ \mu μ ) 是误差的均值(在普通最小二乘线性回归中,通常假设 ( μ = 0 \mu = 0 μ=0 ))。
  • ( σ 2 \sigma^2 σ2 ) 是误差的方差。
  • ( ϵ \epsilon ϵ ) 是单个误差项。

在线性回归中,误差项 ( ϵ \epsilon ϵ) 不一定非得满足高斯分布(正态分布)。然而,在普通最小二乘线性回归(Ordinary Least Squares, OLS)的假设中,通常假定误差项满足以下条件:

  1. 零均值:误差项的期望值为零,即 ( E ( ϵ ) = 0 E(\epsilon) = 0 E(ϵ)=0 )。
  2. 同方差性:误差项具有恒定的方差,即 ( V a r ( ϵ i ) = σ 2 Var(\epsilon_i) = \sigma^2 Var(ϵi)=σ2) 对所有 ( i ) 都相同。
  3. 独立性:误差项之间相互独立,即 ( ϵ i \epsilon_i ϵi ) 和 ( ϵ j \epsilon_j ϵj) 之间不相关,对于 ( i ≠ j i \neq j i=j )。
  4. 正态分布:误差项通常假定为正态分布,即 ( ϵ ∼ N ( 0 , σ 2 ) \epsilon \sim N(0, \sigma^2) ϵN(0,σ2) )。

3.4 似然函数

解释:什么样的参数跟我们的数据组合后恰好是真实值
对于给定的数据集,似然函数 ( L ) 可以表示为:
L ( β ) = ∏ i = 1 m P ( y i ∣ x i , β ) L(\beta) = \prod_{i=1}^{m} P(y_i | x_i, \beta) L(β)=i=1mP(yixi,β)

3.5 对数似然

对数似然 ( ℓ \ell ) 是似然函数的对数,用于简化计算(乘法转换为加法):
ℓ ( β ) = log ⁡ L ( β ) \ell(\beta) = \log L(\beta) (β)=logL(β)

3.6 目标函数(Loss Function)

线性回归的目标函数通常是最小化均方误差。
[ MSE ( β ) = 1 2 m ∑ i = 1 m ( y i − ( β 0 + β 1 x i 1 + … + β n x i n ) ) 2 \text{MSE}(\beta) = \frac{1}{2m} \sum_{i=1}^{m} (y_i - (\beta_0 + \beta_1 x_{i1} + \ldots + \beta_n x_{in}))^2 MSE(β)=2m1i=1m(yi(β0+β1xi1++βnxin))2]

这里:

  • ( MSE ( β ) \text{MSE}(\beta) MSE(β) ) 表示均方误差目标函数。
  • ( m m m ) 是样本数量。
  • ( y i y_i yi ) 是第 ( i i i ) 个观测值。
  • ( β 0 \beta_0 β0) 是截距项。
  • ( β 1 , … , β n \beta_1, \ldots, \beta_n β1,,βn) 是模型参数。
  • ( x i 1 , … , x i n x_{i1}, \ldots, x_{in} xi1,,xin) 是第 ( i ) 个样本的特征值。

在实际应用中,目标函数经常乘以 ( 1 2 \frac{1}{2} 21 ) 以简化梯度计算中的导数,因为 ( ∂ ∂ β ( x 2 ) = 2 x \frac{\partial}{\partial \beta}(x^2) = 2x β(x2)=2x ),这样在梯度下降算法中可以省去2的因子。

3.7 最小二乘法

最小二乘法是一种数学优化技术,用于找到最佳拟合曲线的参数。

3.8 梯度下降

梯度下降是一种优化算法,用于最小化目标函数,通常是模型的损失函数。
它通过迭代地调整参数来寻找损失函数的最小值。
MSE ( β ) = 1 2 m ∑ i = 1 m ( y i − ( β 0 + x i ⋅ β ) ) 2 \text{MSE}(\mathbf{\beta}) = \frac{1}{2m} \sum_{i=1}^{m} (y_i - (\beta_0 + \mathbf{x}_i \cdot \mathbf{\beta}))^2 MSE(β)=2m1i=1m(yi(β0+xiβ))2

  • ( $\text{MSE}(\mathbf{\beta}) ) 是均方误差目标函数。
  • ( $m ) 是样本数量。
  • ( y i y_i yi ) 是第 ( i i i ) 个观测值。
  • ( β 0 \beta_0 β0 ) 是截距项。
  • ( x i \mathbf{x}_i xi ) 是第 ( i ) 个样本的特征向量。
  • ( β \mathbf{\beta} β ) 是参数向量,包括截距项 ( β 0 \beta_0 β0 ) 和特征权重 ( β 1 , … , β n \beta_1, \ldots, \beta_n β1,,βn )。
  • ( x i ⋅ β \mathbf{x}_i \cdot \mathbf{\beta} xiβ ) 表示向量 ( x i \mathbf{x}_i xi ) 和 ( β \mathbf{\beta} β ) 的点积。

请注意,上述公式中的点积 ( x i ⋅ β \mathbf{x}_i \cdot \mathbf{\beta} xiβ ) 表示所有特征权重与对应特征值的乘积之和。这种表示方法强调了参数向量和特征向量的运算。
在这里插入图片描述
在这里插入图片描述

3.8.1 批量梯度下降(Batch Gradient Descent)

每次迭代使用所有样本来更新参数。

3.8.2 随机梯度下降(Stochastic Gradient Descent, SGD)

每次迭代只使用一个样本来更新参数。

3.8.3 小批量梯度下降(Mini-batch Gradient Descent)

每次迭代使用一小部分样本来更新参数。

3.8.4 学习率(Learning Rate)

学习率是梯度下降算法中的一个超参数,用于控制梯度下降中每一步更新参数时的步长。
选择适当的学习率是重要的,因为太大的学习率可能导致跳过最小值甚至发散,而太小的学习率则会导致收敛速度过慢。
对结果会产生巨大影响,一般小一点。
如何选择:从小选择,不行再小()

在这里插入图片描述

3.8.5 批处理数量(Batch Size)

批处理数量是指每次迭代中用于更新模型的样本数量。
批处理数量:32,64,128都可以,很多时候还得考虑内存和效率

3.8.6 梯度下降、学习率、批处理数量 之间的关系

看上面【批量梯度下降、随机梯度下降、 小批量梯度下降】的知识点

  • 23
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值