分类预测 | MATLAB实现CNN-GRU(卷积门控循环单元)多特征分类预测
目录
- 分类预测 | MATLAB实现CNN-GRU(卷积门控循环单元)多特征分类预测
- 预测效果
- 基本介绍
- 模型描述
- 程序设计
- 学习总结
- 参考资料
预测效果
基本介绍
本次运行测试环境MATLAB2020b
总体而言,CNN用作特征(融合)提取,然后将输出的feature映射为序列向量输入到GRU当中。
模型描述
- 卷积门阀循环神经网络处理特征抽取与分类。该模型主要由向量处理层、卷积层、GRU层和分类输出层4个部分组成。
- 卷积核数对分类准确率的影响:卷积核数在一定程度上会影响分类的精确度。卷积核数太小时,分类准确率有所欠缺;而卷积核数超过一定数目后,准确率无明显变化。
- 卷积核大小对分类准确率的影响:采用小卷积核模型的分类准确率要高于大卷积核模型的分类准确率。卷积核越大,GRU单次接受的词语个数越多,GRU单次接受的个数过多,相邻的GRU输入的相关性就会减弱,不利于序列建模。
- GRU隐层节点数对分类准确率的影响:隐层节点数的变化对分类准确率的影响不大,对二分类数据集,只需设置隐层节点数为较小的数值,就可获得较高的准确率。而对于多分类数据,隐层节点数太小时,模型表达能力不足,分类准确率较低。
程序设计
- 完整源码和数据下载:MATLAB实现CNN-GRU(卷积门控循环单元)多特征分类预测。
%% 训练混合网络
% rng(0);
% 训练
CNNGRUnet = trainNetwork(XrTrain,YrTrain,layers,options);
%-------------------------------------------------------------------------------------
%% CNN-GRU数据输出
%% 训练误差集评价
ACCtrain = sum(YPred_Train == YrTrain)./numel(YrTrain);
disp('CNN-GRU训练ACC');
disp(ACCtrain)
%-------------------------------------------------------------------------------------
%% 测试集误差评价
ACCtest = sum(YPred_Test == YrTest)./numel(YrTest);
disp('CNN-GRU测试ACC');
disp(ACCtest)
学习总结
结合CNN与GRU提出卷积门阀循环神经网络的本分类方法。通过引入卷积结构提取多尺度组合特征,辅助高层特征学习,从而丰富了GRU的特征输入。同时,引入Softmax分类器,使学习到的特征在类内紧凑。在后续研究中,还会继续优化和改进所提出模型的算法、结构与参数设置,以进一步提高模型分类识别能力。
参考资料
[1]
Diab D M,El Hindi K M. Using differential evolution for fine tuning naïve Bayesian classifiers and its application for text classification[J]. Applied Soft Computing, 2017, 54: 183-199. DOI:10.1016/j.asoc.2016.12.043
[2]
Zhang Wen,Tang Xijin,Yoshida T. TESC:An approach to TExt classification using semi-supervised clustering[J]. Knowledge-Based Systems, 2015, 75: 152-160. DOI:10.1016/j.knosys.2014.11.028
[3]
Vieira A S,Borrajo L,Iglesias E L. Improving the text classification using clustering and a novel HMM to reduce the dimensionality[J]. Computer Methods and Programs in Biomedicine, 2016, 136: 119-130. DOI:10.1016/j.cmpb.2016.08.018
[4]
Wang Yisen,Xia Shutao T,Wu Jia. A less-greedy two-term Tsallis entropy information metric approach for decision tree classification[J]. Knowledge-Based Systems, 2017, 120: 34-42. DOI:10.1016/j.knosys.2016.12.021
[5]
Kim Y.Convolutional neural networks for sentence classification[C]//Proceedings of the 2014 Conference on empirical Methods In Natural Language Processing.Doha:ACL,2014:1532–1543.