原笔记网址:https://scruel.gitee.io/ml-andrewng-notes/week2.html
红色字体为自己的标注、绿色字体为自己的感想。
目录
4 多变量线性回归(Linear Regression with Multiple Variables)
- 4.1 多特征(Multiple Features)
- 4.2 多变量梯度下降(Gradient Descent for Multiple Variables)
- 4.3 梯度下降实践1-特征值缩放(Gradient Descent in Practice I - Feature Scaling)
- 4.4 梯度下降实践2-学习速率(Gradient Descent in Practice II - Learning Rate)
- 4.5 特征和多项式回归(Features and Polynomial Regression)
- 4.6 正规方程(Normal Equation)
- 4.7 不可逆性正规方程(Normal Equation Noninvertibility)
- 5.1 Basic Operations
- 5.2 Moving Data Around
- 5.3 Computing on Data
- 5.4 Plotting Data
- 5.5 Control Statements: for, while, if statement
- 5.6 向量化(Vectorization)5.x 常用函数整理
4 多变量线性回归(Linear Regression with Multiple Variables)
4.1 多特征(Multiple Features)
对于一个要度量的对象,一般来说会有不同维度的多个特征。比如之前的房屋价格预测例子中,除了房屋的面积大小,可能还有房屋的年限、房屋的层数等等其他特征:
这里由于特征不再只有一个,引入一些新的记号
注意:n=1代表有两个参数。前者是基本参数,默认含有,与x0=1搭配。
4.2 多变量梯度下降(Gradient Descent for Multiple Variables)
在这里,我们将整体看做一个向量
,而不是多个分离的变量。而
和之前相比,差别只是参数变多,从
变成
。
显然,我们可以发现,同之前相比,x不仅有了上标,还出现了下标。这是因为之前的上标只表示多个数据样本的序列号。之前仅有两个参数,只有一个变量x(也就是现在的x1。注意是x0从始至终默认为1,不是
)。而现在,我们将参数拓展到n(n+1维),则x也用下标表示对应的数据样本的分量。
4.3 梯度下降实践1-特征值缩放(Gradient Descent in Practice I - Feature Scaling)
在应用梯度下降算法实践时,由于各特征值的范围不一,可能会影响代价函数收敛速度。
以房价预测问题为例,这里选取房屋面积大小和房间数量这两个特征。
下图中,左图是以原始数据绘制的代价函数轮廓图,右图为采用特征缩放(都除以最大值)后图像。相对于使用特征缩放方法的右图,左图中呈现的图像较扁,梯度下降算法需要更多次的迭代,速度缓慢且低效。
出现上面的原因,是因为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&#