吴恩达机器学习笔记-多变量线性回归(三)

多变量线性回归

多功能

在前面的章节中间,我们了解到的就是仅仅一个变量影响一个结果的情况,但是现实情况下,一个结果可能是由多个不同的因素影响的,例如房屋的价格,并不仅仅与房屋的面积相关,还可能与其他的因素相关
吴恩达机器学习笔记-多变量线性回归(三)_第1张图片
在上图中,我们能够看到影响的因素features的n=4,中间对于不同的数据存在不同的表达方式
对于上面这样的情况,就不能简单的使用前面讲到的h方程进行计算了,如下所示
吴恩达机器学习笔记-多变量线性回归(三)_第2张图片
可以发现,此时多了更多的theta值
吴恩达机器学习笔记-多变量线性回归(三)_第3张图片
这里使用了theta的转置和x的乘积,即为内积

多元梯度下降法

吴恩达机器学习笔记-多变量线性回归(三)_第4张图片
上图中,我们能够得到h这个期望函数,中间存在多个theta值,这些theta可以作为一个向量在后面进行计算
根据前面的所学,得到这里的代价方程,要求这个代价方程的局部最小值,使用到了梯度下降法,需要分别对这些theta值求偏导
吴恩达机器学习笔记-多变量线性回归(三)_第5张图片
前面我们了解到的是上图左边的这样的一个求偏导的方式,将上图左边的式子进行一般化,就能够得到右边的情况,即对应多个不同的theta值求偏导的计算公式

多元梯度下降法演练1-特征缩放

当我们存在多个特征的时候,例如,一个房子的大小可以是0-2000的大小,卧室的数量为1-5个;此时忽略theta0,将theta1和theta2带入到代价函数中间,构建出来的等值线图如下:
吴恩达机器学习笔记-多变量线性回归(三)_第6张图片
可以看到,这个等值线图又瘦又高,对于这样的结果显然是不好的,在这样的图形中间使用梯度下降法的时候,会花费大量的时间,并且有可能还会使结果不收敛具有振荡性
想要将上面这样的问题进行规避,可以使用特征缩放的方式 来处理
吴恩达机器学习笔记-多变量线性回归(三)_第7张图片
如上图,此时构建的这个等值线图变得更圆了一些;此时的x1和x2的取值范围都变成了0到1之间,这样能够帮助我们梯度下降法更快的运行完成
当然,更多的情况下,我们是将特征值放在-1到+1之间的(并不是绝对的)
吴恩达机器学习笔记-多变量线性回归(三)_第8张图片
在上面的例子中间,能够看到,-1到1的取值并不是一个完全唯一的,只是说的一个概念,只需要在这个附近即可;但是上面的x3和x4的取值范围一个太大,一个太小,这样显然是不合适的

平均归一化

吴恩达机器学习笔记-多变量线性回归(三)_第9张图片
上面的讲述中,可以看到,在进行缩放的时候,可以去减去一个平均的值,例如:房子的平均大小是1000,平均每套房的房间数量是2,按照上面的方式先减去平均值,之后再缩放
更为一般的表示方式如下:
吴恩达机器学习笔记-多变量线性回归(三)_第10张图片
分子上面减去的是特征的平均值,分母上面的是特征值的取值范围(最大值减最小值即可)

多元梯度下降法演练2-学习率

首先我们应该明确的是,在使用梯度下降法的时候,应该是每用一次梯度下降,对应的代价函数的值应该就越小,直到最后的代价函数收敛,用一张图表示,如下:
吴恩达机器学习笔记-多变量线性回归(三)_第11张图片
在上图中,横坐标表示的是迭代的次数,纵坐标表示的是在对应的迭代次数下,代价函数J所对应的值,可以看到,该曲线应该是逐步的下降的
另外,在上面的图形中,我们能够看到,迭代次数在300到400左右的时候,代价函数的值已经并没有发生太大的变化了,此时我们可以说,在300左右的时候已经开始收敛了;对于不同的机器学习问题,可能其迭代次数并不相同,有的可能30次就开始收敛,有的可能300000次才开始收敛,这个时候,我们就可以构建这样的一个图形帮助我们去分析
当然,也是存在另外一种方式的,那就是自动收敛测试,我们可以事先确定一个值,当使用梯度下降法的时候,其值小于这个预期的值的时候,就停止,但是一般情况下,这个值比较难确定,所以更多的时候还是采用的前面的这种方式
另外使用上面这样的图形进行判断的时候,也是能够帮助我们判断该梯度下降法是否在正常运行,如下图所示
吴恩达机器学习笔记-多变量线性回归(三)_第12张图片
当我们发现代价函数的值越来越大或者发生了振荡,这样的情况我们需要使用一个小一点的学习率
学习率的大小选择比较关键,上面说并不能选择较大的,同样,也不能选择过小的,当过小的情况下,整个梯度下降算法可能收敛的非常慢
通常我们可以取下面的这样值作为梯度下降算法中间的学习率
吴恩达机器学习笔记-多变量线性回归(三)_第13张图片

特征与多项式回归

吴恩达机器学习笔记-多变量线性回归(三)_第14张图片
一般情况下,我们能够获取一些特征,如上,给定的特征是房子的宽度和房子的深度,这样的情况下,构建的一个影响房子价格的方程可能是上面的那个;但是我们深入想一下,就能够将这个房子的宽度和深度相乘,即得到这个房子的面积,这样直接构建一个线性方程如上,可能效果更好(并不一定需要使用给定的特征,有时候我们也是能够构建一些新的特征的 )
吴恩达机器学习笔记-多变量线性回归(三)_第15张图片
在上面的事例中,已经知道了一个离散点的分布,如果直接开始进行分析的时候,我们可能得到的是一个2次方程,但是这样的一条曲线后面会下降,这样的情况下,可以选择使用3次方程,这样该方程在后面会呈现一个上升的过程
这里选择使用房屋的面积做第一个参数,房屋面积的平方作为第二个参数,房屋面积的立方作为第三个参数;如果房屋面积为0-1000,此时会发现使用特征缩放的方法就非常的重要了
同样,除了上面这样的模型以外,也可以使用类似下面这样的模型
吴恩达机器学习笔记-多变量线性回归(三)_第16张图片
使用一个平方根,而并不是使用平方,这样这条曲线就不会掉下来了,同时能够保持曲线的一个稳定上升

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

前面讲到了梯度下降方法,能够通过不断的迭代最后获取到一个比较好的最优解值;这里讲到的将是一个新的方法,不需要进行迭代,而是直接求解最优解(正规方程)
通常情况下,我们对于一个实数方程,求解其最小值的时候,我们可以用它的导数进行求解
吴恩达机器学习笔记-多变量线性回归(三)_第17张图片
对于上面的方程J,想要获取中间theta的最优解,我们可以求其导数,并将其导致置为0(在最低点的导数为0),这样就能够得到其对应的theta值了
将上面的这个思想放到代价函数中间,我们的目的是获取代价函数J的最小值
吴恩达机器学习笔记-多变量线性回归(三)_第18张图片
如上,分别对中间的theta0到thetan的偏导,并且将其结果等于0,通过这样的方式获取到每一个theta值
吴恩达机器学习笔记-多变量线性回归(三)_第19张图片
上面给出了theta值的求解公式,推导方式如下:
吴恩达机器学习笔记-多变量线性回归(三)_第20张图片
在使用特征缩放的时候,对于一个特征值的范围不需要过多的关注(并不需要进行特征缩放);但是在使用梯度下降法的时候,特征缩放还是很有必要的一个事儿
下面来比较下梯度下降法和正规方程
吴恩达机器学习笔记-多变量线性回归(三)_第21张图片
在后面的学习中,可能更多的还是梯度下降法

你可能感兴趣的:(吴恩达,机器学习笔记,吴恩达机器学习笔记)