三、多元线性回归multiple linear regression
3.1 多维特征
上行下列,将特征向量化
这里的dot product指的是两个向量的点积,编程中常使用numpy中的dot()函数来进行运算。
具有多个特征的线性回归如下:
3.2 多元梯度下降法 Gradient Descent With Multiple Variables
在需要使用多个变量时,可以用向量来表示,这样会使式子简洁很多。
与单变量的线性回归类似,我们在多变量的线性回归中,依然需要构建一个代价函数来衡量误差大小,目标依然是寻求使得代价函数最小的一组参数。多变量线性回归的批量梯度下降算法为:
3.3 特征缩放
-
目的 :让梯度下降运行的更快
-
问题:当特征范围相差太大时,会一直来回振荡,梯度下降效率低。
当具有多维特征时,特征间的范围相差太大时,梯度下降的效率会降低。因此我们要保证这些个特征具有相近的尺度,这样可以使得梯度下降更快地收敛。
如下图所示,若特征范围相差太大,绘制出的代价函数等高线图像会显得比较扁,将特征缩放后的图像会比较美观、易观察。
解决的方法是尝试将所有特征的尺度都尽量缩放到-1 到 1 之间。
这里的方法将特征尺度缩放到0-1之间。
3.3.1 均值归一化 Mean normalization
一开始的数据只有正值,经过均值归一化的计算之后,数据既有正数也会有负数。
3.3.2 Z-score归一化 Z-score normalization
σ1是标准差。特征可以部分缩放,根据情况而定。
3.4 特征和多项式回归 polynomial regression
3.4.1 特征工程 feature engineering
本质:通过转换、结合设计新的特征x
- 特征工程(Feature
Engineering)特征工程是将原始数据转化成更好的表达问题本质的特征的过程,使得将这些特征运用到预测模型中能提高对不可见数据的模型预测精度。 - 特征工程简单讲就是发现对因变量y有明显影响作用的特征,通常称自变量x为特征,特征工程的目的是发现重要特征。
视频中例子:
假设有两个特征:x1 是土地宽度,x2 是土地纵向深度。
由于房价实际与面积挂钩,所以提取出新特征:面积x3 = x1 * x2,以获得更好的模型。
3.4.2 多项式回归 polynomial regression
线性回归是用一条直线去拟合数据,但它并不适用于所有类型的数据,有些时候需要曲线来拟合,例如二次、三次方模型。
如下图中,size需要取到三次方时,特征的范围明显太大,这是我们就需要进行特征缩放,防止代价函数的图像变得很扁。
也可以选择根号模型,可以充分地拟合数据