开源代码分享(17)-基于足球队训练算法(Football Team Training Algorithm,FTTA)的组合风速预测

参考文献:

[1]Tian Z, Gai M. Football team training algorithm: A novel sport-inspired meta-heuristic optimization algorithm for global optimization[J]. Expert Systems with Applications, 2024, 245: 123088.

1.算法基本原理

        足球队训练算法(Football team training algorithm,FTTA)是一种全新的元启发式优化方法,其灵感来源于足球队中球员集体训练课的安排与进步过程。该算法通过配合模拟足球课,分阶段训练球员,提高球员的能力,通过模拟足球队的训练模式,不断提高算法的收敛能力,最终得到全局最优解。FTTA具有进化能力强、搜索速度快、寻优能力强的特点。这一成果由Tian等人于2024年发表在中科院1区顶级SCI期刊《Engineering Applications of Artificial Intelligence》上。

        FTTA是一种利用模拟高水平足球训练课上球员行为的方法,以达到训练效果的目的。传统足球训练课通常包括集体训练、小组训练和个人额外训练三个主要部分,每部分的具体内容如下:

1.1集体训练

        在训练开始时,球员将在教练的指导下进行集体训练,教练将首先通过一系列的测试(适应度函数)让球员了解自己的水平。然后球员们将根据自己的水平制定自己的集体训练计划。我们将玩家分为四种不同的类型:追随者、发现者、思想家和波动者。在每次迭代中,玩家将随机改变自己的类型。

        (1)追随者

        追随者是当前最佳玩家的热情追随者,他在每个维度都努力追求最好的玩家,希望达到当前最佳玩家的水平,但由于力量的限制,通常每个维度只能随机移动到最好的玩家。计算公式如下:

其中当前最佳玩家被定义为F_{Best}^k,其中k是迭代次数,F_{Best,j}^k是其在维度j上的值;当前玩家被定义为F_{i}^k,i是其玩家编号,F_{i,j}^k是其在维度j上的值,F_{i,j}^k \text{new}是训练后玩家在维度j上的状态。

        (2)发现者

        发现者比追随者更理性。他们不仅看到最好的球员,也看到最差的球员,所以他们不仅向最好的球员努力,而且尽最大努力避免成为最差的球员。计算公式如下:

其中,当前最差的玩家被定义为,k是迭代次数,其中是其在维度j中的值。F_{i,j}^k \text{new}是训练后玩家在维度j上的状态。

        (3)思想者

        思想家比他们前面的更警觉,他们直接看到最好的玩家和最差的球员之间的差距,努力达到每个维度的差距,等式如下:

在维数j中,是当前最佳玩家和最差玩家之间的差值向量,k是迭代次数。

        (4)波动者

        波动者拒绝向任何人学习,他们自己做训练,所以状态会在一定程度上波动。当然,随着训练次数(迭代)的增加。玩家状态的波动越来越小,我们对玩家状态的波动的定义如下:

其中,t (k)是具有t分布的随机数,其自由度是当前的迭代次数,随着自由度的增加,t分布的概率接近中间值(0)变得越来越高,和两端的分布逐渐减少,这将越来越接近正态分布。因此,随着迭代次数的增加,波动的程度会越来越小,并逐渐从全局搜索转向局部搜索。

        集体训练的过程如下图所示:

1.2 分组训练

        集体训练结束后,足球训练过程达到了分组训练的阶段,教练根据球员的特点将球员分为四类(每个维度都是一个特征值):前锋、中场、后卫和守门员。在组训练中,我们使用MGEM自适应聚类方法(MixGaussEM),通过聚类方法模拟教练的行为,并根据其自身的特点将人群分为四类。分类的具体形式如下:

        在教练完成分组后,球员将学习或与组中的其他球员交流。我们将群体训练定义为三种最佳状态:最优学习、随机学习和随机交流。我们将学习概率定义为pstody,通信概率为pcomm,玩家在每次迭代中随机选择状态。

        (1)最优学习

        在每个维度中,玩家都有一定的概率直接学习群体中最佳玩家的能力值。该公式的定义如下:

式中,F^{k, team_l}_{best}为第L组中最优秀的选手,k为迭代次数,teaml代表第l组,F^{k, team_l}_{best,j}为第l组中最优秀选手的第j维,F^{k, team_l}_{i,j}\text{new}为第j维选手经过最优学习后的状态。

        (2)随机学习

        在每个维度中,玩家都有一定的概率直接学习群体中任何一个随机玩家的能力值。该公式的定义如下:

式中,F^{k, team_l}_{Random}为第l组中的随机参与者,k为迭代次数,teaml代表第l组,F^{k, team_l}_{Random,j}为第l组中随机参与者的第j维,F^{k, team_l}_{i,j}\text{new}为随机学习后参与者在第j维中的状态。

        (3)随机交流

        在训练中,学习只是一部分,两名队员之间的交流对于能力的提高更为重要。在每个维度中,玩家都有一定的概率与小组中的任何玩家进行交流。

        当rand≤pcomm时,公式定义如下:

        当rand > pcomm时,公式定义如下:

        (4)随机误差

        我们假设在小组训练过程中,有一定的发生错误的概率,也就是说,他们意外地学习了其他维度的内容。这种情况发生的可能性非常低,但它是真实的和客观的。我们将误差概率定义为perror。

        分组训练的流程如下:

1.3.个人额外训练

        在小组训练结束后,需要重新计算新的适应度值,用较好的适应度值代替较差的适应度值来更新球员的状态。更新后,教练会选出最好的球员,让他进行练习,使他更好,使他能更好地驱动他人的训练状态,训练公式如下:

        柯西-高斯联合分布用于描述个体的额外训练,k为迭代次数。选择高斯-柯西分布的原因是,每个人的水平一般都不是高的早期训练,所以最好的球员有一个更大的概率得到更大的晋升,此时,柯西分布函数占很大比例,可以有效地为球员提供一个大范围的改进,这有利于全球搜索。随着迭代次数的增加,玩家能力的提高变得越来越困难,此时高斯分布所占比例相对较大,玩家的提升范围逐渐减小,更有利于局部搜索。

1.4算法流程图和伪代码

        FTTA算法流程图如下:

        算法的伪代码如下:

2.算法测试结果

3.基于FTTA算法的组合风速预测模型

        所提的风速预测系统主要由基于FTTA的数据预处理和组合预测(CP)两部分组成。

3.1 数据预处理

        第一部分是数据预处理,主要由变分模式分解(VMD)和FTTA组成。FTTA用于优化惩罚因子(α)和分解层 (k)的VMD,以获得最佳的数据预处理结果。我们将分解后的IMF分量中波动最大的分量视为白噪声,并将其删除,并重组其他IMF分量t o得到去噪后的时间序列数据。

        目标函数: FTTA-VMD模型是一种先进的数据预处理模型。在该模型中,FTTA的适应度函数为包络熵的最小值,包络熵表示t 他具有原始信号的稀疏特征。当IMF中噪声越多,特征信息越少时,包络熵越大,而包络熵则越小。

        在信号x (i)中,包络熵Ep的计算公式如下:

3.2组合预测模型

        第二部分是组合预测模型,主要由ARIMA(Ray et al.,2023)、GRU(Huang & Qian,2023)、CNN(Sagar等)四种预测方法组成 l.,2024)、BP(Du等人,2024)和基于FTTA的无约束加权算法。每种预测方法的原理都是不同的(三个神经网络的原理不同 的方法)。在不同的数据集中,有些方法的预测结果较好,而有些方法的预测结果较差。因此,为了保证预测的准确性和稳定性,FTTA-CP (C 提出了综合预测模型。得到预测结果后,通过统计指标判断各模型的预测性,并进行无约束加权t hrough FTTA对精度差的模型权重小,对精度高的模型权重大,从而实现预测度的优化。

        目标函数:作为一种组合预测模型,FTTA-CP模型的目标函数是使预测精度(MAPE值)最大化,最终结果是最优算法 每个预测模型的Ht(x(1)、x (2)、x (3)、x)(4))。

        在传统的约束加权模型中,每个模型的权值在0到1之间,所有权值的和要求为1,但在FTTA-CP中,采用无约束加权方法 ,我们分别设置了-5和5的上、下限。没有要求权重的和或权重的正值和负值,所以可以得到更好的结果(Tian & W ang, 2022).

        基于FTTA算法的组合风速预测的流程图如下:

3.3结果分析

4.matlab代码

        FTTA算法代码获取链接如下:

【免费】足球队训练算法(FootballTeamTrainingAlgorithm,FTTA)的(matlab代码)资源-CSDN文库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/520632.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(学习日记)2024.04.01:UCOSIII第二十九节:消息队列实验(待续)

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

独角数卡对接码支付收款教程

1、到码支付后台找到支付配置。2、将上面的复制依次填入,具体看下图,随后点立即添加 商户ID商户PID 商户KEY异步不能为空 商户密钥商户密钥

jenkins_Pipeline使用测试

jenkins—Pipeline使用测试 安装jenkins # jar包启动 https://sg.mirror.servanamanaged.com/jenkins/war-stable/2.346.1/jenkins.war https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz [rootvm ~]# tail /etc/profile ... export JAVA_HOME/opt…

51单片机入门:LED点阵屏

LED点阵屏介绍 LED点阵屏由若干个独立的LED组成,LED以矩阵的形式排列,以灯珠亮灭来显示文字、图片、视频等。LED点阵屏广泛应用于各种场合,如:广告屏、公告牌等。 分类: 按颜色:单色、双色、全彩&#x…

GPT4解除限制使用次数了!GPT5预计要推出了!

今天登录GPT Plus的时候,出现了如下提示: With DALLE,browing and analysis Usage limits may apply GPT4已经没有了数量和时间限制的提示。 更改前:每 3 小时限制 40 次(团队计划为 100 次);更改后&#…

尚硅谷html5+css3(1)

1.基本标签&#xff1a; <h1>最大的标题字号 <h2>二号标题字号 <p>换行 2.根标签<html> 包括<head>和<body> <html><head><title>title</title><body>body</body></head> </html> 3…

C语言-预定义符号

编译和链接&#xff08;基础速通版&#xff09;-CSDN博客https://blog.csdn.net/Jason_from_China/article/details/137182220 预定义符号 包含 C语⾔设置了⼀些预定义符号&#xff0c;可以直接使⽤&#xff0c;预定义符号也是在预处理期间处理的。 __FILE__ //进⾏编译的…

二叉树中所有距离为k的节点

题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 从目标节点的左孩子&#xff0c;右孩子&#xff0c;父亲节点出发去找&#xff0c;左孩子 右孩子 做法简单 &#xff0c; 主要是父亲节点 &#xff0c;因此我们需要知道每个节点的父亲节点&am…

我的C++奇迹之旅:内联函数和auto关键推导和指针空值

文章目录 &#x1f4dd;内联函数&#x1f320; 查看内联函数inline方式&#x1f309;内联函数特性&#x1f309;面试题 &#x1f320;auto关键字(C11)&#x1f320; auto的使用细则&#x1f309;auto不能推导的场景 &#x1f320;基于范围的for循环(C11)&#x1f320;范围for的…

测距神器——无影无踪的超声波!

原文来自微信公众号&#xff1a;工程师看海&#xff0c;与我联系&#xff1a;chunhou0820 看海原创视频教程&#xff1a;《运放秘籍》 大家好&#xff0c;我是工程师看海&#xff0c;原创文章欢迎点赞分享&#xff01; 1880年居里兄弟发现&#xff0c;在石英晶体的特定方向上施…

AI Agent在芯片设计领域的未来应用

文章目录 (一)首先是“AI Agent”的Agent怎么理解(二)其次是“AI Agent”的AI怎么理解1) 联邦学习/密文计算/密码学算法/MPC2) sklearn 库所有算法的MPC化实现密文计算安全改造和性能优化3 )NLP Bert 推荐召回(三)最后,“AI Agent”+芯片设计,怎么理解认识一个新概念…

解压缩软件哪个好用 Mac免费解压软件哪个好 解压软件推荐 beeterzip免费下载

解压缩软件在Mac办公中是必不可少的&#xff0c;不仅能够节省时间和内存&#xff0c;更能提升传输效率。虽然Mac自带的解压缩软件归档实用工具可以对zip文件进行解压&#xff0c;但是对于他格式文件就无能为力了。 因此&#xff0c;想要满足多类型文件解压缩需求&#xff0c;可…

基于vue+node.js导师选择分配管理系统

开发语言 node.js 框架&#xff1a;Express 前端:Vue.js 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 开发软件&#xff1a;VScode .设计一套导师选择管理系统&#xff0c;帮助学校进行导师选择管理等繁琐又重复的工作&#xff0c;提高工作效率的同时&#xff0c…

多线程-相关概念

程序、进程与线程 程序&#xff08;program&#xff09;&#xff1a;为完成特定任务&#xff0c;用某种语言编写的一组指令的集合。即指一段静态的代码&#xff0c;静态对象。 进程&#xff08;process&#xff09;&#xff1a;程序的一次执行过程&#xff0c;或是正在内存中运…

linux文件权限与数字转化

chmod命令——change mode&#xff0c;可以对特定文件文件夹权限进行更改 这里我们看到&#xff0c;当执行了chmod u-x try.sh后&#xff0c;try文件底色变为白色&#xff0c;即为其执行权限被“减去” 在linux系统中&#xff0c;权限的减去是通过权限的数字表示来实现的&#…

【可靠性】陷阱电荷对TDDB影响的多尺度模拟

【From Accelerated to Operating Conditions: How Trapped Charge Impacts on TDDB in SiO2 and HfO2 Stacks】 文章总结&#xff1a; 本研究深入探讨了在SiO2和HfO2介质堆叠中&#xff0c;陷阱电荷对时间依赖介电击穿&#xff08;TDDB&#xff09;现象的影响。通过引入载流子…

【MySQL的详细使用教程】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

Redis高可用和持久化

一、Redis高可用 在web服务器中&#xff0c;高可用是指服务器可以正常访问的时间&#xff0c;衡量的标准是在多长时间内可以提供正常服务&#xff08;99.9%、99.99%、99.999%等等&#xff09;。 但是在Redis语境中&#xff0c;高可用的含义似乎要宽泛一些&#xff0c;除了保证提…

Pytorch转onnx

pytorch 转 onnx 模型需要函数 torch.onnx.export。 def export(model: Union[torch.nn.Module, torch.jit.ScriptModule, torch.jit.ScriptFunction],args: Union[Tuple[Any, ...], torch.Tensor],f: Union[str, io.BytesIO],export_params: bool True,verbose: bool False…

《QT实用小工具·十六》IP地址输入框控件

1、概述 源码放在文章末尾 该项目为IP地址输入框控件&#xff0c;主要包含如下功能&#xff1a; 可设置IP地址&#xff0c;自动填入框。 可清空IP地址。 支持按下小圆点自动切换。 支持退格键自动切换。 支持IP地址过滤。 可设置背景色、边框颜色、边框圆角角度。 下面…