Chapter 4 – 多变量线性回归 (Linear Regression with Multiple Variables)
相比第二章,这一章无非就是数据集的特征数由一个变为多个,并引入了矩阵的概念。在第二章和高等数学的基础上,学起来也挺快的。
多变量的线性回归
新的假设函数这里我们引入新的变量 n($n \geq 2$),代表模型 / 函数的变量数目。
$$
h\left(x \right) = \theta^{T}X = \theta_{0} + \theta_{1}x_{1} + \theta_{2}x_{2} + \ldots + \theta_{n}x_{n}
$$
代价函数的表示没变
梯度下降函数的表示也没变,但要提一提由于 h(x) 的改变,求导后梯度下降算法变为:如此循环直至收敛。以 n = 2 为例,大括号内可写作:对了,$x_0$ 就是 1,加进来是为了统一。
特征缩放
保持特征值有相近的尺度将使 $J\left(\theta_{0},\ \theta_{1}\right)$ 更快收敛。当数据的各特征值不在一个量级时,我们可以将他们的尺度缩放到 -1~1 之间。
最简单的方法是令:$x_{n} = \frac{x_{n} -\mu_{n}}{s_{n}}$,其中 $\mu_{n}$ 为平均值,$s_{n}$ 为标准差。
多项式回归
线性回归并不适用于所有数据,有时可能用到二次方或三次方模型。这种情况下,先观察数据再决定尝试什么样的模型。有种方法是这样的,如:令 $x_{2}= x_{2}^{2},\ x_{3} = x_{3}^{2}$,从而将二次方模型转化为线性模型
正规方程
原理:求解 $\frac{\partial}{\partial\theta_{j}}J\left(\theta_{j}\right) = 0$
正规方程表示:$\theta = {(X^{T}X)}^{- 1}X^{T}y$ 其中 X 为训练集的特征矩阵,y 为目标变量的矢量
注意:线性代数中,定义方阵可逆的充分必要条件为方阵的行 / 列向量线性无关,因此,若特征之间不独立或特征数量大于训练集数量,正规方程无法使用。(后面所学的正则化方法可以在大量特征值和少量样本的情况下,依然能求解 θ)
正规方程与梯度下降算法的比较
正规方程
梯度下降
不需要多余参数
需要选择学习率 α
一次计算完成
需要多次迭代
矩阵逆计算的时间复杂度为 $O(n^{3})$ 适合 n 较小的情况,一般 n <10000
特征数量 n 较大时适用
仅适用于线性模型
适用各种类型的模型