深度信念网络是由若干个受限的玻尔波茨曼机RBM之间的重叠,再加上另一个有监督的反向传播网络构成,可以利用由低至高的遍历网络每一层来重新练习已被建立好的这些RBM。整个训练流程大体上可区分为以下两个主要部分:首先是预训练,主要是通过无监督的学习方式逐步的遍历RBM的每一级,对各层级神经网络的主要参数进行系数初始化,第二步是参数微调,利用反向传播的算法可以对整个神经网络中的参数进行微调。采用了这种学习方法后即使将整个网络嵌套成多层,仍然还能够比较合理有效地去优化整个网络参数,这种学习的方式有效克服了梯度的消失的问题,使对深度神经网络算法的深度学习变得更为有效。
深度信念网络是深度学习中重要及基础的学习模型,由多个RBM和一层有监督的分类器连接而成。深度信念网络DBN在整个学习的流程设计中结合使用了有监督的学习方法与无监督的学习方法,借助二种学习方法可以将整个的学习的流程设计大致区分为以下两个主要部分:无监督的学习、有监督学习的微调。
(1)训练第一训练阶段主要是指对DBN模型的各个层次RBM模型进行贪婪式的训练,即预训练,由模型开始从底部往上逐步地训练各个RBM。数据从底层RBM的输出,紧接着又会作为更顶层RBM的输入,利用这一流程进行每个RBM训练,最后完成DBN网络参数的初始化。
(2)第二阶段是对模型进行微调。每个RBM的训练只会优化层内参数,要想使网络每个模型结构中的网络参数都达到全局最优化,还就必须要通过采用DNN、SVM算法或BP算法等来进行对网络参数的进行动态微调,实现网络全局的最优化的效果,使经过微调处理后得到的所有网络参数都成为了每个模型网络参数的最优参数。相比之于传统的神经网络,DBN具有了很大程度的高准确率,并且有效解决了易陷入的局部最优问题。
而DBN的激活函数可以看作网络模型中一个特殊的层,即非线性映射层。DBN在进行完线性变换后,都会在后边叠加一个非线性的激活函数,在非线性激活函数的作用下数据分布进行再映射,以增加DBN的非线性表达能力。
本项目为MATLAB环境下不同激活函数对DBN故障诊断分类性能的影响。
程序运行环境为MATLAB R2018A。
haaxes1=gca;
haaxes=get(hl,'CurrentAxes');
xlabel('\fontname{Times New Roman}\it t\rm\bf / \rms');
ylabel('\fontname{Times New Roman}Frequency Hz');
legend('\fontname{Times New Roman}Instantaneous frequency of \it z\rm_1(\itt\rm)','\fontname{Times New Roman}Instantaneous frequency of \it z\rm_2(\itt\rm)','Location','NorthWest')
压缩包=数据+程序+参考文献。
代码见评论区
代码见评论区
代码见评论区