美文网首页机器学习
[机器学习入门]李宏毅机器学习笔记-2(Regression:C

[机器学习入门]李宏毅机器学习笔记-2(Regression:C

作者: holeung | 来源:发表于2017-07-29 16:18 被阅读55次
    PDF VIDEO

    [机器学习入门]李宏毅机器学习笔记-2(Regression:Case Study;回归:案例研究)

    PDF VIDEO

    Regression-pokemons

    正如我们在笔记一中提到的,Regression可以做很多事情。比如Stock Market Forecast、Self-driving Car、Recommendation等等,但是李老师用有趣的案例——预测宝可梦(pokemons)进化后过的CP值(战斗力),来讲解什么是Regression。


    这里写图片描述

    通过上图可以看出,似乎有一个函数能够拟合这些坐标点,而这就是我们想要的,为了选出最契合的f,我们要建立一个Loss function L,也就是函数的函数。

    Loss function L
    input a function
    output how bad it is


    如果我们将f的w和b作为两轴,则在下图中每一点都代表一个function f,而颜色代表output的大小,也就代表该function f参数的好坏。易理解,smallest点做对应的函数f就是我们想要的。


    这里写图片描述

    Step 3Best Function

    我们刚刚提到最拟合的f,他可能是y = 0.6x +0.8,这个就叫做best function,那么我们该用什么方法在Loss Function下找到它呢?这个L(w,b)smallest该如何计算呢?
    首先容易想到的,在本案例中,我们可以用线性代数的基本公式来直接计算出最佳w和b。


    这里写图片描述

    除了这种方法,当特征值非常多时,我们就要用到梯度下降法来进行计算。


    这里写图片描述
    当我们在L(w)的二维平面中时,我们必须要找到函数的最低点。
    首先随机选取一个点w0,计算微分也就是斜率,如果为正,则增加w,如果为负,则减少w。
    而这有另一个问题,每次要增加或减少多少w值呢,有两个因素影响。第一,即微分值,如果微分值很大或很小,表示此处非常陡峭,那么证明距离最低点还有很远的距离,所以移动的距离就很大。第二个因素是我们事先自主定义的常数项η值,即步长。
    这里写图片描述

    按照这个模式,不断重复,经过非常多的参数更新后,能达到一个最低点。
    当我们有多个feature时,即不仅有w还有b,同样不会影响梯度下降过程,展示出来就是这样的:


    这里写图片描述
    说到这里大家可能会担心,会不会产生下图左半部分的哪种情况,即不同的起始位置,找到的最低点是不一样的,那么这里的解释是,在我们案例的Linear regression中,不会出现这种可能性,而全都是右图哪种形式,即只有一个大坑,放心往里走就好。
    这里写图片描述
    通过这种方式,我们就能得到想要的function f,来解决我们的需求。

    How’s the results?

    通过上面的计算,我们成功得到了一个如图函数f,接下来就会发现,并不是所有的点都能拟合函数,这就会造成很大的预测不准的情况,通过Loss Function也能看出,最优解的值依然很大,测试数据的表现也不好,所以我们就要想办法优化。


    这里写图片描述

    很容易想到,刚刚我们用了一次方程作为model,二次方程会不会更好一些呢,三次方程、四次方程呢?
    于是我们做了以下实验,用同样的方法,放到多次方程中,


    这里写图片描述
    这里写图片描述

    overfitting

    通过上面四幅图可以看出,虽然当我们增加函数次数时,可以使training data的Average Error越来越小,但是Test data的表现缺不尽如人意,甚至在五次方程时,大大超出了我们的预估。那么这种现象就叫做’overfitting。


    这里写图片描述

    所以,方程不是次数越复杂越好,所以我们要选择一个最合适的,由上图可以看出,在三次方程中表现最好。


    Les's collect more data.

    相关文章

      网友评论

        本文标题:[机器学习入门]李宏毅机器学习笔记-2(Regression:C

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