李宏毅学习笔记2.Regression: Case Study

前言

为了引人课程,李老师先从最简单的回归入手,以一个二次元宝可梦的CP预测为例,讲解了机器学习的三部曲,这个三部曲的思想将贯穿整个课程的过程,各位要好好领悟。

公式输入请参考:在线Latex公式

常见的回归预测

1.股票预测
在这里插入图片描述
2.自动驾驶
在这里插入图片描述
3.推荐系统
在这里插入图片描述
这里注意两点:
1.输入和输出是什么
2.什么是回归regression、什么是分类(答案在这里

宝可梦实例

问题描述

Estimating the Combat Power (CP) of a pokemon after evolution.
预测宝可梦进化后的CP值
在这里插入图片描述

第一步 选模型

这里选用的是线性模型(因为这个玩意简单),找一个最好的线性关系(线性关系有无穷多个,我们只选一个,使用training data去选)去做预测。
在这里插入图片描述
这里要注意机器学习中的标识(字母、上下标)。

第二步 判断模型的好坏

由于上一步中提到线性(函数的参数不一样)关系有无穷多个,因此我们要确立一个判断标准,看某个线性关系的好坏。
线性模型中的函数:
在这里插入图片描述
函数的输入输出:
在这里插入图片描述
在这里插入图片描述
以上是一些真实的训练数据。假设我们有十只宝可梦的数据,图中展示的就是十只宝可梦进化后的CP值,横坐标为进化前的CP值
在这里插入图片描述

损失函数L

Loss function 𝐿的定义:Input: a function, output: how bad it is
输入就是函数,输出就是这个函数多不好,也就是衡量W,b的好坏。loss function可以自己定义,这里用的是类似预测值和真实值的距离来表示(后面还会有了很多其他衡量方法,例如:交叉熵、KL散度之类的)。
在这里插入图片描述
可视化一下
在这里插入图片描述
说明:Each point in the figure is a function.The color represents L(𝑤, 𝑏).

第三步 最优结果Best Function

在这里插入图片描述
目标:在这里插入图片描述
用梯度下降来求:
在这里插入图片描述
在这个过程,你可能找到的只是一个local optimal就是局部最小值,而不是全局最小值。但是在线性回归中,不会存在局部最小值,因为线性回归函数是凸函数。
在这里插入图片描述
在这里插入图片描述
…… Many iteration
对于两个参数:
在这里插入图片描述
在这里插入图片描述
可视化:
在这里插入图片描述

梯度下降容易碰到的问题

在这里插入图片描述

梯度下降的推倒

推倒这块其实李航老师的书比较细,其实就是求偏导数。要用到链式法则
在这里插入图片描述
关于梯度下降为什么一定会得到最优解(为什么会收敛),请看这里

结果分析

在这里插入图片描述
以上是训练数据上的拟合结果,而我们主要关心测试数据:
在这里插入图片描述
为了降低错误率,采用更加复杂的模型:
在这里插入图片描述
训练、测试数据的拟合结果
在这里插入图片描述
貌似越复杂的模型越好,再复杂一点(三次方):
在这里插入图片描述
在这里插入图片描述
四次方结果越来越差了:
在这里插入图片描述
在这里插入图片描述
五次方出现了明显的过拟合,而且出现了负的CP值,明显不合理
在这里插入图片描述
在这里插入图片描述

模型复杂度分析

在这里插入图片描述
所以目前为止,我们试了五个不同的model。可以发现,在训练集中,随着模型的复杂度的提升,误差在减小。为什么会这样呢?因为我们模型越复杂,就可以把简单的模型考虑的东西包含在里面。可以看图中的同心圆,越复杂的模型包含的越多(面积越大)。
A more complex model does not always lead to better performance on testing data. This is Overfitting.
在这里插入图片描述

多变量的宝可梦实例

上面的例子只考虑了宝可梦的一个属性CP。其实宝可梦还有很多属性:宝可梦类型、生命值、防御值等。
现在我们试试用更多(60个)宝可梦的数据来试试。可以发现60个数据并不能用简单的关系来描述。数据比较散乱,可能是由于物种关系造成的,我们先对数据进行分类。所以之前只考虑CP值是不对的,我们这里再把物种考虑进去。
在这里插入图片描述
再跟进三个步骤走一次,这里仍然采用线性模型来进行预测(拟合)。

步骤一 Redesign the Model

x s x_s xs = species of x
在这里插入图片描述
写成数学表达式:
在这里插入图片描述
叼儿塔函数类似冲击函数,例如:
在这里插入图片描述
此时,整个函数变成:
在这里插入图片描述
训练结果(这里黄色的Weedle和绿色的caterpie重合了。):
在这里插入图片描述
在这里插入图片描述
如果二次项的模型直接过拟合:
在这里插入图片描述
因此我们要调整模型:

步骤二 加入正则项

在这里插入图片描述
关于L1、L2正则的解释看这里
老师的灵魂拷问:为什么不用对b(bias)进行正则?
答:因为b不会影响函数的输出,只会使得函数上下平移。
由于正则项中 λ \lambda λ是超参数,所以是人为可以设置的。因此,我们设置多少合适?
在这里插入图片描述
要大小合适,还好这个玩意可以靠经验,也可以考实验。

步骤三 略

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oldmao_2000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值