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

单变量线性回归

模型描述

首先最开始,引入的就是单变量的线性回归,对于一组训练数据,我们希望通过一条直线能够将这些数据进行一个拟合
吴恩达机器学习笔记-单变量线性回归(一)_第1张图片
如上,我们希望通过这条直线进行拟合
吴恩达机器学习笔记-单变量线性回归(一)_第2张图片
我们给定一组训练集,进行一些数据的准备之后,形成一个假设函数h,之后通过这个函数就能够去预测一些新给定的值,对于这个函数就是上图右边的这个方程(表示的即为一条直线)

代价函数

上面我们仅仅是给定了一个直线方程的模型,如果想要得到一个确定的方程,我们需要知道中间theta0和theta1的值
吴恩达机器学习笔记-单变量线性回归(一)_第3张图片
上图左边是一组模型,我们在上面画了一个直线,如果想要尽量的使这条直线拟合这些离散点,其实本意就是使这条直线上面的值尽可能靠近真实的值,即为上图右边的这个方程尽可能的小,这样我们就将求直线theta0和theta1值的问题转为了求解最小值的问题了
此时上图右边的式子我们就称为原函数h的代价函数
在这里插入图片描述
吴恩达机器学习笔记-单变量线性回归(一)_第4张图片
如上,我们使用J来进行表示
对于求解最小值的问题,我们后面会引入导数(具体为偏导数)来帮助进行求解
简单来看,我们现将theta0置为0,这样这条直线就是一条穿过原地的直线,然后设定不同的theta1的值,可以得到下面的图形
吴恩达机器学习笔记-单变量线性回归(一)_第5张图片
在图中,当我们的theta1为1的之后,J(theta1)为代价函数最低点,对应的左图中间的直线也是最为拟合的状态;这里也就验证了求解一个H函数的最优解的问题就是求解代价函数的最小值的问题
前面讲到的内容我们是将theta0置为0,这样的情况直线会经过原点,后面我们将theta0也带入进行计算,此时我们会发现代价函数对应的图形不再是二维的了,而是一个三维的
吴恩达机器学习笔记-单变量线性回归(一)_第6张图片
如上图,此时需要求解的是这个曲面图形中间的最小值

梯度下降

当我们想要进行求解之前,我们首先要弄清楚一些概念
吴恩达机器学习笔记-单变量线性回归(一)_第7张图片
首先,我们会有一个初始的theta0和theta1,这样就能够在上面的这个图形中找到这样的一个起始点,将这个图形当作一座山,要下山的话,首先需要找到一个最快下山的方向,其次需要确定每次下山所走的步长,这样一步一步最后到达山底(不同的起始点,可能到不同的局部最小值)
将上面的思想转换为公式,如下:
吴恩达机器学习笔记-单变量线性回归(一)_第8张图片
这里存在两个参数theta0和theta1,所以需要分别对这两个参数进行求偏导,偏导前面的表示为学习率(即每次走的步长),前面的负号表示的是下降,这里需要注意的是,每次下降theta0和theta1都是同步进行下降的,不能先下降一个再下降另外一个
在我们选择学习率的时候,注意不能过大也不能过小,过大会造成结果不收敛甚至发散,过小会造成计算的过程非常长
进行梯度下降的过程中,因为每到一个新的点就会分别再次对theta0和theta1求新的偏导,越靠近最小值的点其一阶导越靠近0,这样偏导就会越来越小,这样即使设定的学习率不发生变化,后面每次的步长也会慢慢降低

线性回归算法

前面已经得到了梯度下降函数,如果将其写入到代码中间的话,需要将中间偏导的内容计算出来
吴恩达机器学习笔记-单变量线性回归(一)_第9张图片
如上,就是线性回归算法,分别对theta0和theta1计算偏导;注意点是theta0和theta1是同步操作的
前面讲过,在给定不同的theta0和theta1的时候,可能计算出来的局部最优解并不是唯一的,如下图:
吴恩达机器学习笔记-单变量线性回归(一)_第10张图片
可能是左边这个局部最小值,也可能是右边的这个局部最小值

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