1.多元线性回归(Multivariate Linear Regression)

2.计算参数分析(Computing Parameters Analytical)

5.Octave/Matlab Tutorial

1 多元线性回归(Multivariate Linear Regression)

1.1 多特征(Multiple Features)

对于一个要度量的对象,一般来说会有不同维度的多个特征。比如之前的房屋价格预测例子中,除了房屋的面积大小,可能还有房屋的年限、房屋的层数等等其他特征:

这里由于特征不再只有一个,引入一些新的记号

吴恩达MachineLearning-Week2

吴恩达MachineLearning-Week2

注意:n=1代表有吴恩达MachineLearning-Week2两个参数。前者是基本参数,默认含有,与x0=1搭配。

4.2 多变量梯度下降(Gradient Descent for Multiple Variables)

吴恩达MachineLearning-Week2

在这里,我们将吴恩达MachineLearning-Week2整体看做一个向量吴恩达MachineLearning-Week2  ,而不是多个分离的变量。而 吴恩达MachineLearning-Week2和之前相比,差别只是参数变多,从吴恩达MachineLearning-Week2变成吴恩达MachineLearning-Week2

吴恩达MachineLearning-Week2

吴恩达MachineLearning-Week2

显然,我们可以发现,同之前相比,x不仅有了上标,还出现了下标。这是因为之前的上标只表示多个数据样本的***。之前仅有吴恩达MachineLearning-Week2两个参数,只有一个变量x(也就是现在的x1。注意是x0从始至终默认为1,不是吴恩达MachineLearning-Week2)。而现在,我们将参数拓展到n(n+1维),则x也用下标表示对应的数据样本的分量。

吴恩达MachineLearning-Week2

4.3 梯度下降实践1-特征值缩放(Gradient Descent in Practice I - Feature Scaling)

在应用梯度下降算法实践时,由于各特征值的范围不一,可能会影响代价函数收敛速度。

以房价预测问题为例,这里选取房屋面积大小和房间数量这两个特征。

下图中,左图是以原始数据绘制的代价函数轮廓图,右图为采用特征缩放(都除以最大值)后图像。相对于使用特征缩放方法的右图,左图中呈现的图像较扁,梯度下降算法需要更多次的迭代,速度缓慢且低效。

吴恩达MachineLearning-Week2

出现上面的原因,是因为x1,x2的范围远远不同。This is because θ will descend quickly on small ranges and slowly on large ranges。原因我们可以这样认为:

已知J(θ )=x0+θ1x1+θ2x2,对于上面的图,同一个圈内有同一个J值。由于x1的波动范围极大,因此要将参数θ1波动范围控制到较小的值,而x2的波动范围极小,因此将θ2的波动范围放到很大,如此才能得到同样的J(θ)值。因此同样的J值组成的这个圈呈椭圆形。

而当我们进行了特征值缩放之后,我们将x1,x2控制在了同一个范围,因此θ1,θ2的波动也趋于相似,图形呈较规则的圆形。

为了优化梯度下降的收敛速度,采用特征缩放的技巧,使各特征值的范围尽量一致

除了以上图人工选择并除以一个参数的方式,均值归一化(Mean normalization)方法更为便捷,可采用它来对所有特征值统一缩放:

吴恩达MachineLearning-Week2

对于特征的范围,并不一定需要使得-1<x<1,类似于1<=x<=3等也是可取的,而诸如-100<=x<=100,-0.0001<=x<=0.0001,就显得过大/过小了。视频课中,Andrew Ng的推荐是两边得数在-3<=x<=3或者-1/3<=x<=1/3都是在合理范围的,若任意一边超过,我们都视为不合理。比如0<=x<=5就视为不合理。举例:

吴恩达MachineLearning-Week2

注意:1.一旦采用特征缩放,我们就需对所有的输入采用特征缩放,包括训练集、测试集、预测输入等。

2.在视频课中,均值均一化公式的分母是最大值减最小值,在编程中我们采用的是标准差。

 

 

 

 

 

 

 

 

 

相关文章: