0. 机器学习
0.1 机器学习工作流的9个阶段
(1)模型需求
(2)数据收集
(3)数据清洗
(4)数据标注
(5)特征工程
(6)模型训练
(7)模型评估
(8)模型部署
(9)模型监控
1. 增量学习
学得模型后,再接收到训练样例时,仅需根据新样例对模型进行更新,不必重新训练整个模型,并且之前学得的有效信息不会被冲掉。
2. 在线学习
每获得一个新样本就进行一次模型更新。显然,在线学习时增量学习的特例,而增量学习可视为“批模式”的在线学习。
3. 迁移学习
3.1 原理
Transfer Learning 将从源数据集学到的知识迁移到目标数据集上。虽然ImageNet数据集的图像大多跟XX无关,但在该数据集上训练的模型可以抽取较通用的图像特征,从而能够帮助识别边缘、纹理、形状和物体组成等,这些类似的特征对于识别XX也可能同样有效。
3.2 微调 Fine Tuning
微调是迁移学习的一种常用学习技术。其步骤如下:
1. 在源数据集上预训练一个NN模型,即源模型;
2. 创建一个目标模型(新的NN模型),它复制了源模型上除了输出层外所有的模型设计及其参数。3. 为目标模型添加一个输出大小为目标数据集类别个数的输出层,并随机初始化该层的模型参数;
4. 在目标数据集上训练目标模型: 从头训练输出层,其余层的参数则基于源模型的参数微调得到。(一般来说,微调参数会使用较小的学习率,而从头训练输出层可以使用较大的学习率。)
两个假设:
(1)目标模型参数包含了源数据集上学习到的知识,且这些知识同样适用于目标数据集;
(2)源模型的输出层与源数据集的标签紧密相关,因此在目标模型中不予采用。
当目标数据集远小于源数据集时,微调有助于提升模型的泛化能力。另外,微调的模型因为参数初始值更好,往往在相同迭代周期下会取得更高的精度。
4. 集成学习
4.1 Stacking
核心思想:通过次级学习器(元学习器)来对初级学习器(个体学习器)进行结合。
先从初始数据集训练出初级学习器,然后生成一个新数据集用于训练次级学习器。在这个新数据集中,初级学习器的输出被当作样例输入特征,而初始样本的标记仍被当作样例标记。
注意:
次级学习器的输入属性表示和次级学习算法对Stacking集成的泛化性能有很大影响。有研究表明,将初级学习器的输出类概率作为次级学习器的输入属性,用多响应线性回归MLR作为次级学习算法效果较好,在MLR中使用不同的属性集更佳。