赞
踩
深度极限学习机(DELM)目前主要含两种基本结构:1、利用传统深度学习框架(主要是堆栈自动编码器,或者是深度置信网络)进行数据的深度自适应特征提取,而后将获得的特征输入至极限学习机及其变种中进行分类或回归;2、利用极限学习机与自动编码器相结合,形成极限学习机-自动编码器(ELM-AE),结构如图1,将ELM-AE作为无监督学习的基础单元对输入数据进行贪婪逐层无监督预训练,并保存ELM-AE由最小二乘法获得的输出权值矩阵,然后用这些输出层权重来初始化多层极限学习机(ML-ELM,也称深度极限学习机,Deep extreme leaning machine,DELM),最后结合标签信息对DELM的输出层权重进行学习,结果图2所示。
关于第一种深度极限学习机,可改进的地方较少,大部分人就是将不同的深度学习方法与不同的极限学习机变种进行结合,方法较为简单。我们今天就说说第二种深度极限学习机,后文所述的深度极限学习机默认是第二种。
和其他深度学习相比,深度极限学习机无需微调,ELM-AE与最终的DELM分类层(或回归层)均采用最小二乘法且只进行一步反向计算得到更新后的权重,因此显著特点是速度快。缺点也很明显,第一,ELM-AE的输入层权值与偏置依旧是随机生成,且不进行反向调整,因此DELM的精度ELM-AE输入权值的影响;第二,采用多隐含层结构的DELM,各层节点数对最终精度有着较大影响;第三,采用最小二乘法进行输出权值一步更新,在样本数较少时比较方便,当处理大样本问题时(比如MNIST),在计算Moore伪逆的时候极大地增加了计算时间与复杂度,并且特别容易出现欠拟合。
今天,我们针对问题2进行解决,利用粒子群对各ELM-AE的输出层权值与偏置进行优化,简称PSO-DELM,并用这个算法进行轴承故障诊断。
1.数据准备
采用凯斯西储轴承故障诊断数据,驱动端,48k采样频率,0HP负载,共10类数据,如下所示。从每类数据中各取100个样本,每个样本长度为864个采样点,共得到1000个样本,然后按照7:3划分训练集与测试集。
2.数据预处理
对上述采集的样本进行FFT特征提取,提取每个样本的频谱幅值作为最终的特征数据,如下图所示。然后归一化,作为DELM与PSO-DELM的输入数据,标签采用onehot编码,即第一类为[1 0 0 0 0 0 0 0 0 0],第二类为[0 1 0 0 0 0 0 0 0 0]。
3.DELM故障诊断分类
首先利用ELM-AE对2中数据集进行逐层无监督预训练,保存各ELM-AE的输出层权重,然后用上述权重初始化DELM,有点类似于堆栈自动编码器。最后结合标签数据进行DELM分类层的训练,ELM-AE与DELM均采用最小二乘法进行。测试集结果如下:
诊断精度为96.67%
4.PSO-DELM故障诊断分类
以最小化分类错误率作为适应度函数,PSO算法的目的是找到一组ELM-AE的初始权重使得DELM的错误率最低,因此适应度进化曲线是一条下降的曲线,表示随着pso优化的,找到更好的初始权重,使得delm的分类错误率越来越低。结果如下
诊断精度为98%。
5.结论
针对DELM中各ELM-AE采用随机初始权值与偏置的问题,采用粒子群算法对其这些ELM-AE的初始权重进行优化,结果表明,优化的DELM具有更好的诊断精度
代码:点这里
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。