【DBN分类】基于matlab深度置信网络DBN变压器故障诊断【含Matlab源码 2284期】

一、深度置信网络DBN变压器故障诊断简介

1 DBN模型
DBN是深度学习中最关键的一个多层网络架构,如图2所示,由多层RBM堆叠而成,前一层RBM的输出为后一层RBM的输入,最顶层采用Softmax分类器作为标签层,输出分类识别的结果。

DBN的训练分为预训练和调优2个阶段。预训练阶段:采用无监督的逐层贪心训练方法来训练每层RBM的参数,先训练网络的第1个隐含层,训练好后接着训练第2个隐含层,以此类推直到最后一个隐含层。微调阶段:对预训练好的网络,采用BP算法有监督地对整个网络参数进行进一步优化和调整,使其达到全局最优。
【DBN分类】基于matlab深度置信网络DBN变压器故障诊断【含Matlab源码 2284期】_第1张图片
图2 深度置信网络结构

2 变压器故障诊断问题
电力变压器故障诊断模型的输入量为提取出的样本特征,表示如下:
【DBN分类】基于matlab深度置信网络DBN变压器故障诊断【含Matlab源码 2284期】_第2张图片
式中:L为带标签样本的总数;U为无标签样本的总数;D为每个样本数据的输入特征数。注意的是,当U=0即表明所有的输入数据均为带标签样本数据。每一组样本数据都可以看做是数据集中的一个向量,即X中的一列,xji表示第i组样本中的第j个特征。

矩阵Y为带标签样本数据集,其表达式如式(18)所示。其中,C为标签的类别数,在变压器故障诊断问题中,标签类别为变压器的常见故障类型。变压器故障诊断即为寻找X→Y的映射问题。
【DBN分类】基于matlab深度置信网络DBN变压器故障诊断【含Matlab源码 2284期】_第3张图片
2.1 变压器多维监测数据的选取
为了保证评估诊断的正确有效,文中综合现有的研究文献,并且结合最新的在线监测技术 ,在该系统中选取代表变压器健康状态的多维度在线监测量作为故障诊断模型的输入特征,特征集如表1所示。

2.2 输入数据的归一化处理
变压器多维度的监测数据存在不同的量纲、标度,因此必须进行归一化处理。对于监测数据越低越优的评估指标,采用下降半梯形模型进行归一化:
【DBN分类】基于matlab深度置信网络DBN变压器故障诊断【含Matlab源码 2284期】_第4张图片
对于监测数据越高越优的评估指标,采用上升半梯形模型:
【DBN分类】基于matlab深度置信网络DBN变压器故障诊断【含Matlab源码 2284期】_第5张图片
式中:xi为所测实际数据;a,b为该项评估指标的定量阈值。

二、部分源代码

clc;
clear;
close all

% 读取数据,无编码比值构造输入输出
[dataX,dataY,dataYreal,names] = getData();

% 样本个数
dataNum = size(dataX,1);

% 训练数据
trnNum = round(0.8*dataNum);
trainX = dataX(1:trnNum,:);
trainY = dataY(1:trnNum,:);
[~,trainYreal] = max(trainY’);
trainYreal = trainYreal’;
% 测试数据
testX = dataX(1+trnNum :end,:);
testY = dataY(1+trnNum :end,:);
[~,testYreal] = max(testY’);
testYreal = testYreal’;

% 归一化
[trainXn,psX] = mapminmax(trainX’);
trainXn = trainXn’;
testXn = mapminmax(‘apply’,testX’,psX)';

addpath(genpath(‘.\DBN_Toolbox’));

三、运行结果

【DBN分类】基于matlab深度置信网络DBN变压器故障诊断【含Matlab源码 2284期】_第6张图片
【DBN分类】基于matlab深度置信网络DBN变压器故障诊断【含Matlab源码 2284期】_第7张图片
【DBN分类】基于matlab深度置信网络DBN变压器故障诊断【含Matlab源码 2284期】_第8张图片

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]刘文泽,张俊,邓焱.基于深度置信网络和多维信息融合的变压器故障诊断方法[J].电力工程技术. 2019,38(06)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

你可能感兴趣的:(matlab,分类,开发语言)