[發明專利]基于Spark分布式的并行二進制飛蛾撲火算法的特征選擇方法在審
| 申請號: | 201910040185.1 | 申請日: | 2019-01-16 |
| 公開(公告)號: | CN109871934A | 公開(公告)日: | 2019-06-11 |
| 發明(設計)人: | 陳宏偉;符恒;曹倩倩;韓麟;胡周;候喬;常鵬陽;嚴靈毓;宗欣露;徐慧 | 申請(專利權)人: | 湖北工業大學 |
| 主分類號: | G06N3/00 | 分類號: | G06N3/00 |
| 代理公司: | 武漢科皓知識產權代理事務所(特殊普通合伙) 42222 | 代理人: | 魏波 |
| 地址: | 430068 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 飛蛾 特征選擇 算法 并行二進制 分布式平臺 適應度 二進制 讀取 原始數據集 分類性能 公式計算 運行效率 終止條件 轉換處理 初始化 數據集 更新 種群 存儲 優化 應用 | ||
1.一種基于Spark分布式的并行二進制飛蛾撲火算法的特征選擇方法,其特征在于,包括以下步驟:
步驟1:讀取原始數據集,然后對原始數據集進行預處理,然后利用Spark中的RDD分區將訓練集分成多個子集,存儲在適合運行在Spark上的分布式文件系統HDFS中;
步驟2:初始化一個RDD數據集,該RDD數據集代表著飛蛾種群OM,將Spark分布式中的RDD彈性分布式數據集作Map轉換處理,初始適應度值;其中,初始適應度值是隨機初始或者設置初始為0;
步驟3:計算飛蛾與對應火焰的距離Di,計算每只飛蛾更新之后的值,更新當前飛蛾的位置;然后將飛蛾更新的值轉為二進制;
步驟4:將計算得到的飛蛾的更新之后的值,作為Spark分布式中的輸入變量,利用Spark分布式平臺,計算迭代之后的飛蛾的具體的位置;
步驟5:對每個飛蛾進行更新操作,并計算處理后的每個飛蛾局部的適應度值M;
步驟6:根據適應度函數計算每個飛蛾的適應度值,確定適應度值的最大值;如果新的適應度值比先前的適應度值要更好,則新的適應度值替換先前的適應度值;
步驟7:判斷是否達到最大迭代次數;
如否,則回轉執行步驟3,繼續尋找最優適應度值;
若是,則執行步驟8;
步驟8:輸出當前更新后的飛蛾的適應度值最大值及其對應的飛蛾的位置。
2.根據權利要求1所述的基于Spark分布式的并行二進制飛蛾撲火算法的特征選擇方法,其特征在于:步驟1中,數據集、訓練集以及測試集都是利用入侵檢測數據集KDDCUP99數據集,然后選取10%做為訓練集和測試集,再進行數據的標準化,歸一化之后,形成所需要的數據集,這就是數據的預處理。
3.根據權利要求1所述的基于Spark分布式的并行二進制飛蛾撲火算法的特征選擇方法,其特征在于:步驟2中,初始化一個RDD數據集,是初始化Spark,并進行簡單的RDD數據的map、filter、reduce操作。
4.根據權利要求1所述的基于Spark分布式的并行二進制飛蛾撲火算法的特征選擇方法,其特征在于:步驟3中,所述更新當前飛蛾的位置,是判斷產生飛蛾所對應的適應度值是否大于產生種子前的飛蛾的適應度值;若是,將產生的適應度值最大的飛蛾代替更新中最大的飛蛾;若否,保留當前的飛蛾;更新當前飛蛾的位置。
5.根據權利要求1所述的基于Spark分布式的并行二進制飛蛾撲火算法的特征選擇方法,其特征在于:步驟3中,將飛蛾更新的值轉為二進制,是用Sigmoid函數來構建這個二進制向量:
其中σ~U(0,1),S(M,F)代表新的二進制的飛蛾相對于火焰的位置;S(Mi,Fj)=Di·ebt·cos(2πt)+Fflameno,Di=|Fj-Mi|,flameno代表火焰的數量,Fflameno在文中的解釋為表示第flameno個火焰;Di表示第i只飛蛾與第j個火焰之間的距離,b為定義對數螺旋線形狀的常數,t為[-1,1]之間的一個隨機數,Mi表示第i只飛蛾,Fj表示第j個火焰;l為當前迭代次數,N為火焰數量的最大值,T為最大的迭代次數。
6.根據權利要求1所述的基于Spark分布式的并行二進制飛蛾撲火算法的特征選擇方法,其特征在于:步驟5中,如若飛蛾種群小于火焰的個數,則按螺旋飛翔的方法更新飛蛾,否則,采取螺旋逼近的方法更新飛蛾。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于湖北工業大學,未經湖北工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910040185.1/1.html,轉載請聲明來源鉆瓜專利網。





