机器学习中的训练与测试:数据划分与评估方法
在机器学习领域,评估一个训练好的分类器的性能并非易事,目前并没有一种算法或公式能直接告诉我们分类器的优劣。我们只能通过实际测试来了解系统的性能,就像自然科学家通过实验来观察现实世界的情况一样。
1. 测试数据
1.1 测试数据的作用
确定系统在新的、未见过的数据上表现的最佳方法,就是给它这些新数据,然后观察其表现。我们将这些未见过的数据点或样本称为测试数据或测试集。和训练数据一样,我们希望测试数据能代表系统发布后会遇到的数据。
1.2 训练与测试流程
通常的做法是,先用训练数据对系统进行训练,直到我们认为它达到了最佳性能。然后,使用测试数据对其进行评估,这样就能了解系统在现实世界中的可能表现。
1.3 性能改进与数据多样化
如果系统在测试数据上的表现不够好,就需要进行改进。增加训练数据量通常是提高性能的有效方法,同时还能使训练集更加多样化。例如,我们可能会找到除贵宾犬外尾巴有短毛的狗,或者除约克夏梗外躺在沙发上的狗,这样分类器就能学会用其他方法识别这些狗,避免过拟合。
1.4 避免数据泄露
在训练和测试过程中,一个重要的规则是绝不能从测试数据中学习。如果将测试数据放入训练集,虽然系统有了更多的学习示例,但会破坏测试数据作为衡量系统准确性客观标准的价值。这种从测试数据中学习的问题被称为数据泄露,也叫数据污染。为避免数据泄露,我们要始终将测试数据与训练数据分开,并且只在训练完成后使用一次。
1.5 数据划分
我们通常将原始数据划分为训练集和测试集,常见的划分比例是
超级会员免费看
订阅专栏 解锁全文
2356

被折叠的 条评论
为什么被折叠?



