模型评估
上文叙述了当机器学习模型已经训练完成之后,我们该如何评估模型的好坏。
但是一般而言,机器学习模型的训练时间较长,在训练过程中,我们怎么样判断模型训练的状态和优劣呢?
之前说过,训练过程中的最容易出现的问题就是过拟合和欠拟合,下面介绍判断拟合状态的方法。
之前介绍过方差、偏差的概念以及他们的意义,在训练过程中,我们会得到训练集和测试集的总误差,通过这两个参数,我们可以判断出算法的拟合状态。
- 当出现欠拟合时,偏差高,方差低
- 当出现过拟合时,方差高,偏差低
拟合状态与样本规模
首先,无论是过拟合还是欠拟合,由于一个特定的函数对于更多的数据更难以拟合,但是对预测是有利的,所以训练集误差会增加,测试集误差会减少。
若出现欠拟合情形,增大数据量,训练集和测试集误差会趋于平缓,并且两者很接近,但是喂更多的数据基本无效。
若出现过拟合情形,增大数据量,训练集误差会持续增加,测试集误差会持续减少,并且两者相差较大。
拟合状态与正则化项
在线性回归、支持向量机等算法中,都会加入正则化项来防止过拟合,因为正则化项可以使得参数尽可能小。
例如该式中的 λ λ 即为正则化项的参数,其值越大,越可以避免过拟合,但是可能会陷入欠拟合泥淖之中。
随着 λ λ 的增大,训练集误差会持续升高(因为拟合程度逐渐减小),而测试集误差会先下降后上升,期间有最低点。
如图,
λ
λ
较小时,会发生过拟合,所以测试集误差会很大,
λ
λ
较大时,会发生欠拟合,所以测试集误差也会很大。
拟合状态和模型复杂性
显然,选择的特性越多,模型越复杂。例如一个普通的线性回归,我们就可以选择:
模型越复杂,学习能力越强,故训练集误差越小。但是对于测试集误差,当它减少到一定程度时,模型可能因为过于复杂而出现过拟合现象,误差反而增大。
模型优化
如果我们已经发现当前算法效果并不好,会试图对算法进行一些优化,例如:加更多的特征,增加数据集,增大正则化项等,下表列举了常见的措施和应对情况。
措施 | 应对情形 |
---|---|
搜集更多的数据 | 过拟合,高方差 |
使用更少的特征 | 过拟合,高方差 |
增加额外的特征 | 欠拟合,高偏差 |
增加多项式特征 | 欠拟合,高偏差 |
减小λ的值 | 欠拟合,高偏差 |
增加λ的值 | 过拟合,高方差 |
查看更多
所有的文章都会在我的博客和我的知乎专栏同步进行更新,欢迎阅读