吴恩达机器学习第一讲:以房价为例进行建模

Housing price prediction

吴恩达机器学习第一讲:以房价为例进行建模

 

已知条件:给出了一组离散的(Size,Price)点

目标:通过这些已知的点去预测在未知Size时的Price

问题分析与归纳:由于预测的Price变化量较大,可以建立连续函数去最大化的拟合已知的离散点,所以这是一个监督学习下的回归问题。

 

 

输入x :size

输出y:Price

M: 样本点总数

吴恩达机器学习第一讲:以房价为例进行建模

模型表示:

根据离散点的分布情况我们建立线性函数h去拟合这些离散点

吴恩达机器学习第一讲:以房价为例进行建模

所以问题变成了怎么找到拟合情况下线性函数h,我们可以通过下面的图来形象的表示我们的问题

吴恩达机器学习第一讲:以房价为例进行建模

进一步的我们对我们假设的h线性函数进行分析

吴恩达机器学习第一讲:以房价为例进行建模

所以问题变成了怎么去选择吴恩达机器学习第一讲:以房价为例进行建模

为了加深对这两个参数的理解,我们选取一些特殊点刻苦不同的参数线假设函数的曲线情况

吴恩达机器学习第一讲:以房价为例进行建模

通过观察我们发现吴恩达机器学习第一讲:以房价为例进行建模决定了函数与纵轴的交点位置,吴恩达机器学习第一讲:以房价为例进行建模 决定了函数斜率走向

吴恩达机器学习第一讲:以房价为例进行建模

 

 

 

要找出合适的 则需要对其附加额外的约束条件,我们发现我们的目标是 与 尽可能地接近,于是我们建立平方差函数来表示这种接近程度。

吴恩达机器学习第一讲:以房价为例进行建模

 也就是我们常说的代价函数

所以问题就进一步演化为:
吴恩达机器学习第一讲:以房价为例进行建模

还是和之前一样的思路,拿到一个函数,我们可以取一些特殊点来加深我们对这个代价函数的理解。

这里我们假设吴恩达机器学习第一讲:以房价为例进行建模 时,观察代价函数 吴恩达机器学习第一讲:以房价为例进行建模变化情况

吴恩达机器学习第一讲:以房价为例进行建模

  吴恩达机器学习第一讲:以房价为例进行建模

吴恩达机器学习第一讲:以房价为例进行建模

如图所示,当代价函数只有一个参数时,是一个凸函数,当同时包含两个参数时代价函数如图所示: 

吴恩达机器学习第一讲:以房价为例进行建模

为了更好的描述 与 之间的关系,我们采用等高线来描述这一变化情况

吴恩达机器学习第一讲:以房价为例进行建模

如图所示,假设起点设为1(800,-0.1) 终点如图2(100,0.15)

我们要做的就是让起点1不断地向2靠近即可,我们发现1在向2不断靠近的时候吴恩达机器学习第一讲:以房价为例进行建模 在不断的减小, 吴恩达机器学习第一讲:以房价为例进行建模不断地增大。

吴恩达机器学习第一讲:以房价为例进行建模

即:1怎么向2靠近,应该迈多大的步伐。这里就要涉及到著名的梯度下降算法

吴恩达机器学习第一讲:以房价为例进行建模

为了体现算法的普适性,这里选用较为复杂的代价函数,如图所示

  吴恩达机器学习第一讲:以房价为例进行建模

吴恩达机器学习第一讲:以房价为例进行建模

如图所示,当我们的起点不同,最后到达的终点不同,即不同的起点梯度下降算法会找到最优的局部最优解。

吴恩达机器学习第一讲:以房价为例进行建模

  吴恩达机器学习第一讲:以房价为例进行建模还是一样根据之前的 吴恩达机器学习第一讲:以房价为例进行建模与 吴恩达机器学习第一讲:以房价为例进行建模之间的关系,我们设置不同的起点,观察梯度下降算法的变化情况。

吴恩达机器学习第一讲:以房价为例进行建模

如图所示,当起点在右边时,吴恩达机器学习第一讲:以房价为例进行建模 >0,但不断向凸点靠近时,偏导数(即如图斜率)不断减小,从而吴恩达机器学习第一讲:以房价为例进行建模 不断的减小得到更新。反之,同理。

 

这里 a是学习率

吴恩达机器学习第一讲:以房价为例进行建模

 

主要是控制朝着正确方向走的步伐。a越大,步伐越大,反之,越小。太大容易越过凸点,太小走的太慢。

吴恩达机器学习第一讲:以房价为例进行建模