迁移学习指的是将已经训练好的参数提供给新的模型用作训练。现实中很多机器学习问题是存在相关性的。比如在图像识别中,识别狗和识别哈士奇,虽然具体任务不同,但它们具有相似性,用于识别狗的模型学习到的参数可以分享给识别哈士奇的任务,使得后者可以“从半路开始”,而不是从零开始学习参数,大大减少了学习时间。
迁移学习并不是一种新的机器学习分类,而是一种加快学习的模式。迁移学习在深度学习模型中的应用尤为明显。深度学习的模型庞大复杂,具有极多的参数需要训练。
4.2.4 特征数据类型
●数值型(numerical),如长度、温度、价格等。
分类型(categorical),如性别。
文本(text),如姓名、地址等。
●日期(datetime),如2018-08-26。
4.2.5 训练集、验证集和测试集
在机器学习任务中,我们通常将数据集分成三部分:训练集(TrainingSet)、验证集(Validation Set)和测试集(TestSet)。下面介绍这三个概念。
●训练集:用于训练模型,确定模型中的参数。
●验证集:用于模型的选择和优化。
●测试集:用于对已经训练好的模型进行评估,评价其表现。
训练集和测试集的概念相对好理解。训练集顾名思义是用来训练的,机器使用训练集来学习样本。而测试集用来检验模型的效果。就像我们在学校学习功课,训练集如同教科书中的题库,测试集相当于考试试卷。我们通过“刷题库”获得知识,从而在考试中取得优异的成绩。
为什么要建立测试集呢?不直接用训练集进行测试的原因是,模型是用训练集进行学习的,倾向于尽可能拟合训练集数据的特性,因此在训练集上的测试效果通常会很好,但在没有见过的数据集上表现效果可能会明显下降,这个现象叫作过拟合(Overfitting)。有关过拟合的概念,后面会详细介绍。模型在没有见过的数据集上取得高准确率比在原训练集上获得好的效果更有说服力。因此,总是要设立测试集。就像只有考试才能最公平地衡量学生对功课的掌握程度一样。
第4章 机器学习概述
141