机器学习中的训练、测试与验证策略
1. 评估系统性能的挑战
在机器学习领域,目前并没有一种算法或公式能直接告诉我们训练好的分类器性能如何。就像自然科学家需要通过实验来了解真实世界中会发生什么一样,我们也必须通过实验来评估系统的性能。
2. 测试数据的重要性及使用规则
2.1 测试数据的定义与作用
确定系统在新的、未见过的数据上表现的最佳方法,就是给它提供这些数据并观察其表现。我们将这些未见过的数据点或样本称为测试数据或测试集。和训练数据一样,我们希望测试数据能代表系统发布后会遇到的真实数据。
2.2 训练与测试流程
通常的做法是先用训练数据对系统进行训练,直到我们认为它达到了最佳性能。然后使用测试数据对其进行评估,以此了解系统在现实世界中的可能表现。
2.3 性能改进与过拟合避免
如果系统在测试数据上的表现不够好,就需要进行改进。增加训练数据量通常是提升性能的有效方法,同时还能使训练集更加多样化。例如,在识别狗的分类器中,找到更多不同品种带有特定特征的狗的样本,能避免分类器因过拟合而出现错误。
2.4 测试数据使用规则
在训练和测试过程中,一个关键规则是绝不能从测试数据中学习。如果将测试数据放入训练集,会破坏其作为客观衡量系统准确性的价值,导致数据泄露问题。为避免这种情况,我们应在训练开始前就将测试数据从训练数据中分离出来,仅在训练结束后使用一次来评估系统质量。如果系统在测试集上表现不佳,不能简单地继续训练再测试,而要重新初始化系统并使用更多数据或更长时间进行训练。
超级会员免费看
订阅专栏 解锁全文
17万+

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



