【机器学习笔记】回归算法

回归算法

文章目录

  • 回归算法
    • 1 线性回归
    • 2 损失函数
    • 3 多元线性回归
    • 4 线性回归的相关系数

1 线性回归

  1. 回归分析(Regression)

    回归分析是描述变量间关系的一种统计分析方法

    例:在线教育场景

    • 因变量 Y:在线学习课程满意度

    • 自变量 X:平台交互性、教学资源、课程设计

    预测性的建模技术,通常用于预测分析,预测的结果多为连续值(也可为离散值,二值)

  2. 线性回归 (Linear regression)

    因变量和自变量之间是线性关系,就可以使用线性回归来建模
    y = b + m 1 x 1 + m 2 x 2 + … + m n x n y = b + m_1x_1 + m_2x_2 + \ldots + m_nx_n y=b+m1x1+m2x2++mnxn
    其中 $m_1, m_2, \ldots, m_n $ 是各个特征的权重,$ x_1, x_2, \ldots, x_n $是对应的特征值。

    线性回归的目的即找到最能匹配(解释)数据截距斜率

  3. 如何拟合数据

    假设只有一个因变量和自变量,每个训练样例表示 ( , )

    y ^ i \hat y_i y^i 表示根据拟合直线和 x 对 的预测值: y ^ i = b 1 + b 2 x i \hat y_i=b_1+b_2x_i y^i=b1+b2xi

    定义 e i = y i − y ^ i e_i=y_i-\hat y_i ei=yiy^i误差项

    【机器学习笔记】回归算法_第1张图片

    目标:得到一条直线使得对于所有训练样例的误差项尽可能小

  4. 线性回归的基本假设

    • 自变量与因变量间存在线性关系
    • 数据点之间独立
    • 自变量之间无共线性,相互独立;
    • 残差独立,等方差,且符合正态分布

2 损失函数

  1. 损失函数(loss function)

    损失函数(Loss Function)是用于衡量模型预测值与实际值之间差异的函数。

    • 均方误差(Mean Squared Error,MSE):用于回归问题,计算预测值与实际值之间的平方差的平均值。
      MSE = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 MSE=n1i=1n(yiy^i)2

    • 平均绝对误差(Mean Absolute Error,MAE):也用于回归问题,计算预测值与实际值之间的绝对差的平均值。
      MAE = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ \text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i| MAE=n1i=1nyiy^i

  2. 最小二乘法(Least Square, LS)

    为了求解最优的截距和斜率,可以转化为一个针对损失函数的凸优化问题,称为最小二乘法
    min ⁡ b 1 , b 2 : ∑ i = 1 n ( y i − y ^ i ) 2 = ∑ i = 1 n ( y i − b 1 − b 2 x ) 2 \min_{b_1,b_2}:\sum_{i=1}^n(y_i - \hat{y}_i)^2=\sum_{i=1}^n(y_i - b_1-b_2x)^2 b1,b2min:i=1n(yiy^i)2=i=1n(yib1b2x)2
    为求最小值,将上事对 b 1 b_1 b1 b 2 b_2 b2求偏导,得到:
    b 2 = ∑ i = 1 n ( x i − x ^ ) ( y i − y ^ ) ∑ i = 1 n ( x i − x ^ ) 2 b 1 = y ^ − b 2 x ^ b_2=\frac{\sum_{i=1}^n(x_i-\hat x)(y_i-\hat y)}{\sum_{i=1}^n(x_i-\hat x)^2}\\b_1=\hat y-b_2\hat x b2=i=1n(xix^)2i=1n(xix^)(yiy^)b1=y^b2x^
    x ^ \hat x x^ y ^ \hat y y^ 分别表示自变量和因变量的均值。

  3. 梯度下降法(Gradient Descent, GD)

    沿着损失函数的梯度方向,通过不断更新模型参数来减小损失函数的值,直到达到损失函数的局部最小值或收敛到某个停止条件。

    • 初始化参数: 随机初始化模型的参数(权重 b 2 b_2 b2 和偏置 b 1 b_1 b1)。

    • 计算梯度: 计算当前参数下损失函数关于每个参数的梯度(导数)。
      KaTeX parse error: Undefined control sequence: \part at position 8: \frac{\̲p̲a̲r̲t̲ ̲\sum_{i=1}^ne_i…

    • 更新参数: 沿着梯度的反方向调整参数,通过学习率 α \alpha α 控制每次更新的步长。
      KaTeX parse error: Undefined control sequence: \part at position 19: …b-\alpha \frac{\̲p̲a̲r̲t̲ ̲\sum_{i=1}^ne_i…

    • 重复: 重复步骤2和3,直到满足停止条件,例如达到最大迭代次数或梯度接近零。

    • 输出: 返回最终的模型参数。

3 多元线性回归

  1. 多元线性回归(Multiple Linear Regression)

    当因变量有多个时,我们可以用矩阵方式表达
    Y = X β + e Y=X\beta +e Y=+e
    Y Y Y 为输出, X X X 为输入矩阵, β \beta β 为回归系数, e e e 是误差项(残差)。

  2. 损失函数

    误差项 e = y − X β e=y-X\beta e=y

    损失函数 ∑ i = 1 n e i 2 = e ⊤ e \sum_{i=1}^ne_i^2=e^\top e i=1nei2=ee e ⊤ e^\top e表示转置

    求解得到 β = ( X ⊤ X ) − 1 X ⊤ y \beta =(X^\top X)^{-1}X^\top y β=(XX)1Xy

  3. 实例:家庭花销预测

    记录了25个家庭每年在快销品和日常服务上总开销( Y Y Y),每年固定收入( X 2 X_2 X2) ,持有流动资产( X 3 X_3 X3)

    可以构建如下线性回归模型:
    y i = β 1 + β 2 x i 2 + β 3 x i 3 + ϵ i y_i=\beta_1 +\beta_2x_{i2}+\beta_3x_{i3}+\epsilon_i yi=β1+β2xi2+β3xi3+ϵi
    带入 β = ( X ⊤ X ) − 1 X ⊤ y \beta =(X^\top X)^{-1}X^\top y β=(XX)1Xy ,计算得到 β 1 = 36.789 \beta_1=36.789 β1=36.789 β 2 = 0.332 \beta_2=0.332 β2=0.332 β 3 = 0.125 \beta_3=0.125 β3=0.125

    预测:如果一个家庭每年固定收入为 50K$、持有流动资产 100K$,则 预计一年将会花费
    y ^ i = 36.79 = 0.332 ∗ 50 + 0.125 ∗ 100 = 65.96 K \hat y_i=36.79=0.332*50+0.125*100=65.96K y^i=36.79=0.33250+0.125100=65.96K

  4. 以“误差平方和”为损失函数的优缺点

    • 优点
      • 损失函数是严格的凸函数,有唯一解
      • 求解过程简单且容易计算
    • 缺点
      • 结果对数据中的"离群点"(outlier)"非常敏感
      • 损失函数对于超过低于真实值的预测是等价的

4 线性回归的相关系数

  1. 相关系数r

    定义因变量和自变量之间的相关系数 r
    r = 1 n − 1 ∑ i = 1 n ( x i − x ^ s x ) ( y i − y ^ s y ) r=\frac{1}{n-1}\sum_{i=1}^n(\frac{x_i-\hat x}{s_x})(\frac{y_i-\hat y}{s_y}) r=n11i=1n(sxxix^)(syyiy^)
    其中 $ \hat x$ 是 X X X 的均值, S x S_x Sx X X X 的标准差 1 n − 1 ∑ ( x i − x ^ ) 2 \sqrt{\frac{1}{n-1}\sum (x_i-\hat x)^2} n11(xix^)2

    协方差为 ( x i − x ^ s x ) ( y i − y ^ s y ) (\frac{x_i-\hat x}{s_x})(\frac{y_i-\hat y}{s_y}) (sxxix^)(syyiy^),描述两个变量和Y的线性相关程度

    【机器学习笔记】回归算法_第2张图片

    相关系数r的绝对值越接近1,线性相关程度越高。

  2. 决定系数(coefficient of determination)

    决定系数 R 2 R^2 R2 ,也称作判定系数、拟合优度。

    决定系数衡量了模型对数据的解释程度,y的波动有多少百分比能被x的波动所描述。
    R 2 = 1 − MSE VAR = ∑ i ( y i − y ^ ) 2 ∑ i ( y i − y ˉ ) 2 R^2=1-\frac{\text{MSE}}{\text{VAR}}=\frac{\sum_i (y_i-\hat y)^2}{\sum_i(y_i-\bar y)^2} R2=1VARMSE=i(yiyˉ)2i(yiy^)2
    y i y_i yi 为真实值, y ^ i \hat y_i y^i 为预测值, y ˉ i \bar y_i yˉi 为均值。 MSE \text{MSE} MSE 是均方误差, VAR \text{VAR} VAR是方差。

    R 2 R^2 R2越接近1,表示回归分析中自变量对因变量的解释越好

    特别注意:变量相关 ≠ 存在因果关系

你可能感兴趣的:(机器学习,笔记,回归,线性回归,人工智能)