目录
引言
注意熵(Attention Entropy,翻译可能不准确哈,请谅解)于2023年发表在顶级期刊 IEEE trans系列-IEEE Transactions on Affective Computing(影响因子:11.2)。注意熵首次提出并运用于心跳间隔时间序列,从利用熵值表征不同的状态。而实际上,心跳信号的本质是时间序列,那么注意熵可用于其他时间序列中,如:电能质量数据、振动数据、风速、功率、声音、温度、交通、水流、地震波等等,您能想到的时间序列皆有可能。目前,注意熵是一个无参数的方法,适应性很强,基于注意熵的研究还不多。不要犹豫,快来尝试。
基于熵值理论的分析方法可以不经过数据的分解或变换,直接度量数据的复杂度,可完成不同时间序列的分类。解决这类问题主要有两步:1.利用熵的方法从信号中提取信息,即信号的熵值为故障特征;2.基于提取的熵值,利用机器学习方法作为分类器进行识别。
本期推出注意熵(暂命名)及其5种多尺度熵结合7种机器学习方法进行时序分类。以时序分类种的机械设备的状态识别/故障诊断为例。
注意熵及其5种多尺度(可能没有参考文献,具有一定的首创性)。5种多尺度的理论知识在中、英文期刊都有很多,可以参考其他论文,本期不在赘述。
注意熵(Attention Entropy),
多尺度注意熵(Multiscale Attention Entropy),
层次注意熵(Hierarchical Attention Entropy),
复合多尺度注意熵(composite multiscale Attention entropy),
精细复合多尺度注意熵(refined composite multiscale Attention entropy),
时移多尺度注意熵(time-shift multiscale Attention entropy)
7种机器学习方法:
极限学习机(Extreme Learning Machine,ELM)
支持向量机(Support Vector Machine, SVM)
决策树(Decision Tree,DT)
长短时记忆网络 LSTM
双向长短时记忆网络 BiLSTM
门控循环网络 GRU
概率神经网络 PNN
暂拟题目:xxx是设备/对象的名字
1. 基于注意熵的xxx的状态识别/故障诊断
2. 基于多尺度注意熵的xxx的状态识别/故障诊断
3. 基于复合多尺度注意熵的xxx的状态识别/故障诊断
4. 基于精细复合多尺度注意熵的xxx的状态识别/故障诊断
5. 基于时移多尺度注意熵的xxx的状态识别/故障诊断
6. 基于层次注意熵的xxx的状态识别/故障诊断
参考文献:
-
J. Yang, G. I. Choudhary, S. Rahardja and P. Fränti, "Classification of Interbeat Interval Time-Series Using Attention Entropy," in IEEE Transactions on Affective Computing, vol. 14, no. 1, pp. 321-330, 1 Jan.-March 2023, doi: 10.1109/TAFFC.2020.3031004.
-
陈飞,王斌,刘婷,等.基于时移多尺度注意熵和随机森林的水电机组故障诊断[J].水利学报,2022,53(03):358-368+378.DOI:10.13243/j.cnki.slxb.20210941.
02. 实操
数据集
本文使用故障识别和诊断任务中经典的凯斯西储大学CWRU数据集。随机选择了5类状态(当然可以加入更多的状态),选用DE端的振动数据,暂且命名为正常,故障1,故障2,故障3,故障4。设置每个样本长度为1024,每类状态共100个样本,总样本大小为:500*1024。即样本数*样本长度。
样本分割设置了重叠个数,可以随意选择重叠个数进行样本划分。非重叠即为重叠个数为0的情况,具体的原理如下:
非重叠:
重叠:
特征提取
计算每个样本的熵值(以上6种熵可随意切换),形成500*n的特征空间,将特征输入到后续的分类器中。对于散度熵而言,n=1,对于多尺度熵而言,n=你设置的时间尺度。
分类器
将上述特征空间以一定的比例,划分了训练集、测试集,可非常方便地输入到任何分类器中。
暂时集成了7种常用的分类器(可随意切换,也可自行添加其他分类器):
-
极限学习机(Extreme Learning Machine,ELM)
-
支持向量机(Support Vector Machine, SVM)
-
决策树(Decision Tree,DT)
-
长短时记忆网络 LSTM
-
双向长短时记忆网络 BiLSTM
-
门控循环网络 GRU
-
概率神经网络 PNN
为了消除随机性带来的影响,使结果更具说服力,模型运行了多次,每次运行都随机选择新的训练集和测试集,以平均结果作为最后的结果。
诊断流程
故障识别、诊断流程图大致如下:
多尺度注意熵MAttEn-决策树DT
结果展示:
不同状态对比
混淆矩阵及分类结果图
特征值 和 多次运行结果保存在mat中。可以方便使用matlab,python调用和查看这里考虑快速验证代码和算法,仅运行了2次,可根据实际需要修改。可以看到各状态的特征类间分离明显,类内高度聚合。
友情提示
1.理论上,该代码可适用于所有时间序列分类数据集,仅需将数据格式转换成:样本数N x 特征个数M。因此,可以浅显的理解:多分类问题实质是一个数据格式转换过程;
2.理论上,该代码可替换的部分只有:数据加载和参数设置。好处是:代码修改量极少,复用率高;
3.如有matlab基础语法和代码bug问题,请多看资料,百度或者GPT解决;
4.如有其他专业疑问,请多阅读相关文献。
03. Matlab代码获取
声明:
1.对专业问题的理解受限于个人学术能力,必然有未尽之处,如有疑义请随时交流;
2.代码健壮度、效率和精准度等受限于个人编程能力,如有问题请随时交流;
3.文中有一些内容引自网络,会注明出处或引为参考文献,难免有未尽之处,如有不妥,请随时联系删改。
Matlab代码下载
微信搜索并关注-优化算法侠,或扫描下方二维码关注,以算法名字搜索历史文章即可下载。
【时序分类|源自顶刊】注意熵Attention Entropy及其5种多尺度熵+7种分类器的状态识别/故障诊断-Matlab代码
点击链接跳转:
cec2022测试函使用教程及matlab代码免费下载
绘制cec2017/018/2019/2020/2021/2022函数的三维图像教程,SO EASY!
215种群智能优化算法python库
求解cec测试函数-matlab
解决12工程设计优化问题-matlab
求解11种cec测试函数-python
用于改进所有优化算法:21种混沌映射方法-混沌初始化(附matlab代码)
沙场大点兵:24种信号分解方法(附matlab代码)
沙场大点兵:27种一维数据转换成二维图像的方法-matlab代码沙场大点兵:27种一维数据转换成二维图像的方法-matlab代码https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486260&idx=1&sn=81b1970cb89364c0289ccdfb403e5388&chksm=c12be731f65c6e273a85456326b503b7f35d9f035405050932ff1926e0b1bfa8076b1bc2d1f2&token=25423484&lang=zh_CN#rd