您现在的位置:首页 >> 机器学习 >> 内容

m基于GA遗传优化BP神经网络的传感器故障诊断matlab仿真

时间:2023/1/3 22:58:48 点击:

  核心提示:05_038_m包括程序操作录像+说明文档...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/Y52clZpw

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览




3.算法概述

       利用遗传算法来优化 BP 神经网络,利用它来学习神经网络 的权值,并在自适应遗传算法的基础上改进遗传算 子,根据适应度变化调节交叉率和变异率,并利用遗 传算法的全局搜索能力对BP 神经网络的初始权重进 行自适应调整,最终得到一个优化的 BP 神经网络.

4.部分源码

clc;

clear;

close all;

warning off;

addpath(genpath(pwd));

rng('default')

load data.mat

Num_In     = size(Train_data,1);

Num_Hidden = 6;

Num_Out    = 1;

%构建BP网络

net        = newff(Train_data,Train_aim,Num_Hidden);

net        = func_newGA(net,Num_In,Num_Hidden,Num_Out,Train_data,Train_aim);

net        = train(net,Train_data,Train_aim);

outputs    = round(sim(net,awgn(Test_data,0,'measured')));%测试的时候,加入随机干扰

%计算整体识别率

disp('整体识别率:');

C0 = 100*length(find(outputs==Test_aim))/length(Test_aim)

disp('第1种故障识别率:');

C1 = 100*length(find(outputs(1:50)==1))/length(Test_aim)*3

disp('第2种故障识别率:');

C2 = 100*length(find(outputs(51:100)==2))/length(Test_aim)*3

disp('第3种故障识别率:');

C3 = 100*length(find(outputs(101:150)==3))/length(Test_aim)*3

%测试不同噪声大小下的识别率

SNR = -2:1:16;

for i = 1:length(SNR)

    i

    for j = 1:20

        rng(j);

        Test_data2 = awgn(Test_data,SNR(i),'measured');

        outputs    = round(sim(net,Test_data2));

        C20(i,j)     = 100*length(find(outputs==Test_aim))/length(Test_aim);

        C21(i,j)     = 100*length(find(outputs(1:50)==1))/length(Test_aim)*3;    

        C22(i,j)     = 100*length(find(outputs(51:100)==2))/length(Test_aim)*3;    

        C23(i,j)     = 100*length(find(outputs(101:150)==3))/length(Test_aim)*3; 

    end

end

05_038_m

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168