对于机器学习,我们真正感兴趣的是泛化
- 通过inference, 我们的模型可以很好地泛化到之前未出现的新数据
- 但是有一些细则
第一,我们要以独立且一致的方式从该分布抽取样本
我们不以任何主动方式产生偏差
第二,分布是平稳的,不随时间变化,分布在数据集内不会发生变化
第三,我们始终从同一个分布提取样本,不会突然开始从其他分布提取样本
有时会违背这样但假设,比如,一个包含一年零售信息的数据集,用户的购买行为会出现季节性变化,这会违反平稳性
这些都是在监督式机器学习中非常关键的假设
过拟合和欠拟合
- 过拟合
过拟合定义了就是一类现象,一个假设空间H,m和n都属于H,但是在训练集上m的损失低,m比n错误率小,在预测集上,n却比m错误率小,就说m过度拟合训练。
过拟合现象,在训练集上的表现几乎是完美的,损失函数低,但在预测集泛化方面却恰恰相反
原因,主要在于,模型的复杂度超出所需成都而造成的,否则过度和已训练样本本身特性贴合。机器学习的基本冲突是适当拟合我们的数据,但也要尽可能简单地拟合我们的数据
如何选择出训练集和测试集
- 一般而言我们需要对数据集,先随机化,再拆分数据,确保样本代表数据集整体特征
相对于训练集,测试集应该满足以下两个条件
规模足够大,可产生有统计意义的结果
能代表整个数据集,换言之,挑选的测试集的特征应该与训练集的特征相同 - 关于规模
训练集规模越大,模型的学习效果就越好
测试集规模越大,我们对于评估指标的信心越充足,置信区间就越狭窄
绝对不要对测试数据 进行训练。
数据集规模很小,则可能需要执行诸如交叉验证之类较为复杂的操作
网友评论