当前位置 : 主页 > 编程语言 > python >

【特征选择】基于原子搜索算法实现二进制特征选择问题附matlab代码

来源:互联网 收集:自由互联 发布时间:2022-06-15
1 简介 作为物理-元启发式算法中的一种,ASO最早在2018年由赵卫国提出并将其应用于地下水分散系数估计。ASO的灵感来自于基本的分子动力学,自然界中所有的物质都是由原子组成,原子具

1 简介

作为物理-元启发式算法中的一种,ASO 最早在 2018 年由赵卫国提出并将其应用于地下水分散系数估计。ASO 的灵感来自于基本的分子动力学,自然界中所有的物质都是由原子组成,原子具备质量和体积,在一个原子系统中,所有原子都是相互作用并且处于恒定的运动状态,其微观相互作用十分复杂。随着科学技术的发展,近些年来分子动力学发展迅速,已经可以使用计算机模拟原子和分子的物理运动规律。

【特征选择】基于原子搜索算法实现二进制特征选择问题附matlab代码_迭代

【特征选择】基于原子搜索算法实现二进制特征选择问题附matlab代码_迭代_02

【特征选择】基于原子搜索算法实现二进制特征选择问题附matlab代码_权重_03

【特征选择】基于原子搜索算法实现二进制特征选择问题附matlab代码_优化算法_04

2 部分代码

%-------------------------------------------------------------------%
% Atom Search Optimization (ASO) %
%-------------------------------------------------------------------%
%---输入------------------------------ --------------
% 壮举:特征向量(实例 x 特征)
% 标签:标签向量(实例 x 1)
% N : 原子数
% max_Iter : 最大迭代次数
% alpha:深度权重
% beta:乘数权重
%---输出------------------------------ -------------
% sFeat : 选定的功能
% Sf : 选定的特征索引
% Nf : 所选特征的数量
% 曲线:收敛曲线
%--------------------------------------------------------------------
%% 原子搜索算法
clc, clear, close;
% 基准数据集
load ionosphere.mat;
% 设置 20% 的数据作为验证集
ho = 0.2;
%保持方法
HO = cvpartition(label,'HoldOut',ho,'Stratify',false);
% 参数设置
N = 20;
max_Iter = 200;
alpha = 50;
beta = 0.2;
% 原子搜索优化
[sFeat,Sf,Nf,curve] = jASO(feat,label,N,max_Iter,alpha,beta,HO);
% 绘制收敛曲线
plot(1:max_Iter,curve);
xlabel('迭代次数');
ylabel('最优值');
title('ASO'); grid on;

3 仿真结果

【特征选择】基于原子搜索算法实现二进制特征选择问题附matlab代码_优化算法_05

4 参考文献

[1]洪欣. 基于原子搜索优化算法的结构参数识别[D]. 深圳大学, 2019.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【特征选择】基于原子搜索算法实现二进制特征选择问题附matlab代码_优化算法_06


网友评论