MATLAB版本transformer、CNN-transformer-LSTM、SHAP分析!工具箱v5先行版本发布

其他   2024-07-13 16:52   中国  
单个=

点击上方蓝字关注我们


  
近期有一些MATLAB相关的博主,发布推文说matlab也能实现transformer了,个人也比较好奇,一看代码果然不开源,而且一个代码就售价上百元之多,而且他们几个大v号一发布就和复制粘贴一样,不知道是谁抄袭谁的,但是价钱却是卖得一个比一个更贵。
无一例外他们的介绍都贴了这个网络结构图,其实MATLAB的网络结构图是很好复现的,因此我自己一顿复现,结果还真复现出来了,这不又节省了一百块,群里的小伙伴调侃说和他们去抢生意hh

俗话说挡人财路如伤人父母,真怕会被找麻烦,因此特此仅把这个网络部分的部分展示给大家,位置编码层需要2023b才能使用,MATLAB深度学习的部分都差不多,主要是网络层的差异,相信很多有基础的小伙伴很快就能复现了~

  layers = [       sequenceInputLayer(size(train_x_feature_label,2),Name="input")       positionEmbeddingLayer(size(train_x_feature_label,2),maxPosition,Name="pos-emb")       additionLayer(2,Name="add")       selfAttentionLayer(attention_head(1),attention_head(2))       dropoutLayer(0.1)                                 % 防止过拟合       selfAttentionLayer(attention_head(1),attention_head(2))       dropoutLayer(0.1);                             fullyConnectedLayer(1)       regressionLayer];
       lgraph = layerGraph(layers); layers = connectLayers(lgraph,"input","add/in2");


不过不知道大家注意到没有,上面部分网络只是transformer的encoder部分,和网上随便一找的transfomer图相比,没有decoder部分,和真正的transformer还是有挺大区别的,只能说是transformer的一部分,为了不误导大家我还去咨询了相关人士,说这样做可能是没什么问题,因为我们主要拿来做回归呀或者数据类型的时序预测,只用encoder部分说不定效果还会更好。

考虑到很多小伙伴基础可能一般,就算给了能运行的代码换个数据也运行不通,那只能是集成到工具箱里面,让大家可以傻瓜式操作了,因此我还特意在原有的基础上魔改,搞出了itransformer-lstm,之类的新网络,就一些奇奇怪怪的网络放进去了


  

   之前答应小伙伴在9月之前要把四个工具箱都更新到v5版本,同时把相应的手册也更新,目前评价工具箱和聚类降维工具箱是已经更新完毕,但回归分类和时序预测工具箱由于将要更新很多东西,没有那么快就更新完,但很多小伙伴需要,说可以不完善,可以先用,而且也很迫切想试试。目前的进度是新加的算法都能实现,但是导出代码功能还没做出来,就是不能查看到新加的算法源码,结果都能实现,我决定把这一版本先发布,因为有小伙伴就是需要结果,本来也不会怎么去改源码,相信不久之后新加算法的代码导出功能就能加上了,届时再更新,本来更新也很方便就是替换一个文件夹。

    先行版本能够实现的功能和上次宣传的功能基本一致,增加了时间序列概率区间预测等功能,除了下面预计更新的内容,还有一些绘图上的升级,之后还会更新一些新的多种模型的组合算法,以及新的智能优化算法和改进优化算法优化模型超参数。

   RC工具箱最新更新

    加了在回归分类任务里面效果还可以的几个transformer变体网络


    目前支持19种智能优化算法优化trasformer变体网络,回归和分类都支持

    "SSA麻雀搜索算法"    "优化 Transformer-G…"    "位置编码向量数:"    "16"    "  注意力机制头head:"    "8"    "  注意力机制键key:"    "16"

    "  隐藏层神经元gruLa…"    "8"    "   dropoutLayer_r…"    "0.34329"    "   learnrate: "    "0.0024119"

    在之前的基础上增加了多种深度学习分位数回归的概率区间区域方法

   

   MATLAB的SHAP分析也安排上了,目前只有特定模型能实现(bp神经网络、SVM、数模型、高斯回归模型等),如果模型实现不了会有提示语

   可以实现智能优化算法优化模型后再进行SHAP分析


随机种子支持固定和随机两个选项,固定随机种子没次运行结果就会一样,当然如果使用优化算法可能就不一样了

   模型特征重要性绘图可以随机优化,当然要在随机种子不固定的时候


 MT工具箱最新更新

     绘图的部分和RC工具箱一样

随机种子可以选择固定或者随机

     更新了几个transformer变体的算法

    

     这些算法都支持19种智能优化算法对网络结果寻优,亲自实验寻优后预测效果会有明显的提升

    "SSA麻雀搜索算法"    "优化 CNN-iTransfor…"    "位置编码向量数:"    "16"    "  注意力机制头head:"    "4"    "  注意力机制键key:"    "8"

    "  隐藏层神经元lstmL…"    "16"    "   dropoutLayer_r…"    "0.11595"    "   learnrate: "    "0.0078123"

   在众多分解方法里面挑出了几种效果比较好的分解算法,虽然有很多分解方法但不是都适合时序分解,最近试了二十多种分解方法挑出来的

   

  最重要的是增加了概率区间预测功能,能够时序单元时序概率区间预测、多元时序概率区间预测以及多输入多输出概率区间预测

     


自定义概率置信区间,一键式得到评价结果


如果是新粉可能还不了解公众号的工具箱,可以看下工具箱的用途。神器系列的工具箱,只需要几键就可以实现评价、降维、聚类、回归、分类、单元时间序列预测、不可知未来特征的多元时间序列预测,可知未来特征的多元时间序列,多输入多输出问题、回归区间预测、时序区间预测等,且支持一键导出代码,后期可以修改代码,进一步修改和改进。
在今年的9月份国赛,回归分类工具箱RCpredict工具箱、时序工具箱MTpredict工具箱、降维聚类工具箱DrCluster、价工具箱pingjia预计全部更新到V5版本,算法和绘图可视化都会大大更新






评价工具箱


      评价工具箱目前V5版本,以后还会根据用户的需求不断改进功能、增加算法。V3版本的工具箱支持一键导出代码,可以实现30种评价算法,除了前6种常用的评价算法,其余都是自研的新算法,现在有层次分析法、TOPSIS法、熵权法、变异系数法、CRITIC法、主成分分析法、熵权-秩和比法、变异系数-秩和比法、CRITIC-秩和比法、随机TOPSIS法、随机层次TOPSIS法、随机熵权TOPSIS法、随机变异系数TOPSIS法、层次-熵权法、层次-变异系数法、熵权-变异系数法、层次-熵权-变异系数法。







v5版本更新内容

在原来20种评价方法基础上,3种灰色评价方法,4种博弈组合方法和4种正态云组合方法共11种,都是根据核心论文复现的,理论性强且应用新的评价方法


可视化方面,除了评分结果可视化,还新增了权重指标可视化,新增可视化的绘图,支持随机美化样式



附带详细的使用手册,里面有详细的使用方法以及工具箱内出现算法的公式原理。工具箱更新后,使用手册也会附带更新。



【视频讲解】B站录制了使用详细的视频,可以扫码观看或者点击链接 https://www.bilibili.com/video/BV1a94y147Qf/

可以观看视频的1-4节

获取方式】扫码获取或者点击链接

https://mbd.pub/o/bread/Y56amJ1t


降维聚类工具箱


    降维聚类工具箱 目前V5版本,支持一键导出代码,可以实现12种降维方法分别是nnmf、PCA、SVD、t-SNE、autoencoder、KPCA、SPCA、kernelPCA、MDS、isomap、SNE、autoencoder-EA,有多种聚类方法kmeans聚类、kmedoid聚类、GMM高斯聚类、层次聚类、FCM聚类、ISODATA聚类、canopy聚类、kshape聚类、DBSCN聚类、谱聚类、19智能优化算法优化kmeans、优化kmedoid聚类、优化dbscn聚类、优化canopy聚类、优化kshape聚类。




  同时支持19智能优化算法优化kmeans、优化kmedoid聚类、优化SOM聚类、优化dbscn聚类、优化canopy聚类、优化kshape聚类。


   

可以实现带标签数据的降维可视化,以下为葡萄酒数据的PCA降维可视化

以下为葡萄酒数据的自编码降维可视化

手写数据集的高维数据集PCA降维

手写数据集的高维数据集T-SNE降维


 可以实现任意维度的二维数据或者曲线聚类

一维数据聚类


二维数据聚类

维数据聚类

维数据聚类





v5版本更新内容

在原来的聚类算法基础上首先至少更新一种神经网络聚类SOM聚类,聚类效果非常好,并且支持20多种智能优化算法优化SOM网络的超参数,并且会新增2024年发表在Q1期刊上的新型智能优化算法。除了无标签数据的聚类,还能进行有标签数据聚类和降维。

     

无标签的聚类更新了以下聚类评价指标


有标签的数据聚类更新了以下评价指标

一维聚类更新了小提琴图


二维聚类更新了密度直方图



高维聚类更新3维聚类图



    附带详细的使用手册,里面有详细的使用方法以及工具箱内出现算法的公式原理。




【视频讲解】B站录制了使用详细的视频,可以扫码观看或者点击链接 https://www.bilibili.com/video/BV1a94y147Qf/

可以观看视频的1、5~9节

获取方式】扫码获取或者点击链接

https://mbd.pub/o/bread/mbd-Y56ck5lx



分类回归工具箱


    分类回归工具箱现在更新到V5版本支持一键导出代码、一键离散、字符类型数据处理、独热编码功能、四种离群点检测方法分别是3sigma、Zscore、箱线图、孤立森林检测法、六种特征选择方法分别是L1范数、L2范数、树模型、person相关性分析、spearman相关性分析、kendall相关性分析、七种特征变换方法分别是nnmf降维、PCA降维、MDS降维、SPE降维、t-SNE降维、KPCA降维、autoencoder降维。

   能够实现多种回归算法以及分类算法,能够组合出上万种方法,回归算法可以实现多元线性回归、多元LASSO回归、多元岭回归、LSBoost回归、XGBoost回归、高斯回归、高斯核回归、ELM回归、GRNN回归、GAM回归、决策树回归、随机森林回归、SVM回归、BP/MLP回归、LSTM回归、LSTM-attention回归、GRU回归、GRU-attention回归、CNN回归、BiLSTM回归、BiLSTM-attention回归、CNN-LSTM回归、CNN-LSTM-attention回归、CNN-GRU回归、CNN-GRU-attention回归、CNN-BiLSTM回归、CNN-BiLSTM-attention回归、CNN-LSTM-SE注意力机制回归、CNN-LSTM-GRU注意力机制回归包括多种组合算法MLP-RF回归、MLP-DT回归、MLP-SVM回归、SVM-RF回归、优化MLP-RF回归、优化MLP-XGBoost回归、优化LSTM-XGBoost回归、优化LSTM-attention-XGBoost回归、优化BiLSTM-RF回归、优化BiLSTM-attention-RF回归、优化CBiLSTM-XGBoost回归、优化CBiLSTM-attention-XGBoost回归




  分类方法能实现最近邻分类、贝叶斯分类、决策树分类、随机森林分类、SVM分类、BP/MLP分类、LSTM分类、LSTM-attention分类、GRU分类、GRU-attention分类、CNN分类、BiLSTM分类、BiLSTM-attention分类、CNN-LSTM分类、CNN-LSTM-attention分类、CNN-GRU分类、CNN-GRU-attention分类、CNN-BiLSTM分类、CNN-BiLSTM-attention分类、CNN-LSTM-SE注意力机制分类、CNN-LSTM-GRU注意力机制分类、MLP-RF分类、MLP-SVM分类、SVM-RF分类、优化MLP-RF分类、优化BiLSTM-attention-RF分类、优化CBiLSTM-XGBoost分类、优化CBiLSTM-attention-XGBoost分类。




大部分算法支持超参数优化,包括贝叶斯优化以及19种智能优化算法包括SSA麻雀搜索算法、BDO蜣螂优化算法、SCA正余弦优化算法、SA模拟退火优化算法、PSO粒子群优化算法、SO蛇优化算法、POA鹈鹕优化算法、GWO灰狼优化算法、IGWO改进灰狼优化算法、AVOA非洲秃鹰优化算法、CSA变色龙优化算法、GTO大猩猩优化算法、NGO北方苍鹰优化算法、WSO白鲨优化算法,还有近两年新发(CGO混沌博弈优化算法、INFO加权向量均值优化算法、COA浣熊优化算法、RIME冰霜优化算法、KOA开普勒优化算法)

    


预计更新内容

将会新增2024年发表在Q1期刊上的新型智能优化算法。回归结果分析图的样式也会更加多,除了真实-预测曲线对比图,还增加可以随机美化的散点密度图样式,等等

   除此之外V5版本能够实现一键概率区间预测,指标评价以及概率区间随机美化绘图,概率区间预测方法,回归赛道太卷了,形形色色就那样,没太大改进,如果能在回归的基础上实现概率区间预测,那是一个发论文,做课题的非常大的加分项,概率区间预测不仅能实现区间预测,还能得到概率区间范围,能够提供更多的预测信息




    工具箱的前3个区间预测模块都是根据验证集误差建模的,也就是说,这三种方法可以和任意回归方法组合,因此可以实现五万多种回归组合*3种概率区间方法的任意组合=15万种概率区间预测方法,而且设计了分层概率方式,后几种方法的概率区间预测也可以和均值预测组合。概率区间置信度值均可以自己设定。同时提供了matlab和python多种神经网络分位数回归示例,随机森林分位数示例以及python lightgbm、catboost分位数回归示例可以自由设置任意的概率区间,任何数据都适用,并且有丰富的5个评价指标,PICP、PINAW、CWC、MPICD、AIS


光伏数据集:

风电数据集:


房价数据集:



鲍鱼数据集:



  多种概率区间预测的对比,那必须得有,在example_Qregrees.m的对比函数里面




    除外针对分类样本不平衡的问题,设计了一键样本增强的功能,之后生成样本的功能也会推广到回归中



附带详细的使用手册,里面有详细的使用方法以及工具箱内出现算法的公式原理,一共两百多页,随着工具箱的更新也会持续更新。





     【视频讲解】B站录制了使用详细的视频,可以扫码观看或者点击链接 https://www.bilibili.com/video/BV1a94y147Qf/

可以观看视频的1、10~19节

获取方式】扫码获取或者点击链接

https://mbd.pub/o/bread/mbd-ZJWUkphq



时序预测工具箱


        时序预测工具箱目前是V4版本,支持一键导出代码可以实现单时间序列预测、可知未来特征的多元时间序列预测、不可知未来特征的多元时间预测以及非时间序列的多输入多输出序列预测目前保守估计能实现大概二十万多种组合预测算法。



数据处理部分可以实现数据缺失处理以及插值,特征处理方面有六种特征选择方法分别是L1范数、L2范数、树模型、person相关性分析、spearman相关性分析、kendall相关性分析、七种特征变换方法分别是nnmf降维、PCA降维、MDS降维、SPE降维、t-SNE降维、KPCA降维、autoencoder降维。有三种去噪方法VMD去噪、CWT去噪、NLM去噪,同时支持对序列进行分解再预测有VMD分解、EMD分解、EEMD分解、19种智能优化算法优化VMD分解、19种智能优化算法优化CEEMDAN分解。




    在算法层面能实现LSBoost算法、XGBoost算法、高斯核算法、GRNN算法、决策树算法、随机森林算法、SVM算法、BP/MLP算法、LSTM算法、LSTM-attention算法、GRU算法、GRU-attention算法、CNN算法、BiLSTM算法、BiLSTM-attention算法、CNN-LSTM算法、CNN-LSTM-attention算法、CNN-GRU算法、CNN-GRU-attention算法、CNN-BiLSTM算法、CNN-BiLSTM-attention算法,CNN-LSTM-SE注意力机制、CNN-GRU-SE注意力机制,TCN、TCN-LSTM、TCN-GRU、TCN-BiLSTM、有多种组合算法 LSTM-XGB算法、 LSTM-attention-XGB算法、LSTM-SVM算法、LSTM-attention-SVM算法、CNN-XGBoost算法、CNN-BiLSTM-XGB算法、CNN-BiLSTM-attention-XGB算法、CNN-BiLSTM-RF算法、CNN-BiLSTM-attention-RF算法、优化LSTM-XGB算法、优化LSTM-attention-XGBoost算法、优化LSTM-SVM算法、优化LSTM-attention-SVM算法、优化CNN-XGBoost算法、CNN-BiLSTM-XGB算法、优化CNN-BiLSTM-attention-XGBoost算法、优化CNN-BiLSTM-RF算法、优化CNN-BiLSTM-attention-RF算法



 大部分算法支持超参数优化,包括贝叶斯优化以及19种智能优化算法包括SSA麻雀搜索算法、BDO蜣螂优化算法、SCA正余弦优化算法、SA模拟退火优化算法、PSO粒子群优化算法、SO蛇优化算法、POA鹈鹕优化算法、GWO灰狼优化算法、IGWO改进灰狼优化算法、AVOA非洲秃鹰优化算法、CSA变色龙优化算法、GTO大猩猩优化算法、NGO北方苍鹰优化算法、WSO白鲨优化算法。还有近两年新发(CGO混沌博弈优化算法、INFO加权向量均值优化算法、COA浣熊优化算法、RIME冰霜优化算法、KOA开普勒优化算法)



工具箱训练完后可以直接得到预测结果,单时序预测和不可知未来特征的多元时序预测,不需要借助未来的特征,因此在训练过程中,可以直接得到预测的结果。因此可以放心使用序列分解,因为根本不需要未来信息去预测,因此不会存在数据泄露的问题。对于可知未来特征的时序预测的序列分解可能会存在这个问题,其实很多问题分解之后反而不如没有分解的,因此要以数据导向,不要盲目跟风,多试方法才知道数据适合什么。



    预测点个数和自己设置的个数有关,这里会构造滑动窗口可能会要求训练数据不能太少,如果想用比较少的数据预测未来很多个点,可以把得到的预测值带入到真实值然后再训练预测

同样,我们也开发了一套结果对比图,方便大家直接对比多个算法结果,直接把训练好保存的训练文件数据导入就可以得到结果,可以说,你想对比什么算法都可以轻松的对比,在example_timepre.m里面,给大家提供




预计更新内容

将会新增2024年发表在Q1期刊上的新型智能优化算法。回归结果分析图的样式也会更加多,除了真实-预测曲线对比图,还增加可以随机美化的散点密度图样式,等等

      增加趋势项拟合的功能,提高这种趋势项明显的数据的预测精度,消解时序数据的趋势项

 时间序列分解的算法也会新增几种。

 除此之外V5版本能够实现一时序区间预测,多输入多输出概率区间预测,指标评价以及概率区间随机美化绘图,在时序预测的基础上实现概率区间预测,那是一个发论文,做课题的非常大的加分项,概率区间预测不仅能实现区间预测,还能得到概率区间范围,能够提供更多的预测信息


     同样支持10种概率区间预测方法,可以支持任意的区间设置





附带详细的使用手册,里面有详细的使用方法以及工具箱内出现算法的公式原理。




【视频讲解】B站录制了使用详细的视频,可以扫码观看或者点击链接

https://www.bilibili.com/video/BV1a94y147Qf/

可以观看视频的1、20~25节

获取方式】扫码获取或者点击链接

https://mbd.pub/o/bread/mbd-ZJaVm55t


四个工具箱打包更划算!



四个工具打包获取,实惠很多,并且一码通用只需要激活一次

    视频讲解】B站录制了使用详细的视频,可以扫码观看或者点击链接 https://www.bilibili.com/video/BV1a94y147Qf/

可以观看视频的1~26节

获取方式】扫码获取或者点击链接

https://mbd.pub/o/bread/mbd-ZJabmJ9q


全家桶

一键打包公众号过去和未来所有的作品~持续更新中

获取方式】扫码获取或者点击链接

https://mbd.pub/o/bread/mbd-ZJabmJ9v




国赛保奖班


报名2024年的国赛保奖班高阶班,即可获取除课程之外的4款工具箱,非常划算,如果有意向参加2024年国赛的同学可以考虑报名这个,已经购买工具箱的小伙伴也可以减差价报名这个班,不获奖课程费用全退。目前我已经上了第一节基础评价算法课程,后续还会讲解创新型的评价方法,核心论文复现算法,保证高阶班的同学能学到独一无二的东西

数模国赛保奖班正式开课!为了给大家提供最专业的指导,我们特地邀请了往年国赛金牌得主、经验丰富的赛题评审以及资深的高校指导老师,共同组成了2024国赛保奖班的强大教师阵容。同时,课程体系的详细解读让学员们对整个学习路径有了清晰的认识。课程仅通过20+个课时,就可以快速拿奖


详情请看原文链接:国赛保奖救命班系列来啦!三种班型任你选择

扫码进入云顶科研店铺查看更多哦~

-需要了解更多详情可以加助理咨询-


end



扫码关注我们

SCAN THE QR CODE TO


点个在看你最好看


往期精彩回顾      

推荐 | 一键式机器学习|一键实现上万种高效算法组合|轻松解决评价、降维、聚类、回归、分类、时序预测、多输入多输出问题
推荐 | RCpredict_v5!一键实现上万种回归/概率区间/分类算法组合
推荐 |  数点我开发的工具箱

     公众号【Lvy的口袋】 QQ交流3群【674205165】前两个交流群已满

Lvy的口袋
Lvy的学习记录和生活分享 主营MATLAB科研干货 公众号好玩的MATLAB的小号
 最新文章