Least Mean Squares Regression(一)


1. Examples

假设我们想从一辆汽车的重量和年龄来预测它的里程数:
在这里插入图片描述
我们想要的是:一个可以使用\(x_1\)\(x_2\)来预测里程的function。
线性回归:利用线性模型预测连续值的策略

  • 假设:输出是输入的线性函数
    \[Mileage = w_0 + w_1 \cdot x_1 + w_2 \cdot x_2\]
    在这里插入图片描述

  • 学习:利用训练数据找到\(w\)的最佳可能值
  • 预测:给定新车的\(x1,x2\)的值,使用学习到的\(w\)来预测新车的里程

    1.2 数学表达

    输入向量:\(x \in R^{d}\)
    输出为实正数值:\(y \in R\)
    我们的训练集:
    \[D=\{(x_1,y_1),(x_2,y_2),...\}\]
    我们想要一个线性预测:
    \[ y=w_1+w_2 \cdot x_2+...+w_d \cdot x_d \\ y=w^{T}x \]
    \(w\)是训练的道德可学习的权重向量
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2. The LMS objective

    对于训练集中的输入\((\pmb{x_i}、y_i)\),定义特定权重向量w的成本(或损失):
    \[J(\pmb{w})=\frac{1}{2}\sum \limits_{i=1}^{m}(y_i-\pmb{w}^{T}\pmb{x_i})\]

一个学习策略是:在这个数据上找到成本最低的\(w\)
在这里插入图片描述

3. Gradient descent

目标函数:
\[\min \limits_{\boldsymbol w}\frac{1}{2}\sum \limits_{i=1}^{m}(y_i-\pmb{w}^{T}\pmb{x_i})\]

最小化一个函数J(w)的一般策略:

  • 初始化一个\(w\),比如w0
  • 迭代直到收敛:
    1. 计算\(J\)\(w^t\)处的梯度的梯度
    2. 通过采取一个相反方向的梯度从\(w^t\)得到\(w^{t+1}\)
      在这里插入图片描述
      在这里插入图片描述

      3.2 Gradient descent for LMS

  • 初始化\(\pmb{w_0}\)
  • 对于t=0,1,2,...
    1. 计算\(J(\pmb w)\)\(\pmb w^{t}\)的梯度:\(rJ(\pmb{w^{t}})\)
    2. 更新权重:
      \[\pmb{w^{t+1}}=\pmb{w^{t}}-rJ(\pmb{w^{t}})\]

r为learning rate
其中导数为:
\[\nabla J(\pmb{w^{T}})=[\frac{\partial J}{\partial w_1},\frac{\partial J}{\partial w_2},...,\frac{\partial J}{\partial w_d}]\]
此时我们将梯度具体化:
\[ \begin{aligned} \frac{\partial J}{\partial w_j}&=\frac{\partial}{\partial w_j}\frac{1}{2}\sum \limits_{i=1}^{m}(y_i-\pmb w^{T}\pmb{x_i})^2 \\ &=\frac{1}{2}\sum \limits_{i=1}^{m}\frac{\partial}{\partial w_j} (y_i-\pmb w^{T}\pmb{x_i})^2 \\ &=\frac{1}{2}\sum \limits_{i=1}^{m}2(y_i-\pmb w^{T}\pmb{x_i})\frac{\partial}{\partial w_j}(y_i-w_1x_{i1}-...-w_jx_{ij}-...) \\ &=\frac{1}{2}\sum \limits_{i=1}^{m}2(y_i-\pmb w^{T}\pmb{x_i})(-x_{ij}) \\ &=-\sum \limits_{i=1}^{m}(y_i-\pmb w^{T}\pmb{x_i})x_{ij} \end{aligned} \]

在这里插入图片描述

3.3 Incremental/Stochastic gradient descent

  • 对每个例子重复\((\pmb{x_i},y_i)\)
    1. 假设整个训练集都由这个单一的示例来表示
    2. 使用此示例来计算梯度并更新模型
  • 与批处理梯度下降相比,它会对每次传递数据的权重向量进行一次更新
    在这里插入图片描述
    当训练集非常大时,在线/增量算法通常是首选,可能比批处理版本更快地接近最佳

    4. Summary

  • 我们想要的是:使用输入的特征表示来预测实际值输出
  • 假设:输出是输入的一个线性函数
  • 通过最小化总成本来学习
    1. 梯度下降和随机梯度下降找到最佳权重向量
    2. 这种特殊的优化可以通过将问题框架为一个矩阵问题来直接计算

后面将会继续介绍:Sparse LMS

相关