吴恩达机器学习 章节4:多变量线性回归

2018-11-22  本文已影响0人  井上皓

(注意:在使用下标时,我会在下标前面加上‘_’符号来表示后面为下标项。)

4.1 多维特征


第二章节我们所讲的算法的特征值只有一个,但是在实际应用中我们的特征值有多个。

我们先看下图:

房价模型

上图是房价模型的特征和其值的表。

如何表示上图模型中的特征和特征值:

n 代表特征的数量

x^(i) 代表第i个训练实例,是特征矩阵中的第i行,是一个向量

例如x^(2)为: 

x^(2)

x_j^(i) 代表特征矩阵中第i行的第j个特征,也就是第i个训练实例的第j个特征。

例如:对于上图来讲x_2^(2)=3

多变量线性回归下假设函数的改变:

之前我们介绍的假设函数如下:

假设函数 假设函数

我们可以发现,假设函数中有n+1个参数和n个变量,为了方便我们加入 x_0 = 1 。

此时假设函数为:

加入 x_0的假设函数

多变量线性回归下假设函数:

多变量线性回归下假设函数

我们可以看见,引入 x_0 = 1 后并没有改变之前的假设函数,但是却方便了我们进行矩阵运算。

4.2 多变量梯度下降算法


下面是我们之前总结过的公式:

公式

我们的目标仍然是取得代价函数的最小值来使预测更精准。

回归的批量梯度下降算法如下:

批量梯度下降算法

即:

批量梯度下降算法

求导后:

批量梯度下降算法的特征值个数n为1时,如下:

梯度下降算法

批量梯度下降算法的特征值个数特征值个数n为1 >= 1 时,如下:

梯度下降算法

进行模型参数的更新时,表现如下:

模型参数的更新

批量梯度下降算法的使用过程中,计算所有的预测结果后,再进行模型参数的更新,反复循环这个过程最终使得代价函数的值达到我们的要求。

4.3 批量梯度下降算法1:特征缩放


特征缩放:目的是帮助梯度下降算法可以更快的进行收敛。

特征缩放的最简单方法是:

    其中μ_n是平均值,S_n是标准差

特征缩放的最简单方法

举例说明:

以房价问题为例,我们有两个特征分别为房屋尺寸和房屋的房间数量,其中房屋尺寸的值为 0-2000平方英尺,而房间数量的值则是0-5。以两个参数分别为横纵坐标。

等高线图像

在缩放前的上图左图,绘制代价函数的等高线图像呈现出竖扁的状态,在这种情况下梯度下降算法需要很多次的迭代才能收敛。

在上图右图中是我们使用了特征缩放后的等高线图像。通过对特征值x_1和x_2的变换,把特征值缩放到了-1到1之间,等高线图像呈现出一个偏正的圆形,在此种情况下我们可以更快的进行收敛。

缩放程度:

缩放程度

在进行缩放的时候,缩放的结果不能是一个太大的值也不能是一个太小的值。例如上图中特征值缩放后x_1和x_2的取值范围就可以接受,但是x_3和x_4就不行。

详细说明房价例子中的特征缩放:

特征缩放过

4.4  批量梯度下降算法2:学习率


学习率:在梯度下降算法中用α表示,用来控制我们向下收敛的步子大小。

梯度下降算法收敛所需要的迭代次数根据模型的不同而不同,我们需要通过绘制迭代次数和代价函数的图表来观测算法的收敛情况。

比如做出下图的图像,然后根据图像的状态来进行收敛。

图像

怎么解决的?

具体过程?

几种情况

总结

4.5 特征和多项式回归


合适特征值的选择!

比如在特征值基础上创造新的特征值

多项式回归

是什么?干什么的?

注意使用特征缩放

4.6 正规方程(区别于迭代方法的直接解法)


是什么?

直观理解

正规方程在矩阵不可逆情况下的解决方法


上一篇下一篇

猜你喜欢

热点阅读