ML学习笔记:Regression

Regression:目标是为了输出一个标量
例如:


ML学习笔记:Regression_第1张图片

Example Applicatiom

估计一个宝可梦进化后的CP值。可以使用多个输入的参数:Xcp,种类Xs,HP,Xw,Xh


ML学习笔记:Regression_第2张图片
  • Step 1:选择一种模型
    这里选择线性的模型:y = b + WX;其中b为偏置值,W为权重。但是随着w和b的取值不同,模型函数的表现不一样。


    ML学习笔记:Regression_第3张图片
    image.png
  • Step2 使用损失函数判断选择的模型的好坏
    我们的目的是根据输入值(例如CP值)来预测进化后的CP输出值。


    ML学习笔记:Regression_第4张图片

    我们拿到一系列的训练数据是真实的数据,根据训练数据去拟合一条直线,获取最合适的w和b值。


    ML学习笔记:Regression_第5张图片

    我们如何判断此最合适的w和b的值呢?是通过一个loss函数来判断,的loss函数的值越小,证明预测值与真实值的差距越小。
    ML学习笔记:Regression_第6张图片

    下图描述w和b的分布与loss函数大小之间的关系,颜色越浅,loss越小。
  • Step3 选择最佳的函数:梯度下降
    如何一步一步调整w和b的大小从而得到最好的函数呢?需要用到求导的方式,往导数减少的方向去调整参数。


    ML学习笔记:Regression_第7张图片

    往导数减少的方向去调整参数,即往梯度下降的地方去调整,直到梯度为零时,即找到局部最优点。


    ML学习笔记:Regression_第8张图片

    每次往梯度下降的方向移动的步伐大小,即学习率。
    ML学习笔记:Regression_第9张图片

    ML学习笔记:Regression_第10张图片

    每次计算当前梯度的大小并更下w和b的值,得到下一次计算的w和b的值。


    ML学习笔记:Regression_第11张图片

    顺着梯度下降的地方,一步一步走向loss函数的最低点。
    ML学习笔记:Regression_第12张图片

    但是并不是每移动一步,获取的loss值都比上一个此获取的loss值小的,也有可能“步子太大”而跳过了最低点。
    ML学习笔记:Regression_第13张图片

    可能会出现的几种情况:1)在一个梯度很小的地方慢慢移动;2)阻塞在一个梯度为0但不是最低点的地方;3)阻塞在一个局部最低点。
    ML学习笔记:Regression_第14张图片

    如何计算梯度?就是遵循求导法则即可。
    ML学习笔记:Regression_第15张图片
  • 结果判断
    假设我们训练得到一个使loss最小时的w和b的值。


    ML学习笔记:Regression_第16张图片

    我们判断这个模型好不好时,需要把此模型用在测试数据上,并判断测试数据在此模型中的平均loss值。


    ML学习笔记:Regression_第17张图片

    如果我们选择另外一种模型对数据进行训练,例如二次函数模型,将会得到loss更小的结果。
    ML学习笔记:Regression_第18张图片

    在进一步,选用三次函数进行训练数据,得到的结果更加好。
    ML学习笔记:Regression_第19张图片

    但是,如果使用了四次甚至五次函数进行训练时,得到的loss反而比三次函数模型大,为什么?因为发生了过拟合现象了。


    ML学习笔记:Regression_第20张图片

    ML学习笔记:Regression_第21张图片

    在模型的选择上,其实高阶模型对低阶模型是一种包含的关系。
    ML学习笔记:Regression_第22张图片

    我们可以看到上述问题中,模型次数与loss的关系。
    ML学习笔记:Regression_第23张图片

更复杂的参数选择

如果现在数据量变大了,分布变得更加不线性了,需要怎么办呢?


ML学习笔记:Regression_第24张图片

这时候一个参数Xcp已经不能很好地训练出一个好的模型了,还需要加入一个种类的参数。


ML学习笔记:Regression_第25张图片
  • 两种输入参数的情况
    除了Xcp之外,还需要考虑参数Xs,随着Xs的不同,所选取的b和w也不一样,针对每一种宝可梦去建立不同的参数b和w。


    ML学习笔记:Regression_第26张图片

    ML学习笔记:Regression_第27张图片

    可以用此方法训练出三条拟合线,针对不同种类的宝可梦。


    ML学习笔记:Regression_第28张图片
  • 更多输入参数的情况


    ML学习笔记:Regression_第29张图片

    ML学习笔记:Regression_第30张图片

    可以对求loss函数的时候加入正则化的操作,使拟合的曲线更加平滑。


    ML学习笔记:Regression_第31张图片

    但是,λ的值越大,得到的曲线虽然越平滑,也会使结果loss越大。
    ML学习笔记:Regression_第32张图片

总结

ML学习笔记:Regression_第33张图片

胶片来自于台湾大学李宏毅教授的《机器学习课程》,侵删!

你可能感兴趣的:(ML学习笔记:Regression)