当前位置:   article > 正文

最全NLP中文文本分类实践(下)——Voting和Stacking的模型融合实现_voting stacking

voting stacking

前面的两篇文章中,我们完成了文件内容提取、中文分词、机器学习模型构建等任务。现在,我们希望对得到的模型效果做出优化。当然,有很多方法可以提升模型的表现,包括特征工程、调参、模型融合等。在这篇文章中,主要介绍针对模型融合的实践内容,即对多个baseline按一定的方法进行“融合”以期达到指标的提升。以下是前面两篇文章的链接。

最全NLP中文文本分类实践(上)——中文分词获取和Word2Vec模型构建

最全NLP中文文本分类实践(中)——SVM和基于keras的TextCNN实现

1 概念简介

所谓模型融合,其实就是字面意思,通过融合多个不同的模型来提升性能。最容易理解的模型融合有针对分类问题的Voting和回归问题的Average。在其基础上有改进或稍微复杂的有Bagging,Boosting,Stacking等。

  • Voting

用多个模型对样本进行分类,以“投票”的形式,投票最多者为最终的分类。

  • Average

对不同模型得出的结果取平均或加权平均。

  • Bagging

先利用多次有放回抽样生成不同的训练集训练出不同的模型,将这些模型的输出结果通过上述两种方法综合得到最终的结果。随机森林就是基于Bagging算法的一个典型例子。

  • Boosting

一种迭代的方法,每一次训练的时候都更加关心分类错误的样例,给这些分类错误的样例增加更大的权重,下一次迭代的目标就是能够更容易辨别出上一轮分类错误的样例。最终将这些弱分类器进行加权相加。

  • Stacking

本质上是分层的结构。第一层是k折交叉的训练集,针对于每一折,由除自己以外的其他的训练数据训练出模型,并以此模型对这一折进行预测。按照此流程进行k次之后,我们得到了用不同模型预测训练集标签的结果,按顺序罗列之后作为第二层的训练集。再用k次训练的模型预测测试集标签,将得到的结果除以k取平均,作为第二层的测试集。随后,我们再用另一个模型去训练第二层的训练集并预测第二层的测试集,获取对原始的测试集的预测结果进行评估。

Stacking

这一部分的内容概念可能用语言描述起来不太好理解,我是通过以下链接进行更直观的认知的。有需要的同学可以去加深一下理解认识。

【机器学习】模型融合方法概述

在本次实践中,我主要应用的是Voting和Stacking两种模型融合的方法,也将在下文中分别展开。

2 Voting实现

在此之前,我们先需要有几个预先存好的模型。最好是奇数个,这样不会出现特别多的平票的情况。我使用了5个模型进行voting,分别是TextCNN,以及5个和10个epochs分别训练出来的Word2Vec模型下,各自的SVM和神经网络分类器。

#模型融合
import joblib
import h5py
from tensorflow.keras.models import load_model

#导入五个提前保存好的模型
cnnmodel = load_model('textcnn.h5')
svm1model = joblib.load("download_w2v_svm.m")
svm2model = joblib.load("download_w2v_10epochs_svm.m")
nn1model = joblib.load("download_w2v_nn.m")
nn2model = joblib.load("download_w2v_10epochs_nn.m")

#由于CNN模型和其他分类器模型所产生的标签格式是不一致的
#因此需要应用不同的测试集特征格式,并将预测结果进行统一
y_cnnpred = cnnmodel.predict(X_testcnn, batch_size=64,
                              verbose=0, steps=None,
                              callbacks=None, max_queue_size=10,
                              workers=1, use_multiprocessing=
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号