1 算法简介
线性回归是一种监督学习算法,即给定一个训练集,去学习一个假设函数,用来尽量精确地预测每个样本对应的输出。从输出变量的离散程度来看,监督学习算法可以分为两类。线性回归属于回归算法,其输出变量连续;而另一类监督学习算法是分类算法,其输出变量离散。
2 求解方法
对于线性回归代价函数的求解,有两种可选方法:梯度下降与正规方程。
2.1 梯度下降
2.1.1 分类
梯度下降主要可以分为两类:批量梯度下降和随机梯度下降:
- 批量梯度下降:每次计算梯度都需要遍历所有的样本点,当样本量很大时, 计算速度会⼗分缓慢
- 随机梯度下降:每次只考虑一个样本点,⽽不是所有样本点,计算速度会提⾼, 但是收敛过程会⽐较曲折, 可能无法精确收敛⾄最优值
随机梯度下降的一种优化形式是⼩批量梯度下降,利⽤矩阵并行运算,一次处理小批量的样本点,有时可以⽐随机梯度下降速度更快。
2.1.2 梯度方向的选择
选择梯度⽅向的原因是它是使代价函数减小(下降)最⼤的⽅向,我们可以利用柯⻄不等式对这一结论进行证明:
4 局部加权线性回归
本节将介绍⼀种特殊的线性回归算法:局部加权线性回归。
4.1 欠拟合与过拟合
对于传统的线性回归,特征的选择极为重要,对于下面三幅图,我们称第一幅图的模型是欠拟合,第三幅图的模型则是过拟合(之后的笔记中会详细介绍)。
可以看出,找到一个全局的线性模型去拟合整个训练集,并不是一件简单的事情,往往会引起欠拟合或是过拟合的发生。对于这种情况之后会给出解决方案,而这里我们提出了另外一种思路,即局部线性加权回归,这种方案可以使特征的选择的重要性降低。
4.3 参数学习与非参数学习
局部加权线性回归本质上是一种非参数学习算法,而传统的线性回归是一种参数学习算法。
两者的区别在于:
- 参数学习算法有一组有限的、固定的参数,一旦完成拟合,只需要保存下参数值做预测,而不需要保存完整的训练集;
- 非参数学习算法由于参数不固定,所以需要保存完整的训练集来进行预测,而不仅仅是保存参数。
非参数学习导致的结果:为了表达假设 而保存的数据将随着训练集的大小而线性增长。