7  线性回归

线性回归可以看作是一个单层神经网络. 它有解析解. (与之对比的是, 神经网络处理的往往是没有解析解的 NP 问题).

7.1 数学基础

7.1.1 Intro

根据统计学中的 变量的几种类型

  • Categorical variables
    • Nominal variables
    • Ordinal variables
  • Numeric variables
    • Continuous variables
    • Discrete variables

我们可以将 机器学习 (Machine Learning) 中的 监督式学习 (Supervised learning)分为以下两种主要类型

  • 回归问题 (Regression)
    • 例如, 线性回归
  • 分类问题 (Classification) - 例如, Logistic regression

这里提到的, 线性回归 和 Logistic regression 都可以看作是 只有一层的神经网络模型. 《动手学深度学习》的 §线性神经网络 即是从 神经网络的角度 研究 / 回顾这两个经典模型.

其中, - 线性回归 (Linear regression) 是本节学习的对象 - Softmax 回归 (或称 Multinomial logistic regression) 是 下一节 ( Chapter 10) 的学习的对象.

7.1.2 模型

  • 输入: \[x=[x_1,x_2,...,x_n]^T\]
  • 线性模型需要确定一个n维权重和一个标量偏差 \[\omega=[\omega_1,\omega_2,...,\omega_n]^T,b\]
  • 输出: \[y=\omega_1x_1+\omega_2x_2+...+\omega_nx_n+b\]向量表示法 \[y=\langle\omega,x\rangle+b\]
  • 线性模型可以看作是单层神经网络

7.1.3 损失函数 (Lost function)

我们定义一个 损失函数 (Lost function) 来度量 数据拟合 (Model fitting) 的程度. 即参数估计的好坏 (Evaluate the quality of parameter calibration)

  • 假设 \(y\) 是真实值, \(\hat{y}\) 是估计值,我们可以比较 \[l(y,\hat{y})=\frac{1}{2}(y-\hat{y})^2\]这个叫做平方损失 (这是一种 [损失函数 (Lost function)])

7.1.4 训练数据

  • 收集一些数据点来决定参数值(权重\(\omega\)和偏差\(b\)),(e.g. 6个月内被卖掉的房子。)这被称之为训练数据
  • 通常越多越好。需要注意的是,现实世界的数据都是有限的,但是为了训练出精确的参数往往需要训练数据越多越好,当训练数据不足的时候,我们还需要进行额外处理
  • 假设我们有n个样本,记为 \[X=[x_1,x_2,...,x_n]^T,y=[y_1,y_2,...y_n]^T\]\(X\) 的每一行是一个样本,\(y\) 的每一行是一个输出的实数值。

7.1.5 参数学习

  • 训练损失。但我们训练参数的时候,需要定义一个损失函数来衡量参数的好坏: \[l(X,x,\omega,b)=\frac{1}{2n}\sum_{i=1}^n(y_i- \langle x_i,w \rangle - b)^2=\frac{1}{2n} {\|y-X\omega-b\|}^2\]
  • 最小化损失来学习参数。训练参数的目的就是使损失函数的值尽可能小(这意味着预估值和真实值更接近)。最后求得的参数值可表示为: \[\omega^*,b^*=\arg\min_{\omega,b}l(X,x,\omega,b)\]

7.2 数值求解

7.2.1 梯度下降法 (Gradient descent)

为模型构造一个损失函数之后, 下一步就是寻求什么样的模型参数可以最小化 Loss function. 为此, 可以使用 梯度下降法 (Gradient descent)

梯度下降法背后的直觉
  • 在某一点的梯度 (这是一个向量) 是函数在改点增速变化最快的方向.
  • 那么这个向量的反方向 就是函数减小最快的方向. 以此方向前进, 可以寻找最小值

7.2.2 算法优化

将计算向量化, 可以并行计算. 其效率高于 for 循环.

7.2.3 数值求解的小结

  • 梯度下降通过不断沿着负梯度方向更新参数求解
  • 小批量随机梯度下降是深度学习默认的求解算法(简单,稳定)
  • 两个重要的超参数:批量大小(batch size),学习率(lr)

7.3 与正态分布的关系

最小二乘法 与 正态分布的最大似然估计 结果是一样的.

7.4 从神经网络视角看线性回归

线性回归可以看作只有一层且输出层为 Numeric variable 的神经网络

线性回归是一个单层神经网络

7.5 章节总结

  • 机器学习模型中的关键要素是训练数据、损失函数、优化算法,还有模型本身。
  • 矢量化使数学表达上更简洁,同时运行的更快。
  • 最小化目标函数和执行极大似然估计等价。
  • 线性回归模型也是一个简单的神经网络。