李宏毅2021春季机器学习课程笔记2:General Guidance

文章目录

    • 1. Framework of ML
    • 2. General Guidance
      • 2.1 model bias
        • Solution
      • 2.2 Optimization Issue
        • Solution
      • 2.3 overfitting
        • Solution
        • **N-fold Cross Validation**的做法
      • 2.4 mismatch
        • Solution
    • 3. Conclude

1. Framework of ML

基本机器学习的整体流程都是大同小异的,会有一堆Training data,包含 L a b e l Label Label,各种 F e a t u r e Feature Feature;而testing data没有 L a b e l Label Label
对于不同的用途,用到的输入与得到的输出都是不同的。
李宏毅2021春季机器学习课程笔记2:General Guidance_第1张图片
其中,Training data用来训练model的参数,以loss最小为目标不断进行优化,最后上传到Kaggle,具体步骤如下,
李宏毅2021春季机器学习课程笔记2:General Guidance_第2张图片
通过以上步骤,我们就完成了一次课程任务,但是仅仅懂得这些知识,并不足以达到老师要求的hard baseline,因此我们需要进一步对以上步骤进行改进。

2. General Guidance

具体的改进问题判断解决方法步骤如下(适用于大多数网络设计):李宏毅2021春季机器学习课程笔记2:General Guidance_第3张图片
当作业在kaggle上得分低时,首先检测网络在training data上的loss,要确保model在training data能学起来。
当发现training data的loss很大时,可能是model biasoptimization;如果在training data上loss很小时,这时在testing data上loss很大可能是overfittingmismatch,如果testing data上loss也很小,呢么大概率可以芜湖起飞

2.1 model bias

李宏毅2021春季机器学习课程笔记2:General Guidance_第4张图片

这里的model bias,指的就是你的model设计太过simple,这里的simple我们可以理解为太简单,无法适应实际情况,弹性不够。
李宏毅2021春季机器学习课程笔记2:General Guidance_第5张图片

Solution

这时,能让loss变小的function,并不在你的model所构建出的假设空间中,所以不论怎么训练参数都无法达到好的效果。
所以我们应该重新设计model,让它变得更复杂更有弹性,比如,增加更多的参数、使用更deep的frame等等
李宏毅2021春季机器学习课程笔记2:General Guidance_第6张图片

2.2 Optimization Issue

李宏毅2021春季机器学习课程笔记2:General Guidance_第7张图片
当training data上的loss过大时,不一定是model bias,也有可能是Optimization做的不好。很多时候很容易卡在局部最优解,gradient descent这个方法学习不到function set中比较好的呢一组参数。

判断Optimization问题还是model bias方法
李宏毅2021春季机器学习课程笔记2:General Guidance_第8张图片
如果层数与参数增加了,效果反而不如简单的model时,大概率就是出现了Optimization问题。 反之,可能是model设计问题。
所以,我们可以先跑一些比较浅的网络,甚至一些不是deep learning的传统方法,之后与深度学习进行对比,发现问题所在。李宏毅2021春季机器学习课程笔记2:General Guidance_第9张图片

Solution

参考这一篇博客 李宏毅2021春季机器学习课程笔记3:Optimization & Tips for Training & Classification

2.3 overfitting

训练集的loss大于测试集的loss时,可能是遇到了overfitting(一定要跟训练集对比
李宏毅2021春季机器学习课程笔记2:General Guidance_第10张图片
造成Overfitting的原因是,model过于灵活,自由学习(freestyle哈哈哈)产生了训练集上的结果好,但完全不符合实际结果的model
李宏毅2021春季机器学习课程笔记2:General Guidance_第11张图片
李宏毅2021春季机器学习课程笔记2:General Guidance_第12张图片

Solution

  1. 增加训练数据
    收集更多的资料,这样就算model较为复杂也可以相对增加model的正确性。
    同时,我们还可以做Data augmentation,比如把图像左右翻转,放大缩小等等来创造新的资料。
    李宏毅2021春季机器学习课程笔记2:General Guidance_第13张图片
  2. 减小模型flexible
    给模型一些限制,减少模型参数、让model公用参数、更少的训练Feature、早停法、Regularization(正则化)、Dropout
    李宏毅2021春季机器学习课程笔记2:General Guidance_第14张图片
    但是,我们也不能过于限制模型,过于限制又会导致模型出现model bias问题
    李宏毅2021春季机器学习课程笔记2:General Guidance_第15张图片
    我们可以发现随着model 的复杂性不断提升,testing loss会先下降后增加。这代表到了某个程度,overfitting的状况就会出现,所以我们需要选择一个最适合的model。
    李宏毅2021春季机器学习课程笔记2:General Guidance_第16张图片
    但是,我们不能用testing的结果反过来推断我们的模型,这是不讲武德的,训练集和测试集是互相独立的。
    所以,我们使用一个Validation set作为验证集,来调整我们的模型
    李宏毅2021春季机器学习课程笔记2:General Guidance_第17张图片

N-fold Cross Validation的做法

我们将Training set分成N等分,其中一份作为Val,其他的用作训练,重复N次后,取平均值作为结果.
李宏毅2021春季机器学习课程笔记2:General Guidance_第18张图片

2.4 mismatch

这也算是一种overfitting,但是它的原因和overfitting不一样,它无法通过收集更多的资料来解决。
这是因为它的训练资料和测试资料是不一样的,这样就算训练资料再增加也没有帮助了。
李宏毅2021春季机器学习课程笔记2:General Guidance_第19张图片

Solution

参考HW11

3. Conclude

通过这节课,我对于机器学习减小loss所需要做的工作有了初步的认识,这样以后发现loss较大不至于无从下手。
通过这个树状图的思路,一步一步解决问题。
李宏毅2021春季机器学习课程笔记2:General Guidance_第20张图片

你可能感兴趣的:(机器学习,机器学习,人工智能,深度学习)