声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~
目录
原理简介
数据介绍
结果展示
完整代码
之前一期推文里已经推出了利用Matlab实现Transformer预测模型的方法:
Matlab终于能实现Transformer预测了
不过话又说回来,单单放一个Transformer模型好像没有创新性,毕竟是别人提出的算法。同时,很多小伙伴也有自己的改进算法,想要与Transformer模型结合到一起,也有部分小伙伴后台留言说想要进一步提高预测精度。
现在网上大部分的Transformer模型都是基于Python的,但是Python对于小白来说很不友好,新手小白更推荐用Matlab(大神勿扰),这里解释下两点原因:
1.Python需要配置环境、安装各种编译器等等,有时版本还难以统一,导致某些包无法运行。更重要的是,这么多Transformer模型真真假假,有些基于Tensorflow,有些基于Pytorch,万一少了Transformer模型的某个部分,你能分辨出来吗?
2.目前的智能优化算法均是基于Matlab实现,极少有Python版本,尤其是最新的优化算法。如果想将优化算法与Transformer模型结合起来,那么需要尽量在同一平台上实现。
因此,本期推文教你利用智能优化算法实现改进Transformer模型,同时提供与原Transformer模型的对比,包含柱状图、两张雷达图、二维散点图等等,非常容易吸引审稿人~
当然,此类模型知网上也还没有人用过,属于尚未发表的创新点,大家替换上自己的数据集,paper不就蹭蹭发了吗~
原理简介
以下内容没有任何公式,可放心查看!
首先,选择一种优化算法。我们之前发过很多2024年的新算法,比如鳗鱼-石斑鱼优化算法、班翠鸟优化算法等等,作者在这里选择了于2024年3月发表在SCI人工智能一区顶刊《Artificial Intelligence Review》上的黑翅鸢优化算法BKA,这个算法简洁明了,性能也不错,改进的空间也很大,因此选择这一算法对Transformer模型进行改进与优化。当然,小伙伴们想要换成其他算法也是非常方便的~
想要了解BKA算法原理小伙伴可以查看这篇推文:
2024年SCI一区新算法-黑翅鸢优化算法(BKA)-公式原理详解与性能测评 Matlab代码免费获取
再简单说下Transformer模型:
Transformer是2017年由Google团队针对机器翻译任务所提出来的模型,它没有采用卷积神经网络或者循环神经网络的结构,而是一个完全基于自注意力机制的模型,主要结构为位置编码、编码器、解码器和前馈网络。其优势就是高度并行化提高计算效率,可以捕获长时间依赖关系,更好地解决长时依赖问题。
在我们的实验中,原始Transformer模型设置最大训练次数为50次,初始学习率为0.01,L2正则化系数为0.005,自注意力机制中的头数为4,因此每个头的键的通道数为4*32。
但是,原始Transformer模型需要人为设置参数,通常依据工程经验来确定,工作量较大且较为繁琐,若模型拥有过多超参数则人工难以寻找最优参数组合。
因此,采用BKA算法优化Transformer中的自注意力机制头数、学习率、正则化系数三个超参数,目标函数值为MAPE,也就是使其误差最小。
更换优化算法也非常方便,只需满足BKA算法的调用格式,查找替换即可更换自己的优化算法。
数据介绍
本期推文采用的案例数据是经典的多变量时间序列预测数据集,是为了方便大家替换自己的数据集,各个变量采用特征1、特征2…表示,无实际含义,最后一列即为输出。
更换自己的数据时,只需最后一列放想要预测的列,其余列放特征即可,无需更改代码,非常方便!
结果展示
首先训练原始未改进的Transformer模型,再训练经BKA优化后的Transformer模型,设置最大训练次数均为50次,得到的结果如下所示:
预测效果对比图:
迭代曲线图:
柱状图:
需要注意的是,因为MAPE是百分制的,所以值非常小,因此相比于MAE、RMSE指标其值过小而看不出,这是非常正常的。
雷达图1:
雷达图2:
二维散点图:
网络结构图:
最后,运行完成后控制台中会显示各个模型的误差与预测指标。
可以看到,优化后的Transformer模型精度有了很大的提高,误差明显减小,出的图片也非常美观。
以上结果展示中所有图片,作者都已精心整理过代码,都可以一键运行main直接出图!不信的话可以看下面文件夹截图,非常清晰明了!
适用平台:Matlab2023b及以上,没有的文件夹里已经免费提供安装包,直接下载即可!
完整代码
想要以上Matlab代码的,可以直接点击推文左下角“阅读原文”,或者后台回复关键词,不区分大小写:
CXYHH
(先前已经购买过Transformer模型的小伙伴,可提前私聊提供购买截图后找我领取5折优惠券)