美文网首页
机器学习入门——cost function

机器学习入门——cost function

作者: space0o0 | 来源:发表于2018-03-01 10:47 被阅读401次

    跟随吴恩达的coursear课程学习。
    入门第一课是理解最简单的线性回归问题。

    先上问题:通过房子的大小(living area -> x)来预测房价(house price -> y)。
    同时,给予m个案例,这里的m就是样本(training set)个数。

    QQ20180228-211719@2x.png

    为了生动形象,这里的行数就是样本数(m)
    左边一列是房子大小(x)
    右边一列是对应的价格(y)

    现在我们可以得出一个假设函数(hypothesis function):
    hθ(xi) = θ0 + θ1*x,该函数就是假设的面积对应的房价。
    hθ(xi) 代表了房价,x就是房子面积。

    现在需要求出θ0和θ1的值来求出房价,而hθ(xi) 的值需要接近样本的房价,我们可以用 hθ(xi) 和 样本中的房价做比较,用最小二乘法来计算。
    可以得出(cost function):


    20170224091950219.png

    现在我们考虑单变量的情况,即θ0=0,这样可以更简单的理解J(θ0,θ1)函数。
    hθ(xi) = θ1*x

    下图就可以更加直观的理解cost function的推导。

    R2YF5Lj3EeajLxLfjQiSjg_110c901f58043f995a35b31431935290_Screen-Shot-2016-12-02-at-5.23.31-PM.png

    坐标系中的蓝线就是假设函数,现在计算假设的房价和样本的房价的差距,就是(hθ(xi)-yi)^2,现在我们有m个样本,即需要求和,再除以m是取平均,除以2暂时还没理解,在以后发现用处后再来补充。

    现在,我们画出hθ(x)和J(θ0,θ1)的图像

    _B8TJZtREea33w76dwnDIg_3e3d4433e32478f8df446d0b6da26c27_Screenshot-2016-10-26-00.57.56.png

    左图是假设函数,右图是代价函数
    在最理想的状态下,我们的假设函数刚好在样本上,那么J(θ)的值计算得出=0
    但是,我们不可能一开始就能从样本数据直接得出θ1的值,所以,正常情况下我们会有这样的函数,如下图:

    8guexptSEeanbxIMvDC87g_3d86874dfd37b8e3c53c9f6cfa94676c_Screenshot-2016-10-26-01.03.07.png

    我们把θ1猜测成0.5,那么,现在需要计算J(θ1)的值为每个样本距离函数的距离的平方/(2m)。
    J(θ1)=(0.25+1+2.25)/(2
    3)=0.583333333
    那么在右图就是对应的蓝色叉叉的位置

    现在,我们就同理,切换不同的θ1的值,计算出J(θ)的值
    如图:


    J(θ).png

    咦,可以看出是类似一个2次函数的图像,从图像上看,θ1=1时,是假设的房价最接近样本的时候,那么现在,我们可以认为假设函数得出的值是最靠谱的。

    双变量情况
    上面考虑的只是单变量情况,现在,我们来求出双变量θ0,θ1的值


    QQ20180301-110254@2x.png

    因为是两个变量,所以J(θ0,θ1)的函数不是一个平面图可以表达的,他是一个三维图

    双变量.png

    我们现在把J函数“压扁”,就得到一个θ0和θ1的图像,上图右边的
    在右图随机取一个点,看到左图hθ(x)的值。

    我们慢慢向圆心靠近


    20170224092414003.png

    函数与样本的拟合慢慢开始接近
    当θ0,θ1在圆心的时候


    20170224092444275.png
    假设函数和样本值的拟合度最高。可是现在我们是用肉眼来寻找θ0,θ1的值,而且在实际问题上,可能无法画出代价函数J(θ0,θ1),下一篇将寻找求出θ0,θ1的方法。

    相关文章

      网友评论

          本文标题:机器学习入门——cost function

          本文链接:https://www.haomeiwen.com/subject/ahzixftx.html