关于机器学习应用的一些建议

机器学习算法评估

模型评估

在整个机器学习任务的流程中,我们需要在数据集上训练机器学习模型,找到一个比较“好”的假设。但是,有些假设在已知数据集上表现很好,在新数据上的性能却很差,错误率比较高,这也就是我们常说的“过拟合”。那么,我们如何解决这种类型的问题呢?

一般来说,评价机器学习模型的性能,主要看模型在未知数据上的表现。因此,当我们拿到一个数据集以后,不能马上进行模型的训练,而是需要把数据集分割成两部分,其中一部分用于训练,而另一部分则用来评估模型的好坏。其中用于训练的数据称为训练集,用来评估的数据称为测试集。这样,我们就尽可能准确地评价模型的性能。一般而言,训练集占整个数据集的70%,测试集占30%。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

模型选择

假设我们有一堆不同阶数的多项式线性回归模型,如何找到在数据集上表现最好的模型呢?我们的方法是在训练集上训练这么一堆不同阶数的多项式模型,然后在未知数据上评价它们的性能,最后选择一个“最好”的模型。这时,我们需要把数据分成训练集,验证集,测试集三个部分。我们在训练集上学习模型参数,在验证集上调整超参数,最后在测试集上评估模型的泛化性能。一般地,训练集、验证集和测试集的比例为60%/20%/20%;当数据量非常大时,可以按照80%/10%/10%的比例划分数据集。通过这种方法,我们就可以选择出合适的模型。

方差与偏差

下面的图片描述了方差和偏差的关系。


[深度之眼机器学习训练营第四期]关于机器学习应用的一些建议 人工智能 第1张假设红色的靶心区域是样本的真实值,蓝点为模型对样本的预测值。当蓝点从靶心逐渐向外移动时,预测效果逐渐变差。很容易看出有两副图中蓝点比较集中,另外两幅中比较分散,它们描述的是方差的两种情况。蓝点较集中意味着方差较小,较分散则意味着方差较大。再从蓝点与红色靶心区域的位置关系,靠近红色靶心的属于偏差较小的情况, 远离靶心的属于偏差较大的情况。


显然,模型的偏差较高,说明此时模型并没有从数据学习到什么东西,模型在训练集和数据集上的表现都很差,模型处于欠拟合状态。当模型的方差较高时,说明模型可以较好地拟合训练数据集,而在验证集和测试集上的性能较差,此时模型处于过拟合状态。我们的目的就是找到一个模型,它在训练集和验证集上的误差都比较低。
[深度之眼机器学习训练营第四期]关于机器学习应用的一些建议 人工智能 第2张
前面我们提到,正则化技术可以用来解决模型的过拟合问题,其中惩罚系数$\lambda
$表示对模型参数的惩罚程度。那么,我们如何选择一个合适的惩罚系数呢?通常,我们有以下选择步骤:

  1. 创建一个惩罚系数备选集合,比如\(\lambda\in\{0,0.01,0.02,0.04,0.08,0.16,0.32,0.64,1.28,2.56,5.12,10.24\}\)
  2. 创建一系列不同的机器学习模型
  3. 为这些模型添加正则化项,然后在设置不同惩罚系数的情况下学习不同的模型
  4. 在不使用正则化的情况下,在验证集上评估不同模型的性能
  5. 选择在验证集上误差最小的模型\(\Theta^*\)和惩罚系数\(\lambda^*\)的组合
  6. 使用选择的模型\(\Theta^*\)和惩罚系数\(\lambda^*\)在测试集上进行测试并观察其泛化性能

    学习曲线

    当模型的偏差较大时,随着训练数据的增加,训练误差与测试误差会趋近。
    [深度之眼机器学习训练营第四期]关于机器学习应用的一些建议 人工智能 第3张
    而当模型的方差较大时,随着训练数据的增加,训练误差与测试误差之间会有较大的。
    [深度之眼机器学习训练营第四期]关于机器学习应用的一些建议 人工智能 第4张
    为了解决方差和偏差较大的问题,课程最后给了几条建议:

  • Getting more training examples: Fixes high variance
  • Trying smaller sets of features: Fixes high variance
  • Adding features: Fixes high bias
  • Adding polynomial features: Fixes high bias
  • Decreasing λ: Fixes high bias
  • Increasing λ: Fixes high variance.
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄