
本發明涉及數據處理
技術領域:
,特別是涉及一種基于人工蜂群算法的數據特征選擇方法。
背景技術:
:近年來,數據挖掘技術在商業智能、生物醫療和基因檢測等領域得到了的廣泛應用,而如何從大規模數據中進行降維,以得到有效的簡化數據,正變得越來越重要。在許多實際應用中,存儲于數據庫中的數據集往往擁有成千甚至上萬個特征,但并不是所有的特征都對發現隱藏于數據背后的重要信息有幫助。由于只有小部分特征代表著整個高維特征空間的分布特性,這些需要被刪選掉的特征,不僅在學習算法對知識發現的過程中增加了干擾,也增加了學習結果的復雜性和不可解釋性。特征選擇作為一種關鍵的數據分析方法和預處理手段,在對數據進行知識挖掘之前,通過從原始數據特征集合中選擇其中的一個最優特征子集,不但可以消除數據噪聲的干擾、剔除冗余和無關的特征,也可以大大降低后續數據處理的復雜度,減小運行時間,并提高數據分析的準確性和有效性。目前,特征選擇已成功地應用于圖像分類、聚類分析、模式識別和圖片檢索等場合,幫助研究人員從大規模數據集中挑選出最好的一組特征子集,簡化應用過程,從而更好地理解學習算法的結果。特征選擇方法可以分為過濾式和封裝式兩種模式。過濾式是基于數據的統計特性,如計算信息熵、距離等度量指標來賦予各個特征不同的權重,以此來決定特征是否應該被保留或剔除,所以是一種獨立于學習算法之外的特征選擇方法。與過濾式不同的是,封裝式則利用學習算法來甄別出有用的特征,將特征選擇問題建模為一個典型的組合優化問題,通過基于學習算法的特征選擇搜索方法,尋找到最優特征子集。總的來說,封裝式可以比過濾式取得更好的學習結果,這是因為封裝式建立了特征與學習算法之間的關系,可以為不同的學習算法選擇最適合的特征子集,從而大大提高學習算法的準確率。不過,封裝式往往會比過濾式占用更多的運行時間。不管是過濾式還是封裝式,現有的特征選擇搜索方法存在著高復雜度和低效率的缺陷。例如,暴力搜索方法通過評估特征集合的每一個特征子集來達到選擇最優特征子集的目的。然而,面對擁有較多特征的大數據集來說,這是不可能實現的,因此,在實際應用中很少采用這種方法。此外,在利用封裝式來選擇最優特征子集時,并沒有考慮對最優特征個數的最小化。技術實現要素:本發明所要解決的技術問題是提供一種基于人工蜂群算法的數據特征選擇方法,能夠降低特征選擇方法的復雜性。本發明解決其技術問題所采用的技術方案是:提供一種基于人工蜂群算法的數據特征選擇方法,包括以下步驟:(1)確定人工蜂群算法的控制參數,將獲得的數據集進行預約歸一化處理;(2)初始化產生一組采蜜蜂位置,依據選擇的特征選擇適應度函數計算每一個采蜜蜂的適應度值,并將其對應的開采次數置為零;(3)基于人工蜂群算法的更新方式,更新采蜜蜂位置,計算新個體的適應度值并更新其開采次數;(4)計算選擇概率模型函數,依概率模型函數選擇一個采蜜蜂作為觀察蜂,更新觀察蜂位置,計算新個體的適應度值并更新其開采次數;(5)觀察開采次數,實施采蜜蜂位置更新機制;(6)保留目前為止最優解位置,即代表最優特征子集;(7)若達到最大迭代次數,則輸出最優特征子集;否則重復步驟(2)~步驟(6)。所述步驟(1)的具體為:對數據集中的每一維特征值映射至[0,1]范圍,即f'=(f-fmin)/(fmax-fmin),其中,f'為該維特征映射后的值,f為該維特征未映射前的值,fmin為該維特征在數據集中的最小值,fmax為該維特征在數據集中的最大值。所述步驟(2)中初始化產生一組采蜜蜂位置具體為:針對特征選擇這一組合優化問題,對采蜜蜂位置采用二進制編碼,編碼長度值代表數據集中原始特征的總個數,用“1”表示該位代表的特征被選中,用“0”表示該位代表的特征未被選中。所述步驟(2)中每一個采蜜蜂的適應度值計算方式為Fit=w*(1-Acc)+(1-w)*(N1/N2),其中,Fit為適應度函數值,Acc為基于數據集利用10-fold交叉驗證法計算得到的學習算法的準確率,N1為采蜜蜂位置中置為“1”的個數,N2為數據集中原始特征的總個數;w為權重值,取值范圍為[0,1]。所述步驟(3)中基于人工蜂群算法的更新方式為其中,R為0~1的隨機數,xij代表第i個采蜜蜂第j個位置的值,vij為xij更新后的值,NOT代表取反邏輯操作。所述的步驟(4)中概率模型函數為其中,Fiti為第i個采蜜蜂的適應度值,pi為第i個采蜜蜂被選中的概率。所述的步驟(5)具體為:觀察采蜜蜂對應的開采次數,如果開采次數大于或等于最大開采次數,則將此采蜜蜂的位置替換為一個重新隨機初始化的位置。有益效果由于采用了上述的技術方案,本發明與現有技術相比,具有以下的優點和積極效果:本發明利用人工蜂群算法,在整個特征空間進行優化搜索,極大地提高了搜索性能,降低了特征選擇方法的復雜性。本發明在提高學習算法準確率的同時,盡可能地減少最優特征的個數,從而幫助研究人員減少后期數據挖掘的難度,提高了學習算法結果的可解釋性。附圖說明圖1是本發明基于人工蜂群算法的數據特征選擇方法的流程圖;圖2是本發明的采蜜蜂位置采用二進制編碼的初始化示意圖。具體實施方式下面結合具體實施例,進一步闡述本發明。應理解,這些實施例僅用于說明本發明而不用于限制本發明的范圍。此外應理解,在閱讀了本發明講授的內容之后,本領域技術人員可以對本發明作各種改動或修改,這些等價形式同樣落于本申請所附權利要求書所限定的范圍。本發明的實施方式涉及一種基于人工蜂群算法的數據特征選擇方法,本發明將人工蜂群算法(ArtificialBeeColonyAlgorithm)用于求解數據特征選擇這一典型組合優化問題,通過設計帶有最優特征個數影響的適應度函數,不僅可以提高學習算法的準確率,而且可以最大程度地減少最優特征的個數,降低后續數據分析與挖掘的難度與復雜度。如圖1所示,本發明具體包括以下步驟:(1)確定人工蜂群算法控制參數,將獲得的數據集進行歸一化處理。具體為:設置人工蜂群算法的控制參數:采蜜蜂個數=觀察蜂個數=NP,最大開采次數Limit,最大迭代次數Maxgen。將獲得的數據集進行歸一化處理:對數據集中的每一維特征值映射至[0,1]范圍,即f'=(f-fmin)/(fmax-fmin),其中,f'為該維特征映射后的值,f為該維特征未映射前的值,fmin為該維特征在數據集中的最小值,fmax為該維特征在數據集中的最大值。(2)初始化產生一組采蜜蜂位置,依據選擇的特征選擇適應度函數計算每一個采蜜蜂的適應度值,并將其對應的開采次數trail置為0:具體地說,針對特征選擇這一組合優化問題,對采蜜蜂位置采用二進制編碼,編碼長度值代表數據集中原始特征的總個數,如圖2所示,用“1”表示該位代表的特征被選中;用“0”表示該位代表的特征未被選中。隨機初始化每一個采蜜蜂位置,根據特征選擇適應度函數,賦予每一個采蜜蜂適應度值,并將其開采次數trial置為0,即trail=0。其中,特征選擇適應度函數的計算方式為:Fit=w*(1-Acc)+(1-w)*(N1/N2)(1)其中,Fit為適應度函數值,Acc為基于數據集利用10-fold交叉驗證法計算得到的學習算法(可以為分類算法、回歸算法和聚類算法等)的準確率,也就是將數據集隨機分成等數目的10份數據子集,每一次將其中一份作為測試集,剩余九份為訓練集,以此計算學習算法準確率,依次輪流計算10次,取平均值為最終學習算法準確率Acc;N1為采蜜蜂位置中置為“1”的個數,而N2為數據集中原始特征的總個數;w為權重值,其作用是平衡學習算法準確率和特征個數之間的矛盾,取值范圍為[0,1]。(3)基于人工蜂群算法(ArtificialBeeColonyAlgorithm)的更新方式,更新采蜜蜂位置,計算新個體的適應度值并更新其開采次數:具體來說,人工蜂群算法(ArtificialBeeColonyAlgorithm)的更新方式為:其中,R為0~1的隨機數,xij代表第i個采蜜蜂第j個位置的值,vij為xij更新后的值。NOT代表取反邏輯操作,即將“1”變為“0”,將“0”變為“1”。如果更新后個體適應度值大于原來個體,則將其對應的開采次數trail加1。(4)計算選擇概率模型函數,依概率模型選擇一個采蜜蜂作為觀察蜂,更新觀察蜂位置,計算新個體的適應度值并更新其開采次數trail:選擇概率模型函數的計算方式為:其中,Fiti為第i個采蜜蜂的適應度值,pi為第i個采蜜蜂被選中的概率。選中某個采蜜蜂后,將其作為觀察蜂,根據式(2),更新觀察蜂位置。如果更新后個體適應度值大于原來個體,則將其對應的開采次數trail加1。(5)觀察開采次數,實施采蜜蜂位置更新機制:觀察采蜜蜂對應的開采次數trail,如果開采次數trail大于或等于最大開采次數Limit,則將此采蜜蜂的位置替換為一個重新隨機初始化的位置,即一段隨機初始化的二進制編碼。(6)保留目前為止最優解位置,即代表最優特征子集。(7)若達到最大迭代次數,則轉至步驟(8);否則,重復步驟(2)~步驟(6)。(8)輸出最優特征子集。以下,將本發明應用于醫學疾病的數據分類,并進行測試,數據來源于UCI標準數據庫,表1展示了各個數據的特性。數據名稱特征數目實例數目類別數目HeartDisease132702Pima87682Parkinson221952BreastCancer305692表1表2為采用本發明對醫學疾病的數據分類的結果。測試的目標是提高分類器的準確率和減少所用特征的個數。可以看出,本發明的數據分類準確率遠遠高于基于原始特征集合的準確率,與此同時,學習算法所采用的特征數目也大大小于原始特征數目。表明本發明在大大提高學習算法準確率的同時,可以有效地減少使用的特征數目,達到了預期的目的。表2不難發現,本發明利用人工蜂群算法來對特征選擇這個典型組合優化問題進行優化求解,此外,考慮到在提高學習算法準確率的同時,也要實現對最優特征個數的最小化,將最優特征個數的影響也加入到問題的求解,從而克服了傳統特征選擇搜索方法計算成本高,效率低下的缺陷,在保證學習算法的準確率的同時也減少了最優特征的個數,大大減少了研究人員后期數據處理的復雜度和工作量。當前第1頁1 2 3