一種基于遺傳算法的分類算法參數優化方法
【技術領域】
[0001] 本發明公開一種分類算法參數優化方法,屬于算法參數優化領域,具體地說是一 種基于遺傳算法的分類算法參數優化方法。
【背景技術】
[0002] 遺傳算法是計算數學中用于解決最佳化的搜索算法,是進化算法的一種。進化算 法最初是借鑒了進化生物學中的一些現象而發展起來的,這些現象包括遺傳、突變、自然 選擇以及雜交等。遺傳算法通常實現方式為一種計算機模擬。分類,Categorization or Classification,就是按照某種標準給對象貼標簽,再根據標簽來區分歸類。分類是事先定 義好類別,類別數不變。
[0003] 而分類算法是模式識別和數據挖掘領域中非常重要的問題,多數分類算法中包含 一些可變的參數,這些參數在一定程度上影響了分類算法的性能和效率。參數的選擇及優 化是多數分類算法運用的關鍵,本發明針對分類算法的參數優化問題,提出一種基于遺傳 算法的分類算法參數優化方法。該方法將所有參數按照數值進行離散化并按順序連接為一 個二進制編碼序列,每一個體對應一個二進制串,分類算法的各考核指標數值加權作為適 應度,由該適應度作為判定個體優劣的標準,維護一個群體,群體包括若干個體。通過交叉、 變異、選擇按照優勝劣汰的原則不斷的更新這個群體,將最終獲得的群體進行譯碼對應相 應的參數數值,進而得到最優的參數組合,該方法適用于各種對參數敏感受參數約束的分 類算法中。
【發明內容】
[0004] 本發明針對分類算法的參數優化問題,提出一種基于遺傳算法的分類算法參數優 化方法,實現了針對群體進行譯碼對應相應的參數數值,進而得到最優的參數組合,該方法 適用于各種對參數敏感受參數約束的分類算法中。
[0005] 本發明提出的具體方案是: 一種基于遺傳算法的分類算法參數優化方法,具體步驟為: ① 制定編碼及解碼規則:根據分類算法的性能指標采集數據信號,對采集數據信號的 參數制定二進制串與參數數值一一對應,對于每個參數,規定其取值范圍為[a,b],數值取 值精度為V,則二進制串的長度為: L=[l0g2 (b-a)/v ; 編碼時,對于任意在[a,b]范圍內該參數的取值x,其二進制串對應的整數值: xint=[(x-a)/v]; 解碼時,對于任意一個小于的正整數n,其對應的該參數的取值為: (n+0. 5) v+a ; ② 種群初始化:對于每個參數的取值作為一個個體,并將多個個體集合為一個種群, 同時種群中的所有個體均進行二進制串對應后形成初始化種群;初始化種群中各個體適應 度值計算:對于分類算法的數據集,將所有的數據樣本隨機分為訓練樣本和測試樣本,采 用適應度函數,函數的輸入即為編碼之后的二進制串,函數的計算過程描述如下:從二進制 串解碼得到各個參數數值,分別記為;將上述參數帶入分類算法中,得到分類算法評估的指 標,分別記為;將上述的得到的指標進行加權求和,即所得的適應度,其計算公式如下:
【主權項】
1. 一種基于遺傳算法的分類算法參數優化方法,其特征是具體步驟為: ① 制定編碼及解碼規則:根據分類算法的性能指標采集數據信號,對采集數據信號的 參數制定二進制串與參數數值一一對應,對于每個參數,規定其取值范圍為[a,b],數值取 值精度為V,則二進制串的長度為: L=[l〇g2 (b-a)/v; 編碼時,對于任意在[a,b]范圍內該參數的取值x,其二進制串對應的整數值:xint=[(x-a)/v]; 解碼時,對于任意一個小于的正整數n,其對應的該參數的取值為: (n+0. 5)v+a; ② 種群初始化:對于每個參數的取值作為一個個體,并將多個個體集合為一個種群, 同時種群中的所有個體均進行二進制串對應后形成初始化種群;初始化種群中各個體適應 度值計算:對于分類算法的數據集,將所有的數據樣本隨機分為訓練樣本和測試樣本,采 用適應度函數,函數的輸入即為編碼之后的二進制串,函數的計算過程描述如下:從二進制 串解碼得到各個參數數值,分別記為;將上述參數帶入分類算法中,得到分類算法評估的指 標,分別記為;將上述的得到的指標進行加權求和,即所得的適應度,其計算公式如下:
③ 循環迭代:對二進制串進行循環迭代,更新這個群體,需要多次計算適應度,計算過 的參數組合的指標可保存到數據庫或內存中,循環迭代時需要先查表該參數組合是否存 在,如存在則取出對應指標即可,如不存在則重新計算各指標并保存,循環迭代到一定次數 達到; ④ 解碼得到最優參數:對步驟③中最終獲得的群體進行解碼對應相應的參數數值,群 體中所有個體的適應度值,選出群體中適應度值高的多個個體作為子代群體,進而得到最 優的參數組合,判斷是否終止:當進化群體中個體的最大適應度值大于或等于預先設定的 適應度設定值時,遺傳算法終止并輸出當前所獲得群體中最優的參數組合;否則,返回步驟 ③,繼續進行循環迭代。
2. 根據權利要求1所述的一種基于遺傳算法的分類算法參數優化方法,其特征是所述 的步驟①中分類算法的性能指標指的是: 訓練時間:利用參數訓練時,所耗費的實際時間,要多次進行訓練,取所有訓練時間的 中值; 分類時間:利用該參數得到的分類模型對測試樣本進行分類時,所耗費的實際時間,為 保證時間的準確性,要多次進行訓練和分類,取所有時間的中值; 訓練樣本準確率:利用該參數訓練時,算法結束時對訓練樣本分類的準確率,多次進行 訓練,取所有訓練樣本準確率的中值; 測試樣本準確率:利用該參數分類時,算法對測試樣本分類的準確率; 測試樣本召回率:利用該參數分類時,算法對測試樣本分類的召回率。
3. 根據權利要求1或2所述的一種基于遺傳算法的分類算法參數優化方法,其特征是 所述的步驟②中計算適應度時,在加權平均之前,對各個指標進行去量綱歸一化的操作:隨 機選擇一系列參數組合,分別應用分類算法到上述數據集,得到每個考核指標的實際取值, 對具體的考核指標,分別計算最小值和最大值,對應的考核指標進行最大最小值歸一化操 作,將其數值歸一化到[〇, 1]區間內。
4. 根據權利要求3所述的一種基于遺傳算法的分類算法參數優化方法,其特征是所述 的步驟③循環迭代采用交叉、變異及更新的方式,交叉遵循一般遺傳算法交叉方法,即將兩 個二進制串的每個二進制串分為兩部分,然后兩個串分別進行交換;變異遵循一般遺傳算 法變異方法,隨機選擇二進制串中的一個,對其進行取反操作;更新將經過交叉及變異操作 之后得到的新二進制串種群和原二進制串種群混合,取其中部分適應度作為新種群。
5. 根據權利要求4所述的一種基于遺傳算法的分類算法參數優化方法,其特征是所述 的步驟③中取其中適應度在前45%-70%的個體作為新種群。
6. 根據權利要求4或5所述的一種基于遺傳算法的分類算法參數優化方法,其特征是 所述的步驟②所有的數據樣本隨機分為訓練樣本和測試樣本,其數量比為1:5-2。
【專利摘要】本發明公開一種基于遺傳算法的分類算法參數優化方法,屬于算法參數優化領域,具體步驟為:①制定編碼及解碼規則;②種群初始化;③循環迭代;④解碼得到最優參數;本發明針對分類算法的參數優化問題,通過將所有參數按照數值進行離散化并按順序連接為一個二進制編碼序列,每一個體對應一個二進制串,分類算法的各考核指標數值加權作為適應度,由該適應度作為判定個體優劣的標準,維護一個群體,群體包括若干個體,通過交叉、變異、選擇按照優勝劣汰的原則不斷的更新這個群體,將最終獲得的群體進行譯碼對應相應的參數數值,進而得到最優的參數組合,該方法適用于各種對參數敏感受參數約束的分類算法中。
【IPC分類】G06N3-12, G06F17-30
【公開號】CN104572993
【申請號】CN201510004522
【發明人】韋鵬, 付興旺, 吳楠, 朱英澍
【申請人】浪潮電子信息產業股份有限公司
【公開日】2015年4月29日
【申請日】2015年1月6日