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

文章介绍了一种新颖的算法——足球队训练算法(FTTA),它模仿足球训练课程设计,用于解决全局优化问题。FTTA结合集体、分组和个人训练,通过模拟不同球员类型的学习和交流策略,优化预测模型如风速预测。算法流程详细且包括Matlab代码示例,展示了其在实际应用中的潜力。
摘要由CSDN通过智能技术生成

参考文献:

[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文库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

配电网和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值