【特征選擇】基于原子搜索算法實(shí)現(xiàn)二進(jìn)制特征選擇問題附matlab代碼
1 簡介
作為物理-元啟發(fā)式算法中的一種,ASO?最早在?2018?年由趙衛(wèi)國提出并將其應(yīng)用于地下水分散系數(shù)估計(jì)。ASO?的靈感來自于基本的分子動(dòng)力學(xué),自然界中所有的物質(zhì)都是由原子組成,原子具備質(zhì)量和體積,在一個(gè)原子系統(tǒng)中,所有原子都是相互作用并且處于恒定的運(yùn)動(dòng)狀態(tài),其微觀相互作用十分復(fù)雜。隨著科學(xué)技術(shù)的發(fā)展,近些年來分子動(dòng)力學(xué)發(fā)展迅速,已經(jīng)可以使用計(jì)算機(jī)模擬原子和分子的物理運(yùn)動(dòng)規(guī)律。




2 部分代碼
%-------------------------------------------------------------------%
% ?Atom Search Optimization (ASO) ? ? ? ? ? ? ? ? ? ?%
%-------------------------------------------------------------------%
%---輸入------------------------------ --------------
% 壯舉:特征向量(實(shí)例 x 特征)
% 標(biāo)簽:標(biāo)簽向量(實(shí)例 x 1)
% N : 原子數(shù)
% max_Iter : 最大迭代次數(shù)
% alpha:深度權(quán)重
% beta:乘數(shù)權(quán)重
%---輸出------------------------------ -------------
% sFeat : 選定的功能
% Sf : 選定的特征索引
% Nf : 所選特征的數(shù)量
% 曲線:收斂曲線
%--------------------------------------------------------------------
%% 原子搜索算法
clc, clear, close;
% 基準(zhǔn)數(shù)據(jù)集
load ionosphere.mat; ?
% 設(shè)置 20% 的數(shù)據(jù)作為驗(yàn)證集
ho = 0.2;
%保持方法
HO = cvpartition(label,'HoldOut',ho,'Stratify',false);
% 參數(shù)設(shè)置
N ? ? ? ?= 20;
max_Iter = 200;
alpha ? ?= 50;
beta ? ? = 0.2;
% 原子搜索優(yōu)化
[sFeat,Sf,Nf,curve] = jASO(feat,label,N,max_Iter,alpha,beta,HO);
% 繪制收斂曲線
plot(1:max_Iter,curve);
xlabel('迭代次數(shù)');
ylabel('最優(yōu)值');
title('ASO'); grid on;
3 仿真結(jié)果

4 參考文獻(xiàn)
[1]洪欣. 基于原子搜索優(yōu)化算法的結(jié)構(gòu)參數(shù)識(shí)別[D]. 深圳大學(xué), 2019.
博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測、信號(hào)處理、元胞自動(dòng)機(jī)、圖像處理、路徑規(guī)劃、無人機(jī)等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問題可私信交流。
部分理論引用網(wǎng)絡(luò)文獻(xiàn),若有侵權(quán)聯(lián)系博主刪除。
