【特征選擇】基于亨利氣體溶解度優(yōu)化算法求解二進制特征選擇問題(HGSO)含Matlab源碼
1 簡介
最近已經(jīng)開發(fā)了幾種元啟發(fā)式優(yōu)化算法來解決現(xiàn)實世界的問題。本文提出了一種新的元啟發(fā)式算法,稱為亨利氣體溶解度優(yōu)化 (HGSO),它模仿亨利定律支配的行為來解決具有挑戰(zhàn)性的優(yōu)化問題。亨利定律是一個基本的氣體定律,它與在固定溫度下溶解到給定類型和體積的液體的給定氣體的量有關(guān)。 HGSO 算法通過模仿氣體的聚集行為來平衡搜索空間中的開發(fā)和探索,避免局部最優(yōu)。
2 部分代碼
%---------------------------------------------------------------------%
% ?Henry Gas Solubility Optimization (HGSO) %
%---------------------------------------------------------------------%
%---輸入------------------------------ ---------------
% 壯舉:特征
% 標簽:標簽
% N : 氣體數(shù)量
% max_Iter : 最大迭代次數(shù)
% num_clus : 氣體類型的數(shù)量
% K : 常數(shù)
% alpha : 其他氣體的影響
% beta : 常數(shù)
% L1 : 初始參數(shù)
% L2 : 初始參數(shù)
% L3 : 初始參數(shù)
%---輸出------------------------------ --------------
% sFeat : 選定的功能
% Sf : 選定的特征索引
% Nf : 所選特征的數(shù)量
% 曲線:收斂曲線
%---------------------------------------------------------------------
%% 亨利氣體溶解度優(yōu)化
clc, clear, close;
% 基準數(shù)據(jù)集
load ionosphere.mat;
% 設(shè)置 20% 的數(shù)據(jù)作為驗證集
ho = 0.2;
% 保持方法
HO = cvpartition(label,'HoldOut',ho);
% 參數(shù)設(shè)置
N ? ? ? ?= 20;
max_Iter = 200;
num_clus = 2; ? ? ?% 氣體類型數(shù)/簇
K ? ? ? ?= 1; ? ? ?% 持續(xù)的
alpha ? ?= 1; ? ? ?% 其他氣體的影響
beta ? ? = 1; ? ? ?% 持續(xù)的
L1 ? ? ? = 5E-3;
L2 ? ? ? = 100;
L3 ? ? ? = 1E-2;
% 亨利氣體溶解度優(yōu)化
[sFeat,Sf,Nf,curve] = jHGSO(feat,label,N,max_Iter,num_clus,K,alpha,beta,L1,L2,L3,HO);
% Plot convergence curve
plot(1:max_Iter,curve);
xlabel('迭代次數(shù)');
ylabel('適應(yīng)度值');
title('HGSO'); grid on;
3 仿真結(jié)果

4 參考文獻
Hashim, Fatma A., Essam H. Houssein, Mai S. Mabrouk, Walid Al-Atabany, and Seyedali Mirjalili. "Henry gas solubility optimization: A novel physics-based algorithm." Future Generation Computer Systems (2019).
博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測、信號處理、元胞自動機、圖像處理、路徑規(guī)劃、無人機等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問題可私信交流。
部分理論引用網(wǎng)絡(luò)文獻,若有侵權(quán)聯(lián)系博主刪除。
