有了训练集和测试集,很多机器学习入门者可能不知道还有验证集这样一个概念。事实上,验证集是用来调参的。为了叙述的流畅性,这里读者可以先将调参理解为调整模型,相关概念会在后续章节介绍并通过具体例子说明。验证集的作用是比较我们所尝试的多个模型,从中选择表现最好的一个。这个任务仅通过测试集其实也能实现,很多人会直接把测试集当作验证集来选择和优化模型,从而将测试集和验证集的概念混为一谈。但严格来说,验证集的单独存在是必要的。测试集用来衡量一个完整建好的模型,意味着这个模型在之前就被认定为已经调整到最优,而这个优化的过程就是通过验证集实现的。如果我们延续上文中对训练集和测试集的比喻,验证集就相当于考前的模拟测试。
4.2.6机器学习的任务流程
一个完整的任务流程大致可分为如图4-9所示的6个步骤。注意这个流程只是一般的思路,具体问题会有各自的差异和侧重。
一般来说,在“数据导入”上,机器学习算法读入的是像表4-2一样的结构化数据(StructuredData)。在结构化数据中,特征都是以列的形式一条一条展开的。但是在图像识别、语音识别等任务中,原始数据以图片或音频的形式出现,所谓的特征我们是“看不见的”。这个时候,我们需要将这些原始信息转化为结构化的形式。
4.3 数据预处理
在拿到任务和数据后,应该先做数据预处理的基本流程,包括探索性分析、数据清洗和特
人工智能与大数据技术导论
142