机器学习笔记 --6.机器学习任务攻略

视频链接

6.机器学习任务攻略

image-20210410150845463

训练资料就是要拿来训练我们的model

训练过程(三个步骤):

  1. 先写出一个有未知数的function,这个未知数以后我们都用 θ 来代表一个model里面所有的未知函数

  2. 定义一个loss,loss是一个function,这个loss的输入是一组参数,去判断这一组参数好还是不好

  3. 解一个optimization的problem,你要去找一个 θ – 可以使loss的最小,最小的定义为θ*

把θ* 用在测试资料上,也就是把 θ*带入fθ(x) 中未知的参数

作业通关攻略

image-20210410151833263

如果训练结果不满意,首先检查训练资料的loss

  1. training loss大:有两种可能 a.model bias b. optimization

    ​ a. 可能是model 太简单,此时要重新设计model,给他更大的弹性

    ​ b. optimization gradient descent 不给力

    怎么区分a b:可以通过比较不同的模型,在测试资料上56层的表现并没有20层的表现好,通过检查训练资料发现20层的network loss比较低,这就意味着56的network 的optimization没有做好。【原因:20层都可以做的很好了,56层的弹性一定比20层更大,56层可以轻松做到20层的network可以做到的事情(前20层参数一样,剩下36层什么都不做就可以了),所以如果56层的networkoptimization成功的话,它应该比20层的network可以得到更低的loss】

    image-20210410153214669

    paper链接

如何判断自己的optimization没有做好?

看到一个你从来没有做过的问题,可以跑一些比较小的、比较浅的network;或者甚至是用一些不是deep learning的方法,比如说linear model、supprot vector machine。

  1. training loss 小

    检查测试资料的loss:

    ​ testing loss 小:结束

    ​ testing loss大 :可能是 over fitting 或是mismatch

over fitting的原因:

​ 举例:根据训练资料,某一个很费的machine learning的方法找出了一个一无是处的function:如果x有出现在训练资料里面就把他对应的 y 当做输出,如果x没有出现在训练资料里面那就随机输出一个值,但这个function在训练资料上的loss是零,但在testing上他的loss会变得很大

image-20210410155029962

解决overfitting的方向:

​ a. 增加训练资料 (比如 data augmentation)

​ b. 给模型一些限制

​ * 减少参数、神经元数

​ * 用较少的features

​ * Early stopping

​ * Regularization

​ * Dropout

注:当model越来越复杂的时候,超过某一程度时testing loss就会突然暴增,overfitting的状况就会出现。

image-20210410161505696

李宏毅2021春机器学习笔记 --7.类神经网络训练不起来怎么办(一)局部最小值与鞍点

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

与 或

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

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

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

打赏作者

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

抵扣说明:

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

余额充值