紀(jì)峰 馬圓月 劉瑩
1.陜西環(huán)保產(chǎn)業(yè)研究院有限公司;2.西安微電子技術(shù)研究所
針對(duì)圖像特征選擇問(wèn)題,特征屬性過(guò)多不但會(huì)造成維數(shù)災(zāi)難,而且會(huì)影響分類的正確率。在采用支持向量機(jī)分類時(shí),特征維數(shù)較高,會(huì)造成分類準(zhǔn)確率較低,運(yùn)算速度較慢等問(wèn)題。為了解決此問(wèn)題,提出Relief 算法、鯨魚算法、遺傳算法和支持向量機(jī)相結(jié)合的Relief-WGS 優(yōu)化算法,實(shí)現(xiàn)圖像特征選擇和分類。首先,使用Relief 算法對(duì)特征集進(jìn)行初步篩選,其次,將篩選的特征子集個(gè)數(shù)和支持向量機(jī)參數(shù)編碼到鯨魚-遺傳算法中,最后對(duì)特征子集進(jìn)行優(yōu)化的同時(shí),對(duì)支持向量機(jī)參數(shù)也進(jìn)行同步優(yōu)化。計(jì)算結(jié)果表明,所提出的算法能在去除掉不重要特征的同時(shí)對(duì)支持向量機(jī)參數(shù)進(jìn)行優(yōu)化,有效地提高圖像分類準(zhǔn)確率。
近年來(lái),隨著圖像技術(shù)的發(fā)展和相關(guān)應(yīng)用的普及,為了能更好地反映圖像特征,使圖像更有效地應(yīng)用在多個(gè)方面,為此需要在提高圖像識(shí)別度的問(wèn)題上不斷地進(jìn)行研究。圖像分類準(zhǔn)確率的高低取決于所利用的分類特征是否能夠很好地反映所要研究的分類問(wèn)題。一般而言,特征集中或多或少都包含著一些對(duì)分類結(jié)果無(wú)貢獻(xiàn)的特征,這些特征也稱為冗余特征,過(guò)多的冗余特征不僅會(huì)使運(yùn)算變得復(fù)雜,處理速度下降,而且可能會(huì)導(dǎo)致分類精度降低,因此需要選用對(duì)分類識(shí)別作用較大的特征[1]。本文對(duì)提取的紋理特征進(jìn)行篩選,根據(jù)各個(gè)特征和類別的相關(guān)性進(jìn)行特征選擇,降低特征空間維數(shù),加快算法的運(yùn)算效率。
支持向量機(jī)(Support Vector Machine, SVM)作為一種基本的監(jiān)督學(xué)習(xí)方法,被廣泛應(yīng)用于文本識(shí)別、圖像識(shí)別等[2]。SVM 的原理是通過(guò)構(gòu)建分類超平面作為決策面來(lái)最大化不同類型數(shù)據(jù)之間的差異,有效避免局部最優(yōu),在處理有限樣本、高維和非線性數(shù)據(jù)等復(fù)雜問(wèn)題時(shí)具有獨(dú)特的優(yōu)勢(shì)。本文結(jié)合鯨魚優(yōu)化算法和遺傳算法來(lái)提高算法的精確度和獲得全局最優(yōu)解。遺傳算法(Genetic Algorithm,GA)是通過(guò)模擬自然進(jìn)化過(guò)程搜索最優(yōu)化的方法[3]。它有著較好的全局搜索能力和保持種群的多樣性,但是計(jì)算效率較低。鯨魚優(yōu)化算法(Whale Optimization Algorithm)具有強(qiáng)大的全局搜索能力,但是在迭代后期容易陷入局部最優(yōu)解不能得到全局最優(yōu)解[4]。因此,將兩種算法結(jié)合既可以提高算法的精確度又可以達(dá)到全局最優(yōu)解。為了減少前期的運(yùn)算量,刪除不相關(guān)的特征屬性,減少特征維度,利用Relief 算法進(jìn)行特征選擇。Relief 算法是一種針對(duì)二分類問(wèn)題通過(guò)計(jì)算特征權(quán)重對(duì)特征進(jìn)行選擇的方法。根據(jù)各個(gè)特征和類別的相關(guān)性賦予特征不同的權(quán)重,權(quán)重小于某個(gè)閾值的特征將被移除[5]。采用這種方法可以在分類前期降低樣本維數(shù),減少計(jì)算量。
綜上所述,本文提出了一種Relief-WGS 優(yōu)化算法。該算法首先使用Relief 算法對(duì)特征集進(jìn)行初步篩選,其次,將篩選的特征子集個(gè)數(shù)和SVM 參數(shù)一起編碼到鯨魚-遺傳算法中,再對(duì)特征子集進(jìn)行優(yōu)化的同時(shí),對(duì)SVM 參數(shù)進(jìn)行同步優(yōu)化,實(shí)現(xiàn)圖像分類。
首先利用Relief 作為特征預(yù)選器濾除相關(guān)性小的特征,以WSO-GA 作為搜索算法,SVM 的分類精度作為評(píng)估函數(shù),在剩余特征中選擇最優(yōu)特征子集,最后利用SVM 分類器對(duì)所選擇的最優(yōu)特征進(jìn)行分類。
Relief 算法是一種典型的過(guò)濾式算法,在對(duì)特征樣本進(jìn)行選擇與分類的過(guò)程中相互獨(dú)立,過(guò)濾式算法的通用性比較強(qiáng)并且計(jì)算的復(fù)雜度比較低,適合對(duì)大數(shù)據(jù)的特征樣本進(jìn)行特征選擇[6]。Relief 算法中特征和類別的相關(guān)性是基于特征對(duì)近距離樣本的區(qū)分能力。核心原理是根據(jù)各個(gè)特征和類別之間的相關(guān)性給每個(gè)特征不同的權(quán)重,將權(quán)重和閾值進(jìn)行比較,當(dāng)權(quán)重比閾值小時(shí)則將該特征刪除。權(quán)重值越大則表明該特征代表某圖像的能力越強(qiáng),反之權(quán)重越小則該特征代表某圖像的能力越弱。
SVM 算法是一個(gè)凸優(yōu)化問(wèn)題,其原理是用分離超平面作為分離訓(xùn)練數(shù)據(jù)的線性函數(shù),解決線性分類問(wèn)題。假設(shè)訓(xùn)練樣本集合其中,xi∈Rn表示訓(xùn)練樣本,yi∈ {1 , - 1}表示輸入樣本的類別。訓(xùn)練的最終目的是找到一個(gè)最優(yōu)分類面,使得兩類樣本之間以最大間隔分開,使泛化誤差達(dá)到最小或者有上界。這個(gè)最優(yōu)分類面即超平面,該超平面可描述為如式(1)所示:
式(1)中x為樣本,ω為權(quán)向量,b為分類閾值。
遺傳算法(Genetic Algorithm, GA)是一種依據(jù)生物界優(yōu)勝劣汰的進(jìn)化準(zhǔn)則衍生出的隨機(jī)優(yōu)化搜索方法。GA 算法的核心思想是先隨機(jī)得到一個(gè)父代種群,通過(guò)計(jì)算種群中每一個(gè)個(gè)體的適應(yīng)度值,然后對(duì)得到的值進(jìn)行排序,從中找出適應(yīng)度值最大或最小的n個(gè)個(gè)體,確定種群的進(jìn)化方向,然后對(duì)個(gè)體中的染色體進(jìn)行遺傳操作,得到新的子代種群,經(jīng)過(guò)有限次迭代之后,得到問(wèn)題的近似最優(yōu)解,GA 算法包括三個(gè)基本操作:選擇、交叉和變異。
鯨魚優(yōu)化算法是一種基于復(fù)雜優(yōu)化問(wèn)題進(jìn)行尋優(yōu)的算法,模擬了座頭鯨群體的捕獵行為。該算法可分為包圍收縮、螺旋捕食和搜索獵物三步。
(1)包圍收縮。該階段對(duì)鯨群識(shí)別獵物并且收縮包圍圈的動(dòng)作進(jìn)行模擬。
(2)螺旋捕食。在圍捕獵物時(shí),鯨魚通過(guò)螺旋向上游動(dòng)的方式向獵物移動(dòng)并吐出氣泡對(duì)獵物進(jìn)行捕食,即在螺旋更新位置的同時(shí)對(duì)包圍圈進(jìn)行收縮。
(3)搜索獵物。當(dāng)≥1時(shí),鯨魚隨機(jī)選擇一個(gè)領(lǐng)導(dǎo)個(gè)體,以此進(jìn)行全局搜索。
對(duì)于參數(shù)優(yōu)化問(wèn)題,GA 算法有著較好的全局搜索能力和種群的多樣性,但由于要經(jīng)歷選擇、交叉和變異三步操作才能得到下代種群,因而計(jì)算效率較低,收斂速度較慢。由于鯨魚算法在控制參數(shù)尋優(yōu)時(shí)會(huì)出現(xiàn)實(shí)際的優(yōu)化搜索過(guò)程不能完全體現(xiàn),導(dǎo)致存在求解精度低、收斂速度慢和易陷入局部最優(yōu)的缺點(diǎn)。因此,將遺傳算法與鯨魚算法進(jìn)行結(jié)合可以提升算法的收斂效果[7]。
基于以上研究,提出Relief-WGS 優(yōu)化算法,其流程圖如圖1 所示。該算法首先使用Relief 算法對(duì)數(shù)據(jù)特征集進(jìn)行初步的篩選,然后將SVM 的參數(shù)和篩選的特征子集編碼到WOA-GA 算法中,以SVM 的分類精度構(gòu)建適應(yīng)度函數(shù),同時(shí)優(yōu)化特征子集和SVM 的參數(shù),具體流程分為如下幾個(gè)步驟:
圖1 Relief-WGS 算法流程圖Fig.1 Relief-WGS algorithm flowchart
步驟1:采用Relief 算法對(duì)圖像特征進(jìn)行第一次提取,得到特征矩陣;
步驟2:WOA-GA 算法進(jìn)行參數(shù)初始化,種群大小為30,迭代次數(shù)為50,算法的終止條件為達(dá)到迭代次數(shù)或連續(xù)十代的適應(yīng)度值不變;
步驟3:生成初代種群,由于SVM 的懲罰系數(shù)C和核參數(shù)σ采用實(shí)數(shù)編碼,而對(duì)特征的二次篩選是通過(guò)0、1 進(jìn)行,0 表示沒(méi)有選擇該特征,1 表示選擇該特征,采用二進(jìn)制編碼;
步驟4:將個(gè)體的后N位帶入樣本中進(jìn)行特征的第二次篩選;
步驟5:將個(gè)體的前兩位帶入SVM 模型中,結(jié)合二次篩選的訓(xùn)練樣本,確定SVM 分類模型;
步驟6:將二次篩選測(cè)試樣本帶入確定的SVM 中,得到分類結(jié)果;
步驟7:計(jì)算初代種群的適應(yīng)度值;
步驟8:根據(jù)初代種群的適應(yīng)度值進(jìn)入鯨魚算法中,計(jì)算每一頭鯨魚的適應(yīng)度值,更新個(gè)體位置;
步驟9:將位置更新的鯨魚個(gè)體代入到遺傳算法中,經(jīng)過(guò)交叉和變異操作,得到新的種群;
步驟10:返回步驟4,計(jì)算新種群的適應(yīng)度值;
步驟11:判斷是否滿足終止條件,若滿足,則輸出最終結(jié)果;若不滿足,繼續(xù)對(duì)種群進(jìn)行處理,直至滿足終止條件,得到最終結(jié)果。
本實(shí)驗(yàn)為了驗(yàn)證Relief-WGS 算法的有效性,將特征子集個(gè)數(shù)和SVM 參數(shù)一起編碼到WOA-GA 算法中,在對(duì)SVM 參數(shù)進(jìn)行優(yōu)化的同時(shí)對(duì)所有特征進(jìn)行同步優(yōu)化。在實(shí)驗(yàn)時(shí)需要對(duì)數(shù)據(jù)和參數(shù)進(jìn)行如下幾步處理。
為了提高SVM 的分類準(zhǔn)確率,將需要用于分類的所選數(shù)據(jù)樣本進(jìn)行歸一化處理,并將其分為訓(xùn)練樣本和測(cè)試樣本進(jìn)行后續(xù)分類。
本文使用WOA-GA 算法對(duì)SVM 的參數(shù)進(jìn)行優(yōu)化。設(shè)置算法的迭代次數(shù)為50,個(gè)體長(zhǎng)度設(shè)定為2,遺傳算法中交叉和變異概率是基于適應(yīng)度值自適應(yīng)計(jì)算得來(lái)的,鯨魚算法位置更新是根據(jù)適應(yīng)度值計(jì)算。
適應(yīng)度函數(shù)統(tǒng)一設(shè)置為如式(2)-式(4)所示:
式(2)中we1為訓(xùn)練樣本識(shí)別結(jié)果的權(quán)重,we2為測(cè)試樣本識(shí)別結(jié)果的權(quán)重,m1為訓(xùn)練樣本的總數(shù),m2為測(cè)試樣本的總數(shù),nsv1為訓(xùn)練樣本分類正確的結(jié)果,nsv2為測(cè)試樣本分類正確的結(jié)果,fitness越小,表明綜合的分類準(zhǔn)確率越高[8]。
利用從每組訓(xùn)練樣本中選擇優(yōu)化后的核參數(shù)來(lái)對(duì)樣本進(jìn)行新一輪的訓(xùn)練,獲得SVM 的分類模型,然后通過(guò)測(cè)試樣本來(lái)測(cè)試模型的分類精度。實(shí)驗(yàn)選取UCI 數(shù)據(jù)庫(kù)中的5 種數(shù)據(jù)集進(jìn)行試驗(yàn),所選取數(shù)據(jù)集的基本信息如表1 所示。
表1 實(shí)驗(yàn)數(shù)據(jù)集Tab.1 Experimental datasets
利用Relief 算法對(duì)提取的特征進(jìn)行篩選,保留與目標(biāo)類別相關(guān)性較大的特征,然后利用WOA-GA 算法優(yōu)化參數(shù)的SVM 算法對(duì)特征子集和核參數(shù)進(jìn)行同步優(yōu)化,獲得優(yōu)化后的特征子集。優(yōu)化特征子集的個(gè)數(shù)如表2 所示。
表2 優(yōu)化特征子集個(gè)數(shù)Tab.2 Number of optimized feature subsets
獲取的優(yōu)化特征子集通過(guò)表2 可知,利用選擇的多個(gè)優(yōu)化特征,以SVM 為分類器進(jìn)行分類,其中SVM 選用RBF 為核函數(shù)。為進(jìn)一步驗(yàn)證Relief-WGS 優(yōu)化算法的有效性,分別和默認(rèn)核參數(shù)的SVM、采用WSO-GA算法優(yōu)化參數(shù)的SVM(WGS)、Relief 算法優(yōu)化特征的SVM(Relief-SVM)進(jìn)行分類結(jié)果的比較。通過(guò)比較分類準(zhǔn)確率來(lái)評(píng)價(jià)特征選擇方法的優(yōu)劣,如表3 所示。
表3 數(shù)據(jù)集分類結(jié)果對(duì)比Tab.3 Comparison of dataset classification results
通過(guò)表3 可知,本文提出的Relief-WGS 優(yōu)化算法可以同時(shí)優(yōu)化特征子集和SVM 的參數(shù),實(shí)現(xiàn)以優(yōu)化的特征子集和優(yōu)化的SVM 參數(shù)來(lái)提高分類的準(zhǔn)確率。為了進(jìn)一步驗(yàn)證Relief-WGS 優(yōu)化算法的有效性,將其與SVM、WGS 和Relief-SVM 進(jìn)行比較,實(shí)驗(yàn)結(jié)果顯示:
(1)對(duì)于任意的特征數(shù)據(jù)而言,使用WGS 優(yōu)化算法進(jìn)行參數(shù)尋優(yōu)后的分類準(zhǔn)確率比采用默認(rèn)參數(shù)的SVM高,證明了對(duì)傳統(tǒng)的SVM 中的參數(shù)進(jìn)行尋優(yōu),找到優(yōu)化的控制參數(shù),可以提高SVM 的分類準(zhǔn)確率。
(2)使用Relief-SVM 優(yōu)化算法對(duì)輸入的特征向量篩選后進(jìn)行分類,分類準(zhǔn)確率均有提高,證明了利用Relief-SVM 對(duì)輸入的特征數(shù)據(jù)集進(jìn)行篩選和優(yōu)化,得到優(yōu)化的特征子集,去除掉一些特征不明顯的影響因素,減少不重要因素對(duì)分類造成的影響,可以提高分類的準(zhǔn)確率。
(3)使用本文提出的Relief-WGS 優(yōu)化算法得到的分類準(zhǔn)確率最高,證明在對(duì)特征子集和SVM 的參數(shù)同步進(jìn)行優(yōu)化時(shí),去除掉不重要的特征并對(duì)參數(shù)進(jìn)行優(yōu)化可以得到更好的分類效果。
本文提出一種Relief-WGS 優(yōu)化算法,同時(shí)優(yōu)化特征子集和SVM 的參數(shù),實(shí)現(xiàn)用優(yōu)化的特征子集和優(yōu)化的SVM 參數(shù)來(lái)提高分類的準(zhǔn)確率。通過(guò)與傳統(tǒng)的SVM、WGS 算法和Relief-SVM 算法相比,本文所提算法將圖像的平均分類準(zhǔn)確率分別提高了21.97%、4.19%和3.26%,證明了圖像分類識(shí)別的準(zhǔn)確性。結(jié)果表明,本文提出的特征選擇方法利用最少的特征獲得了最高的分類精度,更有效地用于特征選擇分類。
數(shù)字技術(shù)與應(yīng)用2023年11期