2.2.1 集成学习
集成学习旨在通过多个模型的组合来获得更高的预测精度,同时减少过拟合。这种算法最早出现在20世纪70年代,后被广泛应用于各个领域,如图像识别、自然语言处理和金融预测。
常见的集成学习包括bagging、boosting、stacking和blending,这4种集成学习算法的原理如下。
(1)bagging。其全名为bootstrap aggregating,是一种通过组合多个模型的方法来降低预测误差的技术。在这种算法中,我们从原始数据集中随机选择样本(有放回地选择,即一个样本可以被选择多次,这就是“进行替换”的意思),然后对每个新生成的数据集训练一个独立的模型。最后,所有模型的预测结果被平均(对于回归问题)或者投票(对于分类问题)得到最终的预测。这种方法能够有效地减小模型的方差,提高模型的稳定性和准确性。
(2)boosting。这是一种依次训练多个模型的算法,每个后续模型都会试图修正其前一个模型的错误。采用这种策略可以将一类弱学习器(指其预测能力不强,比如简单的决策树)提升为强学习器。每个模型在训练时,都会更加关注前一个模型错误分类的样本,通过调整样本权重来实现其算法。所有模型的预测结果将根据其在训练过程中的表现进行加权融合,形成最终的预测。
(3)stacking。这是一种通过训练一个元模型(meta-model)来融合多个基模型预测结果的方法。在这种算法中,首先独立地训练多个不同的基模型,然后将这些模型的预测结果作为新的特征去训练一个元模型。元模型的目标是最好地组合各个基模型的预测结果。这种方法的优点在于,当基模型多样化时,它可以更好地捕捉数据的多种特性,并提高预测的准确性。
(4)blending。与stacking类似,两者的主要区别在于训练元模型时使用的数据。在blending中,元模型是在一个单独的数据集上训练的,而不是使用基模型的预测结果作为特征。这种方法更简单,但可能会因为信息泄露而导致过拟合。
生物学中使用集成学习的一个例子是预测蛋白质-蛋白质相互作用(protein-protein interaction,PPI)。PPI对发生在细胞内的一系列化学反应或物理事件都很重要,了解这一作用有助于开发新的疾病治疗方法。然而,对PPI的实验测定既费时又费钱,鉴于这种情况,研究人员开始采用机器学习方法从蛋白质序列和结构中预测PPI,并采用集成学习来提高PPI预测的准确性。具体来说,就是采用多个机器学习模型(如支持向量机、随机森林和梯度提升机),在不同的数据子集或不同的特征集上训练,然后用不同的方法(如多数投票或加权平均)将这些模型的输出结合起来,以做出最终预测。
图2-1描绘了人工智能、机器学习、深度学习、集成学习和生物信息学之间的关系。深色框表示本节的焦点,即生物信息学中的集成深度学习。图2-2展示了经典的集成学习框架,包括bagging、boosting及其变体,以及基于数据扰动的集成聚类。其中,X代表输入数据。
图2-1 人工智能、机器学习、深度学习、集成学习和生物信息学的关系
图2-2 经典的集成学习框架