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

    科技2022-07-13  134

    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越大,步伐越大,反之,越小。太大容易越过凸点,太小走的太慢。

     

     

     

     

     

     

     

     

     

     

    Processed: 0.011, SQL: 8