Loading...

线性回归

1.一个简化模型

  • 假设 1: 多因素同时存在时相互独立且对结果有正向影响,且每个因素,如 x1,x2,x3x_1, x_2, x_3

  • 假设 2: 成交价格是关于这些因素的加权和

y=w1x1+w2x2+w3x3+by = w_1x_1 + w_2x_2 + w_3x_3 + b

权重和偏差的实际值在后面决定


2.线性模型

  • 给定 n 维输入 x=[x1,x2,,xn]T\mathbf{x} = [x_1, x_2, \dots, x_n]^T

  • 线性模型又一个n维权重和一个标量化偏差

w=[w1,w2,,wn]T,b\mathbf{w} = [w_1, w_2, \dots, w_n]^T, \quad b

  • 预测目标值的加权和

y=w1x1+w2x2++wnxn+by = w_1x_1 + w_2x_2 + \dots + w_nx_n + b

  • 向量形式:

y=w,x+by = \langle \mathbf{w}, \mathbf{x} \rangle + b


3.神经网络源于神经科学


4.衡量预估质量

  • 比较真实值和我们的预测值,例如真实房价和预测房价
  • 假设 yy 是真实值,y^\hat{y} 是估计值,我们可以通过损失

    L(y,y^)=12(yy^)2\mathcal{L}(y, \hat{y}) = \frac{1}{2} (y - \hat{y})^2

这个叫做平方损失函数


5.训练数据集

  • 收集一些数据来决定参数值,例如过去6个月卖出的房子
  • 训练数据
  • 通常越多越好

假设我们有 nn 个样本,记

X=[x1,x2,,xn]T\mathbf{X} = [x_1, x_2, \dots, x_n]^T

Y=[y1,y2,,yn]T\mathbf{Y} = [y_1, y_2, \dots, y_n]^T


6.参数学习

  • 训练损失定义

    L(X,y,w,b)=12ni=1n(yixi,wb)2=12nyXwb2\mathcal{L}(\mathbf{X}, \mathbf{y}, \mathbf{w}, b) = \frac{1}{2n} \sum_{i=1}^{n} (y_i - \langle \mathbf{x}_i, \mathbf{w} \rangle - b)^2 = \frac{1}{2n} \| \mathbf{y} - \mathbf{Xw} - b \|^2

  • 最小化损失来学习参数

    w,b=argminw,bL(X,y,w,b)\mathbf{w}^*, b^* = \arg \min_{\mathbf{w}, b} \mathcal{L}(\mathbf{X}, \mathbf{y}, \mathbf{w}, b)


7.显式解

  • 将偏置项加入模型

    X[X,1]w[wb]\mathbf{X} \gets [\mathbf{X}, \mathbf{1}] \quad \mathbf{w} \gets \begin{bmatrix} \mathbf{w} \\ b \end{bmatrix}

    L(X,y,w)=12nyXw2\mathcal{L}(\mathbf{X}, \mathbf{y}, \mathbf{w}) = \frac{1}{2n} \| \mathbf{y} - \mathbf{Xw} \|^2

    wL(X,y,w)=1n(yXw)TX\frac{\partial}{\partial \mathbf{w}} \mathcal{L}(\mathbf{X}, \mathbf{y}, \mathbf{w}) = -\frac{1}{n} (\mathbf{y} - \mathbf{Xw})^T \mathbf{X}

  • 找最低点来求解,所以导数设置为0

    1n(yXw)TX=0-\frac{1}{n} (\mathbf{y} - \mathbf{Xw})^T \mathbf{X} = 0

    w=(XTX)1XTy\mathbf{w}^* = (\mathbf{X}^T\mathbf{X})^{-1} \mathbf{X}^T \mathbf{y}


总结

  • 线性回归是对n维输入的加权,外加偏差
  • 使用平方损失来衡量预测值和真实值的差异
  • 线性回归有显式解
  • 线性回归可以看作是单层神经网络