十大机器学习笔记持续更新,欢迎免费订阅专栏和关注!
一、有监督学习
有监督学习中,模型通过输入数据和对应标签进行训练,以学习预测正确输出。
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=yi−y^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 1e−2σ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)的假设中,通常假定误差项满足以下条件:
- 零均值 :误差项的期望值为零,即 ( E ( ϵ ) = 0 E(\epsilon) = 0 E(ϵ)=0 )。
- 同方差性 :误差项具有恒定的方差,即 ( V a r ( ϵ i ) = σ 2 Var(\epsilon_i) = \sigma^2 Var(ϵi)=σ2) 对所有 ( i ) 都相同。
- 独立性 :误差项之间相互独立,即 ( ϵ i \epsilon_i ϵi ) 和 ( ϵ j \epsilon_j ϵj) 之间不相关,对于 ( i ≠ j i \neq j i=j )。
- 正态分布 :误差项通常假定为正态分布,即 ( ϵ ∼ 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(yi∣xi,β)。
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(β)=2m1∑i=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(β)=2m1∑i=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 梯度下降、学习率、批处理数量 之间的关系
看上面【批量梯度下降、随机梯度下降、 小批量梯度下降】的知识点