1. 机器学习典型步骤
-
数据采集和标记
-
数据清洗
-
特征选择
如房子的面积、地理位置、朝向、价格等。 -
模型选择
有监督还是无监督,问题领域、数据量大小、训练时长、模型准确度等多方面有关。
-
模型训练和测试
把数据集分成训练数据集和测试数据集,一般按照 8:2 或 7: 3 来划分,然后用训练数据集来训练模型。训练出参数后再使用测试数据集来测试模型的准确度。 -
模型评估和优化
准确性和性能多方面进行评估和优化 -
模型使用
训练出来的模型可以把参数保存起来,下次使用时直接加载即可。一般来讲,模型训练需要的计算量是很大的,也需要较长的时间来训练,这是因为一个好的模型参数,需要对大型数据集进行训练后才能得到。
而真正使用模型时,其计算量是比较少的,一般是直接把新样本作为输入, 然后调用模型即可得出预测结果。
2. 训练集、验证集和测试集概念
- 训练集(Train Set):
用来做训练的数据的集合。
- 验证集(ValidationSet):
在训练的过程中,每个训练轮次结束后用来验证当前模型性能,为进一步优化模型提供参考的数据的集合。
- 测试集(Test Set):
用来测试的数据的集合,用于检验最终得出的模型的性能。
在个别情况下验证集和测试集可以合二为一,不过当然最好还是分开。验证可以理解为一个小规模的对于已经生成模型的测试,只不过已生成模型处理的数据不是测试集而是验证集。
这三个集合可以从同一份标注数据中随机选取。三者的比例可以是训练集:验证集:测试集=2:1:1,也可以是7:1:2。总之,训练集占大头。有些情况下(整体数据量不大,模型又相对简单时),验证集和测试集也可以合二为一。