文章目录
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
对于不同的用途,用到的输入与得到的输出都是不同的。
其中,Training data用来训练model的参数,以loss最小为目标不断进行优化,最后上传到Kaggle,具体步骤如下,
通过以上步骤,我们就完成了一次课程任务,但是仅仅懂得这些知识,并不足以达到老师要求的hard baseline,因此我们需要进一步对以上步骤进行改进。
2. General Guidance
具体的改进问题判断与解决方法步骤如下(适用于大多数网络设计):
当作业在kaggle上得分低时,首先检测网络在training data上的loss,要确保model在training data能学起来。
当发现training data的loss很大时,可能是model bias、optimization;如果在training data上loss很小时,这时在testing data上loss很大可能是overfitting或mismatch,如果testing data上loss也很小,呢么大概率可以芜湖起飞!
2.1 model bias
这里的model bias,指的就是你的model设计太过simple,这里的simple我们可以理解为太简单,无法适应实际情况,弹性不够。
Solution
这时,能让loss变小的function,并不在你的model所构建出的假设空间中,所以不论怎么训练参数都无法达到好的效果。
所以我们应该重新设计model,让它变得更复杂更有弹性,比如,增加更多的参数、使用更deep的frame等等
2.2 Optimization Issue
当training data上的loss过大时,不一定是model bias,也有可能是Optimization做的不好。很多时候很容易卡在局部最优解,gradient descent这个方法学习不到function set中比较好的呢一组参数。
判断Optimization问题还是model bias方法:
如果层数与参数增加了,效果反而不如简单的model时,大概率就是出现了Optimization问题。 反之,可能是model设计问题。
所以,我们可以先跑一些比较浅的网络,甚至一些不是deep learning的传统方法,之后与深度学习进行对比,发现问题所在。
Solution
参考这一篇博客 李宏毅2021春季机器学习课程笔记3:Optimization & Tips for Training & Classification
2.3 overfitting
当训练集的loss大于测试集的loss时,可能是遇到了overfitting(一定要跟训练集对比)
造成Overfitting的原因是,model过于灵活,自由学习(freestyle哈哈哈)产生了训练集上的结果好,但完全不符合实际结果的model
Solution
- 增加训练数据
收集更多的资料,这样就算model较为复杂也可以相对增加model的正确性。
同时,我们还可以做Data augmentation,比如把图像左右翻转,放大缩小等等来创造新的资料。
- 减小模型flexible
给模型一些限制,减少模型参数、让model公用参数、更少的训练Feature、早停法、Regularization(正则化)、Dropout
但是,我们也不能过于限制模型,过于限制又会导致模型出现model bias问题
我们可以发现随着model 的复杂性不断提升,testing loss会先下降后增加。这代表到了某个程度,overfitting的状况就会出现,所以我们需要选择一个最适合的model。
但是,我们不能用testing的结果反过来推断我们的模型,这是不讲武德的,训练集和测试集是互相独立的。
所以,我们使用一个Validation set作为验证集,来调整我们的模型
N-fold Cross Validation的做法
我们将Training set分成N等分,其中一份作为Val,其他的用作训练,重复N次后,取平均值作为结果.
2.4 mismatch
这也算是一种overfitting,但是它的原因和overfitting不一样,它无法通过收集更多的资料来解决。
这是因为它的训练资料和测试资料是不一样的,这样就算训练资料再增加也没有帮助了。
Solution
参考HW11
3. Conclude
通过这节课,我对于机器学习减小loss所需要做的工作有了初步的认识,这样以后发现loss较大不至于无从下手。
通过这个树状图的思路,一步一步解决问题。