开源代码分享(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文库

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

练习14 Web [极客大挑战 2019]Upload

phtml格式绕过,burp修改content-type绕过,常见的文件上传存放目录名 题目就叫upload,打开靶机 直接上传一个图片格式的一句话木马,返回如下: 提交练习5和9中的两种可以执行图片格式php代码的文件,修改con…

前端三剑客 —— CSS (第四节)

目录 内容回顾: 1.常见样式 2.特殊样式 特殊样式 过滤效果 动画效果 动画案例: 渐变效果 其他效果: 多列效果 字体图标(icon) 内容回顾: 1.常见样式 text-shadow x轴 y轴 阴影的模糊程度 阴影的…

蓝桥杯-冶炼金属(二分求最大最小)

P9240 [蓝桥杯 2023 省 B] 冶炼金属 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 二分做法&#xff1a; #include<bits/stdc.h> using namespace std; #define int long long const int N 1e410; int n,a,b; int v[N],cnt[N]; int check(int x){for(int i1;i<n;i…

JS详解-设计模式

工厂模式&#xff1a; 单例模式&#xff1a; // 1、定义一个类class SingleTon{// 2、添加私有静态属性static #instance// 3、添加静态方法static getInstance(){// 4、判断实例是否存在if(!this.#instance){// 5、实例不存在&#xff0c;创建实例this.#instance new Single…

[AIGC] SpringMVC, Filter, Interceptor之间关系详解

在Web应用开发过程中&#xff0c;我们经常需要处理各样的HTTP请求和响应。在Spring框架中&#xff0c;我们主要借助SpringMVC、Filter和Interceptor来处理这些任务。那么&#xff0c;这三者之间有什么关系&#xff0c;又分别扮演着什么角色呢&#xff1f;本文将带你一探究竟。 …

VS Code 配置 cmake

CMake 用法参考 CMake学习 cmake使用详细教程&#xff08;日常使用这一篇就足够了&#xff09;_cmake教程-CSDN博客 手动添加 CMake 编译器的搜索路径 如果没有设置上面的路径&#xff0c;有些编译器是找不到的 指定cmake 生成文件的路径 生成makefile 等文件的路径 可以指…

Linux网卡IP地址配置错误的影响

在Linux系统中&#xff0c;网络配置是保持系统顺畅运行的关键一环。正确配置网卡的IP地址对于确保网络通信的准确性和效率至关重要。然而&#xff0c;如果在这个过程中发生错误&#xff0c;可能会带来一系列问题。让我们一起探讨一下&#xff0c;如果Linux网卡的IP地址配置错误…

网络基础(1)

以下是网络部分整体的学习路线&#xff1a; 网络的发展历程 因为人与人之间是需要合作去完成一些任务的&#xff0c;这也就意味着计算器之间也是需要互相"沟通"的。因为计算机也是人所使用的工具&#xff0c;人都需要互相协作&#xff0c;也就注定了计算机也是需要互…

Toyota Programming Contest 2024#4(AtCoder Beginner Contest 348)(A~D)

A - Penalty Kick i,1~N。如果 i 是 3 的倍数输出x&#xff0c;否则输出o #include <bits/stdc.h> //#define int long long #define per(i,j,k) for(int (i)(j);(i)<(k);(i)) #define rep(i,j,k) for(int (i)(j);(i)>(k);--(i)) #define debug(a) cout<<#…

你离涨薪只差一步,深入Linux内核架构与底层原理,让你薪资疯长

第一章linux总览 第二章Linux内核架构 第三章内核数据结构 第四章Linux系统的启动 第五章进程(重点) 第六章内存管理(重点) 第七章安全 第八章网络(重点) 自我介绍一下&#xff0c;小编13年上海交大毕业&#xff0c;曾经在小公司待过&#xff0c;也去过华为、OPPO等大厂&…

【每日刷题】Day3

【每日刷题】Day3 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; 目录 1. 69. x 的平方根 - 力扣&#xff08;LeetCode&#xff09; 2. 70. 爬楼梯 - 力扣&#xff08;LeetCode&#xff09; 3. 118. 杨辉三…

苹果终止电车项目后大裁员,押注家用机器人,这会是Next Big Thing吗?

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站https://ai.hzytsoft.cn/ 更多资源欢迎关注 新的出路&#xff0c;苹果能让我们耳目一新吗&#xff1f; 苹果公司压力山大&#xff0c;何以…