当前位置: 首页 > news >正文

MetaPerceptron:基于200+种优化算法的多层感知器MLP参数优化-附Python免费代码

引言

多层感知器(MLP)仍然是神经网络的基础架构,因其对输入和输出之间复杂的非线性关系进行建模的能力而得到广泛认可。尽管取得了成功,但在依赖传统梯度下降优化时,MLP训练过程经常面临局部最优敏感性和过拟合等挑战。元启发式优化算法最近成为优化MLP训练的强大替代方案。

本文介绍了MetaPerceptron,这是一个标准化的开源Python框架,旨在将元启发式优化算法与MLP无缝集成,支持回归和分类任务,其中包括200多种元启发式优化算法训练的MLP模型(GA、PSO、WOA、TLO、DE等)和梯度下降训练的MLP模型(SGD、Adam、Adelta、Adagrad等)。该成果2025年4月发表在中科院2区,JCR1区 SCI期刊Computer Standards & Interfaces。

图片

MetaPerceptron构建在PyTorch、Scikit-Learn和Mealpy之上。通过这种设计,MetaPerceptron促进了MLP优化的标准化,结合了基本的机器学习实用程序,如模型预测、特征选择、超参数调整等。通过提供超过200多种元启发式优化算法, MetaPerceptron使用户能够在不重新实现的情况下进行广泛的元启发式优化技术实验。该框架显著增强了元启发式训练神经网络研究和应用的可访问性、适应性和一致性,将其定位为机器学习、数据科学和计算优化的宝贵资源。目测,基于 MetaPerceptron框架可扩展应用于其他算法(如:SVM,ELM,LSTM,Transformer,GRU,XGBoost等)的参数寻优。

亮点:

•MetaPerceptron:一个用户友好且全面的基于元启发式优化算法的MLP框架。
•支持200多种元启发式优化算法的回归和分类任务。
•综合资源:示例、文档和用户测试用例。
•它的用户友好界面允许非编码人员用最少的代码解决问题。
•灵活的框架,用户可以很容易地修改算法、代码和替换数据集。

本节将介绍展示所建议框架的优点的主要应用程序,以及演示如何使用它的示例代码。在进入主代码部分之前,我们讨论解决机器学习问题所需的步骤如下:
1.加载和预处理数据。
2.为模型准备数据(分成训练集和测试集,缩放数据)
3.定义模型。
4.用训练数据集训练模型。
5.使用测试数据集测试模型。
6.通过选定的性能指标评估模型的性能。

在上述所有步骤中,MetaPerceptron库将帮助用户完成最后五个步骤。第一步与用户的具体问题和数据直接相关。他们可以从其他库中选择各种预处理技术。因此,在下面的代码片段中,我们假设get_data()函数是由用户定义的。这个函数期望返回特征集X和标签y。

分类任务

  • 在本教程中,我们将使用遗传算法GA来训练多层感知器网络来完成分类任务。对于更复杂的示例和用例,请查看示例文件夹。

# 请关注微信公众号:优化算法侠 Swarm-Opti
from metaperceptron import DataTransformer, Data
from metaperceptron import MhaMlpRegressor, MhaMlpClassifier, MlpRegressor, MlpClassifier
from metaperceptron import MhaMlpTuner, MhaMlpComparator
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from metaperceptron import DataTransformer, MhaMlpClassifier
## 1.Load the dataset 加载你的数据,返回特征集X 和 其标签y
X, y = load_iris(return_X_y=True)
## 2.Split train and test 划分训练集和测试集
X_train, y_train, X_test, y_test = train_test_split(X, y, test_size=0.2)
## 3.Scale dataset with two methods: standard and minmax
# 标准化数据
dt = DataTransformer(scaling_methods=("standard", "minmax"))
X_train_scaled = dt.fit_transform(X_train)
X_test_scaled = dt.transform(X_test)
## 3.Define Genetic Algorithm-trained Multi-Layer Perceptron
# 利用GA训练MLP
# epoch:批次,pop_size:优化算法的种群数
opt_paras = {"epoch": 100, "pop_size": 20} # 优化算法参数
## 定义MLP模型:hidden_layers:隐含层,act_names:激活函数,
# optim:优化方法(可随意选择200多种算法)
# dropout_rates:dropout率,optim_paras:优化算法的参数,obj_name:目标函数
model = MhaMlpClassifier(hidden_layers=(50, 15), act_names="Tanh", dropout_rates=None, act_output=None,
                         optim="BaseGA", optim_paras=opt_paras, obj_name="F1S", seed=42, verbose=True)
## 4.Train the model 训练模型
# X:训练数据,y:训练集标签
model.fit(X=X_train_scaled, y=y_train)
## 5. Test the model 测试模型
y_pred = model.predict(X_test) # 输入测试数据
print(y_pred)
## 6. 输出 分类或回归 分数
print(model.score(X_test_scaled, y_test))
## 7. 计算一些分类相关的指标 Calculate some metrics
print(model.evaluate(y_true=y_test, y_pred=y_pred, list_metrics=["AS", "PS", "RS", "F2S", "CKS", "FBS"]))

参考文献

Nguyen Van Thieu, Seyedali Mirjalili, Harish Garg, Nguyen Thanh Hoang,MetaPerceptron: A standardized framework for metaheuristic-driven multi-layer perceptron optimization,Computer Standards & Interfaces,Volume 93, 2025, 103977, https://doi.org/10.1016/j.csi.2025.103977.

代码下载

微信搜索并关注-优化算法侠(英文名:Swarm-Opti),或扫描下方二维码关注,以算法名字搜索历史文章即可下载。

完整代码

图片

图片

MetaPerceptron-main.zip

点击链接跳转:

390种优化算法免费下载-matlab

https://mp.weixin.qq.com/s/EzKqtSwR9r2DkGj-ozJXwA

求解cec测试函数-matlab 

cec2017测试函数使用教程及matlab代码免费下载

cec2018测试函使用教程及matlab代码免费下载

cec2019测试函使用教程及matlab代码免费下载

cec2020测试函使用教程及matlab代码免费下载

cec2021测试函使用教程及matlab代码免费下载

cec2022测试函使用教程及matlab代码免费下载
绘制cec2017/018/2019/2020/2021/2022函数的三维图像教程,SO EASY!

215种群智能优化算法python库

Amazing!Python版215种群智能优化算法https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=1&sn=6b439e55b37b6482b8d3831ca85f1d55&chksm=c12be0c8f65c69de71ad51d3b736b871ff52f8646e90624f95dd32b024dfaad369d654aaf8fc#rd

解决12工程设计优化问题-matlab

略微出手,工程设计问题(12)(附Matlab代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247485052&idx=1&sn=80e5573c1c005ee5640e44935044ee35&chksm=c12bea79f65c636fc73758b4f4893502bd89cbd1c5d15d7db15e8b5c94eeae40450439d44944&token=681266555&lang=zh_CN#rd

求解11种cec测试函数-python

【选择自由,免费下载】215种优化算法求解11种cec测试函数-python代码https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=2&sn=eea8fb04dc507ab9119e2c97c03ca2f6&chksm=c12be0c8f65c69decd6c8109f6b997986bf58725fdbbd7ab03752cb6f61aacdb5a2dc7fec762#rd

解决30种工程设计优化问题-python

【一码解决】215种优化算法求解30个现实世界的工程设计优化问题,让你的论文增色10倍(附Python代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=3&sn=ea6d26ae7cb651e5c368f4c73ade228e&chksm=c12be0c8f65c69de739af72d9793838f59ab77bfee36bc2c204f96e2a9e5c6d87dfbbbae698e#rd

仅需一行,可改进所有优化算法:21种混沌映射方法-混沌初始化(附matlab代码)

用于改进所有优化算法:21种混沌映射方法-混沌初始化(附matlab代码)21种混沌映射方法-混沌初始化,适用于所有优化算法https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486215&idx=2&sn=58f1a69175b0d6431a4c7cdfa114b84d&chksm=c12be702f65c6e14e6bd1ddc33b9cec74991d93303c325853049b7e4afd09039b13083fa79c5&token=25423484&lang=zh_CN#rd

【有经典,有最新】24种信号分解方法(附matlab代码) 

沙场大点兵:24种信号分解方法(附matlab代码)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486001&idx=1&sn=a87c24cb401017a78a90bd1b1439fcb0&chksm=c12be634f65c6f22368b7229a59ac5ef330b89d710c826dbfd1a1c34a02b1dd7e909c7f40d79&token=25423484&lang=zh_CN#rd

 【分类新范式】27种一维数据转换成二维图像的方法-matlab代码

沙场大点兵:27种一维数据转换成二维图像的方法-matlab代码https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486260&idx=1&sn=81b1970cb89364c0289ccdfb403e5388&chksm=c12be731f65c6e273a85456326b503b7f35d9f035405050932ff1926e0b1bfa8076b1bc2d1f2&token=25423484&lang=zh_CN#rd

相关文章:

  • 将pandas.DataFrame转换为以数据为键的字典
  • 【FPGA开发】用 Verilog编程实现一个分秒计数器(实现按键暂停、消抖功能)
  • 关于UDP端口扫描概述
  • Vue表单数据回显失败技术解析与修复指南!!!
  • RapidJSON 处理 JSON(高性能 C++ 库)(四)
  • 检查是否存在占用内存过大的SQL
  • 服务器入门操作1(深度学习)
  • 【Deepseek、ChatGPT】智能气候前沿:AI Agent结合机器学习与深度学习在全球气候变化驱动因素预测中的应用
  • 高通Android10 铃声通话音频80%音量修改
  • 【Easylive】transferVideoFile 方法详细解析
  • 边缘计算的崛起:当计算从“云端漫步“变成“街头快闪“
  • ZLG嵌入式笔记 | 文件系统异步写入引发的问题
  • 魔改chromium——基础环境搭建
  • Go语言深度解析:从Java到Go的范式革命与实践指南
  • linux发布程序常用脚本
  • Skl-Videolingo-v2.0(VideoLingo):打破语言壁垒的下一代视频本地化工具
  • 云安全入门
  • spring-ai-alibaba第二章ollama集成EmbeddingModel
  • pyexcelerate在写入Excel时为何效率高?
  • Kotlin 协程官方文档知识汇总(二)
  • 2025财政观察①长三角罚没收入增速放缓,24城仍在上涨
  • 拍摄《我们这一代》的肖全开展“江浙沪叙事”
  • 当农民跨进流动的世界|劳动者的书信①
  • 十二届上海市委第六轮巡视全面进驻,巡视组联系方式公布
  • 零食连锁鸣鸣很忙递表港交所:去年营收393亿元,门店超1.4万家,净利润率2.1%
  • 中吉乌铁路重点控制性工程开工建设,包括三座隧道