###### tags: `paper_reading` # Improved Binary Symbiotic Organism Search Algorithm with Transfer Functions for Feature Selection ## Abstract 解決BSOS(二進制SOS)容易過早收斂的問題,使用不同的 transter function (傳遞函數)對SOS做二值化,提高了算法執行的多樣性和平衡算法探索和開發的能力。 ## Introduction 1. 特徵選擇問題為 NP-Hard 問題。 2. 研究 BSOS (binary-based SOS)問題,比較 ASBSOS (AS of transfer BSOS)與本文嘗試方法的差異。 3. 嘗試 9 不同傳遞函數。 ## Related Works [**A. Symbiotic Organism Search Algorithm**](http://140.118.5.112:85/SOS/#) > **SOS Algorithm:** > > ![](https://i.imgur.com/rN5yBWM.png) > > - Mutualism Phase: 互利共生 > ![](https://i.imgur.com/l7yj9VJ.png) > ![](https://i.imgur.com/BP7NWoo.png) > ![](https://i.imgur.com/Ctdtmkb.png) > > - Commensalism Phase: 片利共生 > ![](https://i.imgur.com/FrDEUCh.png) > > - Parasitic Phase: 寄生 > ![](https://i.imgur.com/Upq6eGV.png) **B. THE ASBSOS ALGORITHM** *透過 AS 轉移對連續SOS進行二值化,使用 S 型傳遞函數* > **AS transfer 方法(採用 S3 作為傳遞函數):** > > ![](https://i.imgur.com/T2uumVI.png) > > t : 當前迭代次數 > T : 最大迭代次數 > Tmax,Tmin : 控制參數,分別設置為 4 和 0.01 > > - 推測是希望開始時不要太趨近極端,後面收斂時再趨近即可。 > **S-shaped transfer functions:** > > ![](https://i.imgur.com/zXJhcCY.png) ## OUR PROPOSED IBSOS ALGORITHM WITH MULTIPLE TYPES OF TRANSFER FUNCTIONS *ASBSOS 算法只依賴位置生物體本身的二值化狀態。然而在原始SOS算法的思想,優化過程依賴三種共存關係,並不好反應於 ASBSOS。在連續型的 SOS 中粒子在搜索空間中算法很容易實現,然而,在二進制問題裡,每個維度的值只能為 1 或 0,因此無法使用原始公式更新生物的位置。將 SOS 三個生物共生階段的二值化。* **A. MUTUALISM SYMBIOSIS STRATEGY OF BSOS ALGORITHM** > 1. 參考 SOS Mutualism Phase (3), (4), 並透過 S 轉換函式得到 IBSOS 的 s1, s2 > ![](https://i.imgur.com/XBZKaa7.png) > > 2. Ci 和 Cj 是傳遞變量的向量(同原 SOS),用來更新 s1, s2 > ![](https://i.imgur.com/UBXcQZG.png) > > 3. 將 s1, s2 轉換為二進制值 bstep,randn 就於 0~1 > ![](https://i.imgur.com/pRdcJVz.png) > > 4. 透過 bstep 更新 Xnew > ![](https://i.imgur.com/0izEHCz.png) **B. COMMENSALISM AND PARASITISM STRATEGIES OF BSOS ALGORITHM** > **COMMENSALISM** > 片利共生,通過 sigmoid 得到 si 的值,同樣透過 bstep 更新 Xnew (14-16) > ![](https://i.imgur.com/Blo76IT.png) > **PARASITISM** > 會造成一方危害 > ![](https://i.imgur.com/dkx7n2S.png) **C. OTHER TRANSFER FUNCTIONS** > **TRANSFER FUNCTIONS** > 1. 採用不同的 S-type, V-type測試 > ![](https://i.imgur.com/KpXQgUT.png) > > 2. S-type 和 V-type 曲線 > ![](https://i.imgur.com/FxANqf8.png) > **IBSOS pseudo-code** > > ![](https://i.imgur.com/CNcSXoo.png) ## EXPERIMENTAL RESULTS AND ANALYSIS *1. 使用 13 個基準函數(有7個單峰函數,6個多峰函數)來驗證我們提出的具有多種類型傳遞函數的 BSOS 算法的探索和開發能力。* *2. 單峰函數中,只有一個全局最優解,不存在局部陷阱(局部最優解) -> 算法的收斂速度。* *3. 多峰函數不僅包括一個全局最優解,還包括一個或多個局部最優解 -> 跳出局部陷阱和避免早熟收斂的能力。* > 基準函數( benchmark functions) > ![](https://i.imgur.com/B4IycYI.png) **A. EXPERIMENTAL RESULTS** > **參數設置** > > ![](https://i.imgur.com/pJdBiPT.png) > **實驗結果** > > ![](https://i.imgur.com/ulGsfR3.png) > ![](https://i.imgur.com/B1MoBUe.png) **B. EXPERIMENTAL ANALYSIS** > **演算法贏家** > *S1 best in S 及 V3 best in V* > ![](https://i.imgur.com/Z2A7HlN.png) > **收歛性比較** > *1. IBSOS 有較加收歛性。* > *2. S1 和 V3 傳遞函數相對於其他傳遞函數而言為,實現良好的全局優化和收斂性能。* > 1. f1 - f8 > ![](https://i.imgur.com/Umt7V1g.png) > > 2. f9 - f13 > ![](https://i.imgur.com/wDuNxl3.png) ## APPLICATION FOR FEATURE SELECTION **A. dataset** > ![](https://i.imgur.com/bZOwX8g.png) **B. EXPERIMENTAL SIMULATION** > **FS setting** > 1. KNN > 2. K-fold > 3. fitness fucntion: > ![](https://i.imgur.com/XA1ToJq.png) > - M,N : 為係數,M 設置 0.99,N 設置 0.01 > - T : 所選 feature 數目 > - C : 原始 feature 數目 > - Kfold : K 交叉驗證的分類誤差 > > **流程圖** > ![](https://i.imgur.com/EE9lFva.png) **C. RESULT ANALYSIS** > 不同資料集實驗結果 > ![](https://i.imgur.com/P7eS7QG.png)