分类预测 | MATLAB实现DBN-SVM深度置信网络结合支持向量机多输入分类预测

分类预测 | MATLAB实现DBN-SVM深度置信网络结合支持向量机多输入分类预测

目录

    • 分类预测 | MATLAB实现DBN-SVM深度置信网络结合支持向量机多输入分类预测
      • 预测效果
      • 基本介绍
      • 程序设计
      • 参考资料

预测效果

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

基本介绍

1.分类预测 | MATLAB实现DBN-SVM深度置信网络结合支持向量机多输入分类预测
2.代码说明:要求于Matlab 2021版及以上版本。

程序设计

  • 完整程序和数据获取方式1:同等价值程序兑换;
  • 完整程序和数据获取方式2:私信博主回复 MATLAB实现DBN-SVM深度置信网络结合支持向量机多输入分类预测获取。
%%  划分训练集和测试集
P_train = res(1: num_train_s, 1: f_)';
T_train = res(1: num_train_s, f_ + 1: end)';
M = size(P_train, 2);

P_test = res(num_train_s + 1: end, 1: f_)';
T_test = res(num_train_s + 1: end, f_ + 1: end)';
N = size(P_test, 2);

%%  数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);

[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);
dbn = dbnsetup(dbn, p_train, opts);     % 建立模型
dbn = dbntrain(dbn, p_train, opts);     % 训练模型
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  训练权重移植,添加输出层
nn = dbnunfoldtonn(dbn, num_class);

%%  反向调整网络
opts.numepochs          = 576;  % 反向微调次数
opts.batchsize          = M;            % 每次反向微调样本数 需满足:(M / batchsize = 整数)

nn.activation_function  = 'sigm';       % 激活函数
nn.learningRate         = 2.9189;       % 学习率
nn.momentum             = 0.5;          % 动量参数
nn.scaling_learningRate = 1;            % 学习率的比例因子

[nn, loss, accu] = nntrain(nn, p_train, t_train, opts);  % 训练
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  仿真预测 
T_sim1 = nnpredict(nn, p_train); 
T_sim2 = nnpredict(nn, p_test );

%%  性能评价
error1 = sum((T_sim1' == T_train)) / M * 100 ;
error2 = sum((T_sim2' == T_test )) / N * 100 ;
https://blog.csdn.net/kjm13182345320/article/details/131174983
版权声明:本文为CSDN博主「机器学习之心」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kjm13182345320/article/details/130462492


参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/129679476?spm=1001.2014.3001.5501
[2] https://blog.csdn.net/kjm13182345320/article/details/129659229?spm=1001.2014.3001.5501
[3] https://blog.csdn.net/kjm13182345320/article/details/129653829?spm=1001.2014.3001.5501

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