机器学习笔记3_机器学习任务攻略

本文是李宏毅机器学习的笔记,这是第三节,简单的介绍了训练机器学习任务的一些策略。

1. 一般指南

训练模型的一般指南如下图所示,从训练集和测试集的损失值大小来看,共有五种情况,分别是model bias、optimization issue、overfitting、mismathc和理想状况这五种,对于理想状况,就不介绍了,下面对其余的四种情况分别进行介绍。

model bias

也就是模型不够复杂的问题,模型不能够很好的表示。

针对这种情况,我们可以提高模型的复杂度,例如在深度学习中,可以增加神经元的数量和隐藏层的层数来提高模型的复杂度。

optimization issue

模型的表示能力达到了,但是不能找到最优的模型


要区分开overfitting和optimization issue,在training data上,如果复杂的模型的损失比简单的模型损失还要大,这说明这个复杂模型的优化存在一些问题。而在testing data上,复杂模型的损失比简单的模型损失大,不能说是overfitting,也有可能是复杂模型没有优化好导致的,所以不能说是overfitting。

overfitting

overfitting也就是过拟合,在训练数据上表现好,在测试数据表现好。

从图中我们可以看出,复杂的模型和较少的数据,回导致数据的拟合出现一些freestyle现象,解决这个问题,可以通过增加训练数据,减小数据之间的距离,减少freestyle现象。
可以采用数据增强(Data Augmentation) 的方式,来对增加训练的数据,当然,增强的数据要是正确的。不能是现实中不存在的,或者几乎看不到的。

也可以对模型进行约束的方式对模型进行约束,让模型更简单一些。

当然也不能限制太多,否则就有可能发生model bias现象。
通常随着模型复杂度的增加,损失的变化如下图所示,所以我们希望自己的模型能够选择最好的哪一点,

另外,由于不同数据集的数据分布不同,所以在public set上表现好的模型,在private set表现不一定好,所以我们不能仅通过public set的结果就说我们的模型怎样怎样,我们需要看的是模型在未知的测试集上的结果,如果你设计了很多模型,在众多模型中选了public set上表现最好的,它在private set上表现很有可能不好,因为这有种你在public set上调参的味道,使得模型更偏向于于public set,然后overfitting,在private set上表现不好。同样,这也是为什么要设置验证集的原因。

改善这种情况的方法之一就是交叉验证,流程如下图所示。

Mismatch

2. 为什么使用验证集后效果依旧不好

通常我们挑模型时,一般按照下图中的流程进行选择,有一些备选的model(例如不同epoch的model, 不同架构的model),我们希望选出中损失最小的model,这里就会发现一个奇怪的事,我们选模型是通过验证集的损失大小进行选择的。

由于这种选模型的方式,所以我们选模型,就很像是使用验证集进行模型的训练,只不过这种方式可供选择的模型会少一些,图示中的可供选择的有三个,当模型越多时,就会越倾向于使用验证机训练模型。

训练模型时,当训练数据不够好时,可能会导致理想与现实差距过大,也就是实际效果不好,发生overfitting现象,而影响训练数据的因素有两个,一个就是训练数据的大小,另一个就是可供选择的模型数量,当训练数据越大,可供选择的模型越少时,训练数据不够好的概率就会小一些,overfitting发生的概率就会小一些。这里推荐一篇博客,讲的很详细。

3. When gradient is small

一般优化效果差,可能是遇到了两种情况,分别是local minima、saddle point。

saddle point 和 local minima

我们采用泰勒展开式来表示损失函数在 θ ′ \theta^{'} θ处的函数,定义如下图所示:

我们可以通过Hessian矩阵(海森矩阵)来判断, θ ′ \theta^{'} θ是local minima还是saddle point,判别方法如下图示。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值