线性回归概述

1. 回归(regression)

回归是指一类为一个或多个自变量因变量之间关系建模的方法,通常用来表示输入和输出之间的关系。在机器学习中大多数任务都与预测有关,当我们想预测一个数值时就会涉及到回归问题。

2. 线性回归(linear regression)
2.1 假设
  • 假设自变量x和因变量y之间的关系是线性的。
  • 任何噪声都比较正常,如噪声遵循正太分布。

我们以一个实际例子对线性回归进行解释,我们希望根据房屋的面积(平方英尺)和房龄(年)来估算房屋价格(美元)

2.2 线性模型

线性模型是指目标(房屋价格)可以表示为特征(面积和房龄)的加权和,如下面的式子:
p r i c e = w a r e a ∗ a r e a + w a g e ∗ a g e + b . price = w_{area}*area + w_{age}*age + b . price=wareaarea+wageage+b.
其中 w a r e a w_{area} warea​称为权重, b \textbf{b} b称为偏置。在机器学习领域,数据集通常有较多的特征,所以针对多个特征的多样本数据集我们可以采用矩阵 X X X来表示。其中 X X X的每一行是一个样本,每一列是一种特征。列向量 w \textbf{w} w表示权重。所以对于特征集合 X X X,预测值 y ^ \hat{y} y^​可以通过矩阵-向量乘法表示为:
y ^ = X w + b \hat{y} = Xw + b y^=Xw+b

在寻找最好的模型参数 w w w b b b之前,我们还需要两个东西:

  • 一种模型质量的度量方式。
  • 一种能够更新模型以提高模型预测质量的方法。
2.3 损失函数
  1. 定义:损失函数能够量化目标的实际值与预测值之间的差距。且数值越小表示损失越小。

  2. 回归问题中最常用的损失函数是平方差函数。为了度量模型在整个数据集上的质量,我们需要计算在训练集 n n n个样本上的损失均值。(也等价于求和)
    L ( w , b ) = 1 n ∑ i = 1 n l ( i ) ( w , b ) = 1 n ∑ i = 1 n 1 2 ( w T x ( i ) + b − y ( i ) ) 2 L(w,b) = \frac{1}{n}\sum_{i=1}^nl^{(i)}(w,b) = \frac{1}{n}\sum_{i=1}^n\frac{1}{2}(w^Tx^{(i)} + b - y^{(i)})^2 L(w,b)=n1i=1nl(i)(w,b)=n1i=1n21(wTx(i)+by(i))2
    在训练时我们希望寻找一组参数,这组参数能最小化在所有训练样本上的损失总和。

  3. 在高斯噪音的假设下,可证最小化均方误差等价于对线性模型的最大似然估计。这也是为什么采用均方误差来作为损失函数的原因。

2.4 小批量梯度下降
  1. 作用:它通过不断地在损失函数递减的方向上更新参数来降低误差。

  2. 我们通常在每次需要计算更新的时候随机抽取一小批样本,而不是遍历整个数据集,这种变体叫做小批量随机梯度下降

3. 代码实现

具体代码实现参考代码

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐