5 多变量线性回归(Linear Regression with
5.1 多特征量(Multiple features)
本节课开始讨论一种新的线性回归的版本,这个版本更适用于多个变量或多特征量的情况。
在多变量线性回归算法中,符号规范如下:
- n表示特征量的数目;
- m表示训练样本数;
- x(i)表示第 i 个训练样本的输入特征值;
*x(i)j表示第 i 个训练样本中第 j 个特征量的值。
之前的预测房价的函数中只与房价有关,而现实预测过程中,房价是会受到多个因素的影响的,因此,房价预测公式可以假设为:
为了简化上述公式,假定存在第0个特征量x0,并且x0=1。此时,所有的特征量可以写成一个列向量:
X,同理,将所有的系数theta也组成一个列向量,这两个列向量均为n+1维。
根据上述组织形式,可以将多变量线性回归公式简化为:
内积(inner product):上述简化后的公式即为参数向量theta与特征向量X的内积。
5.2 多元梯度下降法(Gradient descent for multiple variables)
本节课主要讲解如何设定多元线性回归假设中的参数,重点是如何用梯度下降法来处理多元线性回归。
多元线性回归的梯度下降法与单元线性回归的梯度下降法的区别在于多元线性回归存在多个特征向量,那么在梯度下降法遍历时,就需要遍历每一个特征向量的参数theta的计算过程,伪代码如下:
5.3 多元梯度下降法演练I——特征缩放(Gradient descent in practice I: Feature Scaling)
本节课及下节课都讲解的是梯度下降运算中的实用技巧。本节课主要讲解的是一个称为特征缩放的方法。
如果有一个问题包含多个特征,并且能确保这几个特征的取值范围相近,这样梯度下降法就能更快地收敛。
通常,特征缩放的目的是将特征的取值范围约束在-1~+1之间,其中-1和+1这两个数字并非精确的概念,可以取二者相近的数字,但不能出现太大的偏差。Andrew认为,一般情况下,-3~+3或-1/3~+1/3范围都是可以接受的。
一般在做特征缩放时,不必强求所有特征的范围一定都在某个范围内,只要保证他们的取值范围足够接近即可。
特征缩放的一般做法是将特征除以最大值。
另一种进行特征缩放的方法称为:均值归一化(Mean normalization),即用xi-ui来代替xi的值,其中,xi-ui可以使得特征值的平均值接近0。
对于特征xi,最通用的特征缩放公式为:xi-ui/si,其中,ui是训练集中的特征xi的平均值,si是该特征值的范围,即最大值减去最小值或者变量的标准差。
特征缩放的目的是让梯度下降法尽可能快的收敛。