何 鵬,龍 文
(貴州財經大學 數學與統計學院,貴州 貴陽 550025)
近年來,智能優化算法在解決高維度問題上取得了顯著成果,也被國內外學者廣泛應用于研究中,如:Behrouz Samieiyan等[1]對烏鴉搜索算法進行4個方面改進用于特征選擇;Thaher Thaer等[2]提出了布爾粒子群優化算法的特征選擇方法;Sun Lichao[3]提出了一種基于正余弦算法的特征選擇方法。
鯨魚優化算法(Whale Optimization Algorithm,WOA)是眾多智能優化算法中的一種,屬于元啟發式算法,于2016年被澳大利亞學者Seyedali Mirjalili等[4]提出,是基于座頭鯨的狩獵行為來設計的一種算法。該算法被廣泛用于各個方面:結構可靠性優化設計[5]、蒸餾裝置故障診斷[6]、電機軸承故障診斷[7]、垃圾中轉站和焚燒站選址-路徑[8]等。當然作為先進智能優化算法之一,WOA也存在很多不足之處:易局部收斂[9]、全局搜索能力有限[10]、收斂性差[11]、尋找最優精度不夠高[12]等。有不少學者對其進行了改進:Li Guodong等[13]利用Lévy飛行機制和自適應權系數,增強了算法的全局和局部搜索能力;Liu Jianxun等[14]利用種群再分配和收斂自適應加權兩種策略,提高了WOA在搜索過程中的空間利用率和搜索效率;Alnowibet Khalid Abdulaziz[15]等提出在WOA算法位置更新階段采用Cauchy突變算子的反復灌輸。本文則基于二次函數設計一種非線性過度參數取代原始的線性過度參數,再結合動態反向(Dynamic Opposite,DO)學習算法來分別改善WOA算法局部搜索能力和全局搜索能力。
由于電信客戶行為的多樣性,電信客戶流失數據往往涉及高維度問題。本文提出將改進鯨魚優化算法的特征選擇方法與支持向量機相融合應用于預測電信客戶流失行為。
鯨魚優化算法包括3個步驟:搜索獵物、包圍獵物、捕食獵物。每頭座頭鯨包圍目標獵物和捕食獵物的過程都在不斷根據當前獵物位置更新自己的位置,可以表示為:

(1)

(2)
(3)


(5)

(6)
(7)
式(7)中,T是最大迭代次數。
在搜索獵物階段,每頭座頭鯨會根據同類的位置不斷更新位置,以達到群體搜索獵物的目的。其表達式如下:
(8)
(9)

(10)
算法的局部搜索能力被增強以后,算法容易陷入局部最優。為了解決這類問題,本文引入Yunlang Xu[16]等提出的動態反向學習(Dynamic Opposite,DO)算法,該算法能動態擴展搜索空間,提高算法搜索到全局最優的概率。其數學表達式如下:

(11)
(12)
(13)
本文算法運行環境為:12th Gen Intel(R) Core(TM) i5-12600K 3.69 GHz(處理器),16.0 GB(機帶RAM),64 位操作系統(系統類型),Windows 10 家庭中文版(系統版本),MATLAB 2022年(軟件版本)。算法中,設置種群大小為10,最大迭代次數為100次,進行特征選擇時適應度計算公式如下:
(14)
式(14)中,acc是在當前子集下SVM算法的分類正確率,ω是權重系數,取0.01,SFN是當前選擇特征數,TFN是數據集總特征個數。
為了測試算法的有效性,文中選用5個標準測試函數對算法進行測試,其信息如表1。

表1 5個標準測試函數信息
對上述5個基準函數,分別使用WOA和DOWOA算法獨立重復運行10次,得到結果如表2。

表2 標準函數測試結果
由表2可知,在5個標準測試函數上,DOWOA算法10獨立重復運行結果幾乎都優于WOA算法,說明DOWOA算法在優化函數上很有效。
為了檢驗算法在特征選擇中的優勢,利用5個UCI數據對算法進行測試,其數據集的信息如表3。

表3 5個UCI數據集信息
對于上述5個UCI數據集,分別使用WOA和DOWOA算法結合SVM分類器進行特征選擇。表4給出了算法在5個UCI數據集上的運行結果。
從表4可看出,相比于WOA算法,DOWOA算法在各個數據集上保持平均分類精度和分類精度的標準差幾乎不變的情況下,減少了選擇特征個數。說明在5個UCI數據集上DOWOA算法在尋找最優子集方面優于WOA算法。

表4 算法在5個UCI數據集上的運行結果
電信客戶流失數據來自Kaggle競賽數據網,其共有19個特征和1個決策變量,及7043個樣本。同樣分別使用WOA和WOADO算法結合SVM分類器對電信客戶流失數據集進行特征選擇,得到結果如表5。

表5 算法在電信客戶流失數據上的運行結果
表5中,在電信客戶流失數據集上,相對WOA算法,DOWOA算法進行特征選擇時,選擇特征更少,同時算法10次重復運行的平均分類精度略高,但標準差略低于WOA算法。說明在保持平均分類精度和分類精度標準差幾乎不變的情況下,DOWOA算法在尋找最優子集上更優于WOA算法。
在標準測試函數和UCI數據集上的測試表明,結合動態獨立學習算法和引入非線性過度參數2種技術,提出動態對立鯨魚優化算法(DOWOA),增強了算法搜索最優的能力。最后,將算法用于對電信客戶流失數據的特征選擇及預測中,實驗表明:DOWOA能保持平均分類精度幾乎不變的情況下,進一步提高了WOA算法特征選擇的能力。