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

posted @ 2021-12-25 11:18  为红颜  阅读(48)  评论(0编辑  收藏  举报