论文部分内容阅读
近年来,随着互联网行业的蓬勃发展,人们在互联网上产生了海量的数据,机器学习在互联网的许多场景中得到了广泛的应用。在理论研究中,集成学习是机器学习中的重要研究方向,而其中的Stacking算法已经得到了广泛的研究与应用。但是目前对于Stacking算法的研究主要集中在基模型和元模型的选择和参数的调整上,很少对其结构进行研究。本文对Stacking算法进行了研究,并在此基础上对其结构进行了一定的改进,提出了一种基于多个元模型的Stacking算法。与原始的Stacking算法相比,改进后的算法采用了多个元模型,并通过结合策略对元模型的输出进行结合。我们将基于多个元模型的Stacking算法应用到一个基于文本数据的分类任务和房价预测中,验证了算法的正确性和有效性。本文的整体结构分为3部分:首先是对研究背景和意义的叙述,其次是对原始Stacking算法和改进后的算法的阐述,最后将改进后的算法应用于分类与回归问题。其中,算法对分类与回归问题的应用是本文的核心内容,两者都包含了特征工程、模型训练、模型评估和模型预测等阶段。但是特征工程、结合策略和评价指标等内容不同。本文的主要工作包括以下几点:1)在回归问题和分类问题中,分别在2个数据集上对基于多个元模型的Stacking算法的有效性进行了验证。在回归实验中,均方根误差分别为0.145和0.5814;在分类实验中,准确率分别为0.8341和0.9391,均优于其它方法。2)验证了算法性能并不随着元模型数量的增加而提升,而是要综合考虑各个元模型单独的性能表现和差异性。在分类问题中通过差异性度量中的“不合度量”衡量了各个模型之间的差异性,并以两个差异性较低的模型为基准,证明了各个模型之间具有较高的差异性。3)在每个数据集上对各个模型的训练时间和测试时间进行了测试,证明了改进后的算法以较小的时间成本获得了较好的效果。4)测试了算法在元模型和基模型相互独立的条件下的预测表现。证明了基于多个元模型的Stacking算法并不要求基模型和元模型各不相同,只要基模型之间和元模型之间各自具有差异性,并且各个模型的性能接近,就能获得较好的效果。5)与其它主流集成学习算法进行了比较,证明了改进后的算法优于Bagging、Ada Boost和随机森林等其它主流集成算法。