使用神经网络-遗传算法优化神经网络-风电预测故障(BP,GABP,matlab)

本项目是故障预测,不是时序预测,本质还是分类问题

1 数据集介绍

特征文件:
在这里插入图片描述

标签文件:共计4个标签,其中大多数都是正常的,其他是3个不正常的类别
在这里插入图片描述

2 使用BP网络

2.1 读取数据,然后选择几个使用的特征

feature_index = [1,3,13,14,17];
x=xlsread("data.xlsx");
y=xlsread("10号风机标签.csv");
error_index = find(y~=1);
train_index = [error_index(1),error_index(2),error_index(4),error_index(5),error_index(7),error_index(8)]';
test_index = [error_index(3),error_index(6),error_index(9)]';
y(error_index)

2.2 搭建网络,使用newff函数

net=newff(inputn,outputn,hiddennum,{'tansig','purelin'},'trainlm');% 建立模型,传递函数使用purelin,采用梯度下降法训练W1= net. iw{1, 1};%输入层到中间层的权值
B1 = net.b{1};%中间各层神经元阈值W2 = net.lw{2,1};%中间层到输出层的权值
B2 = net. b{2};%输出层各神经元阈值

2.3 训练网络,输出结果图像

结果包含:真实值与预测值,迭代过程图像,混淆矩阵图像
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3 使用GA优化BP网络

我们将神经网络参数优化问题看做一个最优化问题,目标函数就是loss,待求解的参数就是w和b,在ga里面,适应度就是目标函数,染色体上每个位置片段就是w和b,在每次迭代时,ga通过染色体的选择、交叉、变异等操作随机的选出适应度最好的那个种群。

3.1 使用ga进行优化

for j=1:sizepopx=individuals.chrom(j,:); %个体individuals.fitness(j)=fun(x,inputnum,hiddennum,outputnum,net,inputn,outputn);%找到最小和最大适应度的染色体及它们在种群中的位置
[newbestfitness,newbestindex]=min(individuals.fitness);
[worestfitness,worestindex]=max(individuals.fitness);
% 代替上一次进化中最好的染色体
if bestfitness>newbestfitnessbestfitness=newbestfitness;bestchrom=individuals.chrom(newbestindex,:);
endindividuals.chrom(worestindex,:)=bestchrom;individuals.fitness(worestindex)=bestfitness;avgfitness=sum(individuals.fitness)/sizepop;trace=[trace;avgfitness bestfitness]; %记录每一代进化中最好的适应度和平均适应度end
end
trace= trace(1:end-1,:);
xl=1:sizepop:length(trace);
trace=trace(xl,:);

3.2 结果对比

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4 最后的结果对比

bp:
平均绝对误差MAE为:0.25
均方误差MSE为:       0.55
均方根误差RMSE为:  0.74162
分类正确率为:  85Gabp:
隐含层节点数为30时的误差结果如下:
平均绝对误差MAE为:0.2
均方误差MSE为:       0.5
均方根误差RMSE为:  0.70711
分类正确率为:  90详情联系Q  596520206

通过对比,我们发现gabp的结果要好于bp的结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/795822.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【深度学习】图像自然语言描述生成

案例 6:图像自然语言描述生成(让计算机“看图说话”) 相关知识点:RNN、Attention 机制、图像和文本数据的处理 1 任务目标 1.1 任务和数据简介 ​ 本次案例将使用深度学习技术来完成图像自然语言描述生成任务,输入…

ubuntu强密码支持

接到新需求,欧盟需要ubuntu使用强密码,网络上找到一个包可以增加ubuntu密码增强机制,以下是调试过程。 sudo apt-get install libpam-pwquality 然后,编辑位于/etc/pam.d/目录中的common-password文件: sudo vim /et…

STM32F103C8T6最小系统板是一种基于STM32F103C8T6微控制器的开发板,具有丰富的外设和强大的处理能力,适用于各种嵌入式应用开发

STM32F103C8T6最小系统板是一种基于STM32F103C8T6微控制器的开发板,具有丰富的外设和强大的处理能力,适用于各种嵌入式应用开发。该开发板集成了STM32F103C8T6微控制器的核心部分、时钟电路、复位电路、USB电源管理电路等,非常适合初学者进行…

MySQL复制拓扑2

文章目录 主要内容一.配置基本复制结构1.分别在三台主机上停止mysqld服务,并对状态进行确认:代码如下(示例): 2.对三个MySQL服务器的配置文件分别进行编辑,在[mysqld] 选项组中添加以下红色条目:3.在数据目…

深入理解Java异常处理机制(day20)

异常处理 异常处理是程序运行过程产生的异常情况进行恰当的处理技术 在计算机编程里面,异常的情况比所我们所想的异常情况还要多。 Java里面有两种异常处理方式; 1.利用trycatchfinaly语句处理异常,优点是分开了处理异常代码和程序正常代码…

深入浅出 -- 系统架构之负载均衡Nginx反向代理

一、Nginx反向代理-负载均衡 首先通过SpringBootFreemarker快速搭建一个WEB项目:springboot-web-nginx,然后在该项目中,创建一个IndexNginxController.java文件,逻辑如下: Controller public class IndexNginxControl…

【放假第3天】幻兽帕鲁 雾锁王国 我的世界 游戏云服务器选购指南 附最新价格对比表 新手、小白秒懂

更新日期:4月6日(半年档 价格回调,京东云采购季持续进行) 本文纯原创,侵权必究 【云服务器推荐】价格对比!阿里云 京东云 腾讯云 选购指南视频截图 《最新对比表》已更新在文章头部—腾讯云文档&#xf…

前端三剑客 —— CSS (第四节)

目录 内容回顾: 1.常见样式 2.特殊样式 特殊样式 过滤效果 动画效果 动画案例: 渐变效果 其他效果: 多列效果 字体图标(icon) 内容回顾: 1.常见样式 text-shadow x轴 y轴 阴影的模糊程度 阴影的…

【话题:工作生活】2022年工作总结--疫情下的上海,疫情中的我。

现在是阳历2023年11月27日星期一,我再次开始撰写自己的年终工作总结。希望再过1、2个月,这份年终总结能够出炉,与大家相遇。 给自己定个小目标,年终的工作生活总结坚持写10年。我2017年毕业,之后就开始写每年的年终总结…

软考117-上午题-【计算机网络】-杂题+小结

一、杂题 真题1: 真题2: 真题3: 真题4: 真题5: 真题6: 真题7: 真题8: 真题9: 真题10: 真题11: 真题12: 真题13: 真题14&a…

c# wpf LiveCharts MVVM绑定 简单试验

1.概要 c# wpf LiveCharts MVVM绑定 简单试验 2.代码 <Window x:Class"WpfApp3.Window3"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://s…

Vue 组件的 mixin 函数,用于屏幕适配

// 屏幕适配 mixin 函数// * 默认缩放值 const scale {width: 1,height: 1, }// * 设计稿尺寸&#xff08;px&#xff09; const baseWidth 1920 const baseHeight 1080// * 需保持的比例&#xff08;默认1.77778&#xff09; const baseProportion parseFloat((baseWidth …

Java 开发工具包_JDK 各个版本 下载

Java 开发工具包_JDK 各个版本 下载&#xff1a; jdk.java.net http://jdk.java.net/ Oracle 官网&#xff1a; https://www.oracle.com/java/technologies/javase-downloads.html JDK-7 下载&#xff1a; http://jdk.java.net/java-se-ri/7 JDK-8 下载&#xff1a; https:/…

Unity性能优化篇(十四) 其他优化细节以及UPR优化分析器

代码优化&#xff1a; 1. 使用AssetBundle作为资源加载方案。 而且经常一起使用的资源可以打在同一个AssetBundle包中。尽量避免同一个资源被打包进多个AB包中。压缩方式尽量使用LZ4&#xff0c;少用或不要用LZMA的压缩方式。如果确定后续开发不会升级Unity版本&#xff0c;则可…

MySql并发事务问题

事务 事务概念&#xff1a; 事务是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求&#xff0c;即这些操作要么同时成功&#xff0c;要么同时失败。 事务的特性&#xff1a;ACID&#xff1a; 小…

鸿蒙实战开发-如何使用Stage模型卡片

介绍 本示例展示了Stage模型卡片提供方的创建与使用。 用到了卡片扩展模块接口&#xff0c;ohos.app.form.FormExtensionAbility 。 卡片信息和状态等相关类型和枚举接口&#xff0c;ohos.app.form.formInfo 。 卡片提供方相关接口的能力接口&#xff0c;ohos.app.form.for…

开源流程图表库(04):mxGraph,都是可视化编辑,导出使用。

mxGraph是一个用于创建和展示图形的JavaScript库。它提供了丰富的功能和工具&#xff0c;可以用于构建各种类型的图形应用程序&#xff0c;包括流程图、组织结构图、网络拓扑图等。 mxGraph的编辑器 一、mxGraph的特点和功能 以下是一些mxGraph的特点和功能&#xff1a; 强大…

FPGA的串口的收发程序设计

module uart_tx(input clk,input rst,input start,input [7:0] data,output reg tx_done,output reg tx_out );// 定义状态机的状态typedef enum logic [2:0] {IDLE, START, DATA, STOP} state_t;reg [10:0] count; // 用于计数发送的位数reg [2:0] state; // 用于记录…

耐腐蚀耐高温实验室塑料烧杯进口高纯PFA材质反应器特氟龙烧杯

PFA烧杯在实验过程中可作为储酸容器或涉及强酸强碱类实验的反应容器&#xff0c;用于盛放样品、试剂&#xff0c;可搭配电热板加热、蒸煮、赶酸用。 外壁均有凸起刻度&#xff0c;直筒设计&#xff0c;带翻边&#xff0c;便于夹持和移动&#xff0c;边沿有嘴&#xff0c;便于倾…

数学矩阵GCD和lCM(详解)

矩阵乘法 知阵乘法是《线性代数》中的基础内容&#xff0c;但在考察数学的算法题中也会出现。 本节我们学习基础的矩阵乘法规则。 每个矩阵会有一个行数和一个列数&#xff0c;只有当相乘的两个矩阵的左矩阵的列数等于右矩阵的行数 时&#xff0c;才能相乘&#xff0c;否则不允…