【吴恩达机器学习笔记】第二章 多变量线性回归

1、多元线性回归的假设形式

我们假设多变量线性回归的假设形式如下所示:
多重线性回归分析可以计算OR值吗 多重线性回归的假设_人工智能为了方便我们将多重线性回归分析可以计算OR值吗 多重线性回归的假设_多元线性回归_02定义为1

则可设向量多重线性回归分析可以计算OR值吗 多重线性回归的假设_多重线性回归分析可以计算OR值吗_03多重线性回归分析可以计算OR值吗 多重线性回归的假设_吴恩达_04

则原假设形式也可以写为多重线性回归分析可以计算OR值吗 多重线性回归的假设_机器学习_05

2、代价函数

多元线性回归的代价函数与单变量线性回归相似,其如下所示:
多重线性回归分析可以计算OR值吗 多重线性回归的假设_多元线性回归_06
其中 多重线性回归分析可以计算OR值吗 多重线性回归的假设_人工智能_07 为一个维度为 多重线性回归分析可以计算OR值吗 多重线性回归的假设_人工智能_08

3、梯度下降

重复直到找到局部最优解{多重线性回归分析可以计算OR值吗 多重线性回归的假设_吴恩达_09多重线性回归分析可以计算OR值吗 多重线性回归的假设_多元线性回归_10}

4、特征缩放

百度百科中的对特征缩放(Feature Scaling)的解释为

特征缩放是用来统一资料中的自变项或特征范围的方法,在资料处理中,通常会被使用在资料前处理这个步骤。因为在原始的资料中,各变数的范围大不相同。

一般情况下,我们执行特征缩放时,我们通常的目的是,将特征的取值约束到-1到1的范围内。

但是-1和1的数字并不是很重要,比这个范围大一点或小一点 都没问题,只是不要差距太大就行,如以下例子:

多重线性回归分析可以计算OR值吗 多重线性回归的假设_多重线性回归分析可以计算OR值吗_11


特征缩放的方法有多种,我比较习惯使用标准化方法,具体公式如下所示:多重线性回归分析可以计算OR值吗 多重线性回归的假设_多重线性回归分析可以计算OR值吗_12

5、确保梯度下降算法正确执行的方法

为了确定梯度下降算法的正常运行,我们通常会生成一张多重线性回归分析可以计算OR值吗 多重线性回归的假设_多重线性回归分析可以计算OR值吗_13迭代次数变化而变化的图像,如下图所示:

多重线性回归分析可以计算OR值吗 多重线性回归的假设_人工智能_14


只有当此函数单调递减时,梯度下降算法才是正确执行的。也可以通过此图像判断算法完成的迭代次数。

我们也可以使用自动收敛测试来判断算法是否收敛完成。如果代价函数在某一次迭代之后,小于一个很小的值 多重线性回归分析可以计算OR值吗 多重线性回归的假设_人工智能_15,这个测试就判断函数已经收敛。多重线性回归分析可以计算OR值吗 多重线性回归的假设_人工智能_15通常是多重线性回归分析可以计算OR值吗 多重线性回归的假设_人工智能_17。但是要选择一个正确合适的阈值是很困难的,所以还是比较建议通过看上面这种函数图像来判断。

另外,如果生成的多重线性回归分析可以计算OR值吗 多重线性回归的假设_多重线性回归分析可以计算OR值吗_13迭代次数变化而变化的图像不是单调递减,在确保代码无误的前提下,最好的办法是减小学习率 多重线性回归分析可以计算OR值吗 多重线性回归的假设_人工智能_19

我们通常选择学习率 多重线性回归分析可以计算OR值吗 多重线性回归的假设_多元线性回归_20 大小变化为多重线性回归分析可以计算OR值吗 多重线性回归的假设_机器学习_21,在迭代正确的情况下,选择尽可能大的学习率 多重线性回归分析可以计算OR值吗 多重线性回归的假设_多元线性回归_20

6、特征和多项式回归

当一个数据图像如下图所示时:

多重线性回归分析可以计算OR值吗 多重线性回归的假设_多元线性回归_23


我们可能会使用多项式回归模型来进行拟合,例如 多重线性回归分析可以计算OR值吗 多重线性回归的假设_吴恩达_24,那么如何使用多元线性回归模型进行拟合呢?

我们可以对模型进行一些修改来实现它,如下所示:多重线性回归分析可以计算OR值吗 多重线性回归的假设_多重线性回归分析可以计算OR值吗_25在这种情况下,特征缩放就会非常重要了,因为多重线性回归分析可以计算OR值吗 多重线性回归的假设_多重线性回归分析可以计算OR值吗_26的大小会差别非常大。

7、正规方程(Normal equation)

前文对于线性规划的参数,我们是采用梯度下降通过迭代来求解,而本篇中的正规方程提供了一种 多重线性回归分析可以计算OR值吗 多重线性回归的假设_多重线性回归分析可以计算OR值吗_27 的解析解法,因此我们可以不用多次迭代算法,而是可以一次性的求解多重线性回归分析可以计算OR值吗 多重线性回归的假设_多重线性回归分析可以计算OR值吗_27

要运用此方程,我们首先要构建两个向量 多重线性回归分析可以计算OR值吗 多重线性回归的假设_多元线性回归_29多重线性回归分析可以计算OR值吗 多重线性回归的假设_多重线性回归分析可以计算OR值吗_30,那么要如何构建呢?假设我们有 多重线性回归分析可以计算OR值吗 多重线性回归的假设_吴恩达_31 个数据样本多重线性回归分析可以计算OR值吗 多重线性回归的假设_吴恩达_32每条数据分别有多重线性回归分析可以计算OR值吗 多重线性回归的假设_多元线性回归_33个特征值。那么向量 多重线性回归分析可以计算OR值吗 多重线性回归的假设_吴恩达_34、向量 多重线性回归分析可以计算OR值吗 多重线性回归的假设_多元线性回归_29 和向量 多重线性回归分析可以计算OR值吗 多重线性回归的假设_多重线性回归分析可以计算OR值吗_30 分别为:多重线性回归分析可以计算OR值吗 多重线性回归的假设_人工智能_37则向量 多重线性回归分析可以计算OR值吗 多重线性回归的假设_机器学习_38 为:多重线性回归分析可以计算OR值吗 多重线性回归的假设_机器学习_39Octave上的计算正规方程的代码为:pinv(X’*X)*X*y。即使多重线性回归分析可以计算OR值吗 多重线性回归的假设_吴恩达_40不可逆,pinv函数也可以算出想要的 多重线性回归分析可以计算OR值吗 多重线性回归的假设_机器学习_38

多重线性回归分析可以计算OR值吗 多重线性回归的假设_吴恩达_42不可逆的原因
(1)有多余的特征变量。例如:多重线性回归分析可以计算OR值吗 多重线性回归的假设_人工智能_43=面积(平方英尺),多重线性回归分析可以计算OR值吗 多重线性回归的假设_机器学习_44=面积(平方米)
(2)特征变量过多。列如:样本量小于特征变量个数(多重线性回归分析可以计算OR值吗 多重线性回归的假设_人工智能_45)。
解决方法:减少一些特征变量或使用正则化方法(regularzation),此方法以后会进行介绍。

如果使用正规方程法,则可以不用进行特征缩放。

梯度下降和正规方程的优缺点:

梯度下降

正规方程

优点:在特征变量很多的情况下,也能运行的非常好

优点:不需要选择学习速率 多重线性回归分析可以计算OR值吗 多重线性回归的假设_多元线性回归_46,可以一次性求解所以不用运行很多次,也不用画出代价函数的变化图像来检查函数收敛性。

缺点:需要选择合适的学习速率 多重线性回归分析可以计算OR值吗 多重线性回归的假设_多元线性回归_46,意味着需要运行很多次找到效果最好的,这是一种额外的工作和麻烦 。

缺点:需要计算计算多重线性回归分析可以计算OR值吗 多重线性回归的假设_多元线性回归_48,而当计算机计算逆矩阵时,需要的代价是以矩阵维度的三次方增长多重线性回归分析可以计算OR值吗 多重线性回归的假设_多重线性回归分析可以计算OR值吗_49。所以当 多重线性回归分析可以计算OR值吗 多重线性回归的假设_多元线性回归_50