分类预测 | Matlab实现基于DBN-SVM深度置信网络-支持向量机的数据分类预测

分类预测 | Matlab实现基于DBN-SVM深度置信网络-支持向量机的数据分类预测

目录

    • 分类预测 | Matlab实现基于DBN-SVM深度置信网络-支持向量机的数据分类预测
      • 分类效果
      • 基本描述
      • 程序设计
      • 参考资料

分类效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基本描述

1.利用DBN进行特征提取,将提取后的特征放入SVM进行分类实现组合预测。图很多,包括混淆矩阵图、预测效果图, DBN是深度置信网络,相比于CNN更为新颖。
2.多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。
3.程序语言为matlab,程序可出分类效果图,混淆矩阵图,运行环境matlab2018b及以上。
4.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。
5.data为数据集,输入12个特征,分四类;main为主程序,其余为函数文件,无需运行,可在下载区获取数据和程序内容。

程序设计

  • 完整程序和数据获取方式:私信博主回复Matlab实现基于DBN-SVM深度置信网络-支持向量机的数据分类预测
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  数据转置
P_train = P_train'; P_test = P_test';
T_train = T_train'; T_test = T_test';
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  得到训练集和测试样本个数
M = size(P_train, 2);
N = size(P_test , 2);
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test  = mapminmax('apply', P_test, ps_input);
t_train = ind2vec(T_train);
t_test  = ind2vec(T_test );
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  转置以适应模型
p_train = p_train'; p_test = p_test';
t_train = t_train'; t_test = t_test';
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
dbn.sizes = [70 32 56];                 % 隐藏层节点
opts.numepochs = 100;                   % 训练次数
opts.batchsize = M;                     % 每次训练样本个数 需满足:(M / batchsize = 整数)
opts.momentum  = 0;                     % 学习率的动量
opts.alpha     = 0.01;                  % 学习率

dbn = dbnsetup(dbn, p_train, opts);     % 建立模型
dbn = dbntrain(dbn, p_train, opts);     % 训练模型
————————————————
版权声明:本文为CSDN博主「机器学习之心」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kjm13182345320/article/details/131174983

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/129036772?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128690229

你可能感兴趣的:(分类预测,DBN-SVM,深度置信网络-支持向量机,数据分类预测)