截止到本期MATLAB机器学习分类全家桶,一共发了6篇,参考文章如下:
1.机器学习分类全家桶,模式识别,故障诊断的看这一篇绝对够了!MATLAB代码
2. 再更新,机器学习分类全家桶,模式识别,看这一篇绝对够了!MATLAB代码
3.2024年新算法优化CATBOOST参数实现分类,MATLAB与Python魔幻联动
4.10种2024新算法实现特征选择同时优化XGBOOST参数分类,MATLAB代码
5.MATLAB调用Python实现Lightgbm分类和2024新算法参数寻优,同时优化特征选择,新意十足
6.几个小创新模型,Transformer与SVM、LSTM、BiLSTM、Adaboost的结合
本期在分类全家桶内继续更新三种不同组成结构的Transformer-LSTM。
-
第一种:并行Transformer-LSTM。
-
第二种:串行Transformer-LSTM。
-
第三种:串行LSTM-Transformer。
以上三种格式,大家自行斟酌使用,这里只探讨代码实现方式,不对其合理性过多解释。
目前整个分类全家桶包含目录如下:

注意,此全家桶代码包含了自注意力机制(selfAttentionLayer)和Transformer模型,该函数只有2023b及以上版本的matlab才有,因此请小伙伴自行下载2023b及其以上版本的matlab。
MATLAB2023b安装包下载链接:
https://pan.baidu.com/s/1lRI4T88INzSSaFMazVaSWA?pwd=618g
一、Transformer 模型概述
Transformer 作为一种创新的神经网络结构,深受欢迎。采用 Transformer 编码器对光伏、负荷数据特征间的复杂关系以及时间序列中的长短期依赖关系进行挖掘,可以提高光伏功率、负荷预测的准确性。Transformer 编码器一般由多个编码器层堆叠而成,具体架构如图所示。每个编 码器层包括注意力子层和前馈神经网络子层,其中注意力子层包括多头自注意力机制和残差连接与层归一化,前馈神经网络子层包括前馈神经网络和残差连接与层归一化。关于Transformer模型介绍网上有很多博主都讲解的不错,本期主要为代码实现。

Transformer架构
二、Transformer与LSTM的优缺点
LSTM和Transformer各自具有独特的优势,并在不同的任务中发挥着重要作用。LSTM通过门控机制有效捕捉长期依赖关系,适用于处理长序列数据;而Transformer则具有强大的并行化能力和全局信息捕捉能力,适用于处理大规模序列数据。在实际应用中,我们可以根据任务的特点和需求选择合适的模型。也可以将两种模型进行结合,取长补短,优势互补。
三、实验部分
案例数据:
本文采用的数据是将西储大学轴承数据进行VMD分解后,在智能算法优化VMD参数的基础上,提取最佳IMF分量的9个指标而构成的。分别是:均值,方差,峰值,峭度,有效值,峰值因子,脉冲因子,波形因子,裕度因子。更多关于数据的来源,可以看这篇文章:保姆级教程之VMD-CNN-BILSTM轴承故障诊断,MATLAB代码。
但如果直接替换自己的数据,就没必要看了这个数据来源了。无非就是前9列是特征列,最后一列是标签列,只要你的数据也是这样的形式,就很好替换!
结果展示
每种方法的精度不一致,与自身的参数有关。
一般去调整,“隐含层节点个数,学习率,训练次数,正则化参数”。调整这几个参数,就完全够用了。现在结合一些智能优化算法优化这些机器学习预测的,也无非就是调整一下这几个参数而已。
这里的参数,作者只是调了个大概,不至于很差。对于精度差的,并不代表这个方法就不好!大家可以调整参数已达到更好的效果!
-
第一种:并行Transformer-LSTM。
先看网络结构:

数据信号同时输入LSTM层(左侧),Transformer网络(右侧),最后对Indexing层的输出进行拼接,再经过一个全连接层,最后进行输出。
分类结果展示:


-
第二种:串行LSTM-Transformer。
先看网络结构:

分类结果展示:


-
第三种:串行Transformer-LSTM。
先看网络结构:

分类结果展示:


已将本文代码添加到机器学习分类全家桶。
下方卡片关注后获取
827

被折叠的 条评论
为什么被折叠?



