1.1 线性回归
假设我们有一个有关 47 间房子的居住面积和价格的数据集:
| 居住面积(平方英尺) | 价格(1000 $) |
|---|---|
| 2104 | 400 |
| 1600 | 330 |
| 2400 | 369 |
| 1416 | 232 |
| 3000 | 540 |
将其可视化如下:
我们的目标是:给定这样的数据集,我们应该如何预测其他房子的价格,也就是说,我们应该给出怎样的预测函数?
以下列举一些记号和术语,方便之后的讨论:
我们使用上标来表示训练数据,其中
表示第 个输入数据或输入特征 (input features), 表示第 个输出数据或目标变量 (target variables); 一对
称为一个训练样本,而训练样本构成的数据集 被称为训练集; 一般用
表示输入数据的集合 ,一般用 表示输出数据的集合 . 在上例中,
. 利用上面的术语,我们可以给有监督学习一个更加正式的表述:给定训练集,我们需要学习获得一个函数
,使得 是 的良好预测。由于历史原因,这个函数 被称为假设函数 (hypothesis)。上面讲述的过程可以用如下的流程图表示: 如果我们想要预测的目标变量是一个连续随机变量,我们就把这类学习问题称作回归问题 (regression problem);若目标变量是离散随机变量,则称这类学习问题为 (classification problem)。
线性回归
为了让我们的学习问题更加有趣,我们引入更加丰富的训练集:
| Living area (feet | bedrooms | Price (1000$s) |
|---|---|---|
| 2104 | 3 | 400 |
| 1600 | 3 | 330 |
| 2400 | 3 | 369 |
| 1416 | 2 | 232 |
| 3000 | 4 | 540 |
在这里,
为实施有监督学习,我们需要一个假设函数
在此处,
其中右端的
现在,我们所需要做的就是找到
我们的目标就是找到一个
LMS 算法
我们可以使用一种算法,它从某个初始猜测值
WARNING
- 在接下来的所有语境中,我们用
表示把 赋值给 ,而用 表示 和 相等。这是符合数学传统规定的。 - 上式同时对所有
执行。 称为学习率。
现在,我们只需计算
因此对单个训练数据,我们的更新方法是:
这一法则称为 LMS 更新法则 (least mean squares),也被称为 Widrow-Hoff 学习法则。我们可以发现,这一更新公式与误差项成比例:误差越大,需要更新的越多;反之越少。
对上面这个公式,如果我们将其写成向量的形式,可有:
而对于由多个训练样本组成的训练集,我们有两种方式处理:
方式一:批量梯度下降
利用
一次性处理训练集中的所有训练样本。这种方法的正确性是显然的:对于有限个训练样本,求和和求偏导显然是可以交换次序的(当然,无限项就需要斟酌是否能够交换次序了,一般来说和级数的一致收敛性相关
NOTE
批量梯度下降法的优缺点如下:
- 优点:收敛稳定;
- 缺点:计算开销大,在完成所有样本的计算之后才能更新参数。
方式二:随机梯度下降
算法如下:
这种算法被称为随机梯度下降。
NOTE
随机梯度下降的优缺点如下:
- 优点:相比于批量梯度下降,随机梯度下降的计算开销较小,能够更快地 “靠近” 极值点;
- 缺点:但是随机梯度下降的收敛是震荡的,有时候并不会收敛到极值点。
尽管如此,那些在极值点附近的震荡值是极值点的良好近似!所以在实际运用中,随机梯度下降的应用是更加广泛的。
正规方程
矩阵函数微积分
对函数
假设
则其导数为
最小二乘
接下来我们尝试找出
定义
因为
根据二次型相关知识,我们有
微积分观点
因此,为找到使
倒数第二个等号利用了恒等式
因此,令
因此有
线性代数观点
事实上,更简洁的理解方式是线性代数的理解方式。如果我们将
不妨设
解得
正规方程提供了线性回归的精确数学解,是理解最小二乘本质的基础,但在大数据场景下梯度下降更实用。