基于動(dòng)態(tài)規(guī)劃和K-means聚類的特征選擇算法
【專利摘要】本發(fā)明公開了一種基于動(dòng)態(tài)規(guī)劃和K?means聚類的特征選擇算法,包括步驟:1)數(shù)據(jù)預(yù)處理,主要解決特征數(shù)據(jù)中存在的數(shù)據(jù)重復(fù)、數(shù)據(jù)屬性值缺失問題;2)借助動(dòng)態(tài)規(guī)劃的核心思想預(yù)選擇出特征子集,并且采用類間類內(nèi)距離作為動(dòng)態(tài)規(guī)劃決策過程中的性能函數(shù);3)改進(jìn)原始的K?means聚類算法,并且使用改進(jìn)后的K?means算法對(duì)動(dòng)態(tài)規(guī)劃階段生成的特征子集進(jìn)行聚類,剔除冗余特征,優(yōu)化選擇出的特征子集。本發(fā)明能夠選擇出低噪聲、強(qiáng)相關(guān)、無冗余的特征子集,實(shí)現(xiàn)特征的有效降維,提高機(jī)器學(xué)習(xí)算法的泛化能力和學(xué)習(xí)效率,降低算法的運(yùn)行時(shí)間,最終生成一個(gè)簡單高效且易于理解的學(xué)習(xí)模型。
【專利說明】
基于動(dòng)態(tài)規(guī)劃和K-means聚類的特征選擇算法
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及特征工程W及機(jī)器學(xué)習(xí)領(lǐng)域,尤其是指一種基于動(dòng)態(tài)規(guī)劃和K-means 聚類的特征選擇算法。
【背景技術(shù)】
[0002] 動(dòng)態(tài)規(guī)劃的核屯、思想為:將復(fù)雜的原問題分解為若干個(gè)簡單子問題,若干個(gè)子問 題亦可稱之若干個(gè)階段,則原問題的求解過程轉(zhuǎn)變?yōu)榍蠼舛鄠€(gè)階段的過程,通過運(yùn)些子問 題(多階段)的解從而得出原問題的解。各個(gè)階段最開始時(shí)所處的客觀條件稱之為該階段的 狀態(tài),當(dāng)某一階段的狀態(tài)確定后,往往可W做出不同的決定,從而進(jìn)入下一階段,運(yùn)種決定 稱之為決策,做出決策的判斷依據(jù)為相應(yīng)的性能函數(shù),各個(gè)階段的決策所構(gòu)成的序列則稱 之為策略。目前,有一些研究已經(jīng)將動(dòng)態(tài)規(guī)劃和特征選擇進(jìn)行了結(jié)合,如使用"賭"函數(shù)作為 動(dòng)態(tài)規(guī)劃的性能函數(shù),從而實(shí)現(xiàn)特征選擇。采用"賭"函數(shù)作為動(dòng)態(tài)規(guī)劃的性能函數(shù)增加了 計(jì)算成本,且單獨(dú)使用動(dòng)態(tài)規(guī)劃選擇出的特征子集之間存在冗余。
[0003] K-means聚類算法又稱K-均值聚類算法,它根據(jù)對(duì)象(樣本)之間的相似性將對(duì)象 分屬到相應(yīng)類別中,同一類別中的對(duì)象具有較高的相似性,不同類別中的對(duì)象具有明顯的 差異性,因此可W利用它剔除冗余特征。但K-means聚類算法本身存在聚類個(gè)數(shù)無法確定、 容易陷入局部最優(yōu)解等缺點(diǎn),同時(shí),單獨(dú)使用K-means聚類算法進(jìn)行特征選擇時(shí)不能保證選 擇出的特征子集具有低噪聲、強(qiáng)相關(guān)的特點(diǎn)。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種行之有效、綜合性能較強(qiáng)的基 于動(dòng)態(tài)規(guī)劃和K-means聚類的特征選擇算法,簡稱DKFS(Dynamic programming and K- means clustering Feature Selection)算法。
[0005] 為實(shí)現(xiàn)上述目的,本發(fā)明所提供的技術(shù)方案為:基于動(dòng)態(tài)規(guī)劃和K-means聚類的特 征選擇算法,包括W下步驟:
[0006] 1)數(shù)據(jù)預(yù)處理,主要解決特征數(shù)據(jù)中存在的數(shù)據(jù)重復(fù)、數(shù)據(jù)屬性值缺失問題;
[0007] 2)借助動(dòng)態(tài)規(guī)劃的核屯、思想預(yù)選擇出特征子集,并且采用類間類內(nèi)距離作為動(dòng)態(tài) 規(guī)劃決策過程中的性能函數(shù);
[000引3)改進(jìn)原始的K-means聚類算法,重點(diǎn)集中在確定聚類個(gè)數(shù)及選取初始中屯、點(diǎn)運(yùn) 兩方面對(duì)原始的K-means聚類算法進(jìn)行優(yōu)化改進(jìn),并且引入加權(quán)歐氏距離,其改進(jìn)思想是: 使用迭代法確定聚類個(gè)數(shù),利用標(biāo)準(zhǔn)差進(jìn)行加權(quán)歐氏距離的計(jì)算,采用加權(quán)歐氏距離W及 最大最小距罔的原理進(jìn)行初始中屯、點(diǎn)的選取;最后使用改進(jìn)后的K-means算法對(duì)動(dòng)態(tài)規(guī)劃 階段生成的特征子集進(jìn)行聚類,剔除冗余特征,優(yōu)化選擇出的特征子集。
[0009]在步驟2)中,首先原始特征空間經(jīng)過數(shù)據(jù)歸一化處理;其次根據(jù)相應(yīng)準(zhǔn)則確定迭 代次數(shù),即動(dòng)態(tài)規(guī)劃得出的近似最優(yōu)的特征個(gè)數(shù),具體是采用迭代法確定特征個(gè)數(shù),即在選 取不同特征個(gè)數(shù)的情況下運(yùn)行算法,最終確定最佳的特征個(gè)數(shù);接著進(jìn)入第一階段,從候選 特征空間中只考慮一個(gè)特征,若某個(gè)特征使得性能函數(shù)取得最優(yōu)值,則將該特征加入到最 終特征空間中,且從候選特征空間中將其刪除,候選特征空間即為原始特征空間;緊接著判 斷最終特征空間中的特征個(gè)數(shù)是否滿足要求,若滿足,則得到最終的特征空間,否則,進(jìn)入 第二個(gè)階段;同樣的從候選特征空間中只考慮一個(gè)特征,該特征和最終特征空間組合成最 新的最終特征空間,若最新的最終特征空間使得性能函數(shù)取得最優(yōu)值,則更新最終特征空 間,將特征加入到最終特征空間中,且從候選特征空間中將其刪除;重復(fù)上述過程,直至選 擇出滿足相應(yīng)要求的特征為止;
[0010]在給出基于類間類內(nèi)距離的動(dòng)態(tài)規(guī)劃方法的具體實(shí)現(xiàn)過程前定義如下性質(zhì),假設(shè) 樣本個(gè)數(shù)為n,特征個(gè)數(shù)為m,類別個(gè)數(shù)為C;
[00川定義1 :樣本數(shù)據(jù)化化=(;Xl,X2...Xn)T,其中Xi= (Xil,Xi2...Xim),町即樣本Xi在第j維 特征上的值;
[001^ 定義2:特征數(shù)據(jù)Feature=化,F(xiàn)2...Fm),其中Fj = (xij,X2j...Xnj)T,xij即樣本Xi在第 j維特征上的值;
[001;3]定義3:樣本5日1啡16 = (1)日1:日扣日加"6),其中樣本可從形式化如下:
[0014]
[0015]
[0016]
[0017]其中nc為類別C中樣本的個(gè)數(shù),m為總的特征維數(shù),m'為已選特征子集中的特征維 數(shù),柳樣本Xi在已選特征子集中相應(yīng)第j維特征上的值,苗為指定類別下樣本在已 選特征子集中相應(yīng)第j維特征上的均值;
[001引定義5:類間距焉
[0019] 其中^為所有樣本在已選特征子集中相應(yīng)第j維特征上的均值;
[0020] 定義6:性能函i )
[0021 ]所述動(dòng)態(tài)規(guī)劃方法的具體實(shí)現(xiàn)如下:
[0022] 輸入:所有樣本數(shù)據(jù)Sample = (Data Jeature),類別數(shù)C,迭代次數(shù)t
[0023] 輸出:最優(yōu)特征子集Re suit
[0024] 步驟;
[0025] 2.1)Re'""V = 0 ;
[0026] 2.2)對(duì)于任意FiG 化ea1:ure-Re suit),計(jì)算J(Fi U Re suit);
[0027] 2.3)選擇使得J(Fi U Re suit)最大的Fi;
[0028] 2.4)如果滿足迭代次數(shù),則返回Re suit,否則Re SUlt = FiURe suit,跳至步驟 2.2)。
[0029] 在步驟3)中,聚類個(gè)數(shù)的確定如下:
[0030] 首先確定聚類個(gè)數(shù)的范圍,即特征子集劃分成幾類,若特征個(gè)數(shù)為n,則聚類個(gè)數(shù) 的范圍為[2,^/^;|s其次按照相同間隔選擇聚類個(gè)數(shù),觀察該聚類個(gè)數(shù)下聚類精度或者分類器 的分類性能;最后確定使得聚類精度或者分類器的分類性能達(dá)到最優(yōu)的聚類個(gè)數(shù)為K- means聚類算法的聚類數(shù)目;
[0031] 加權(quán)歐氏距離的計(jì)算如下:
[0032] 使用各個(gè)特征維度下樣本的標(biāo)準(zhǔn)差來判斷特征的重要性,從而進(jìn)行特征的加權(quán), 其定義方式如下:
[003;3 ]假設(shè)向量Xl = ( Xll, X12... Xlm)和Xn = ( Xnl,Xn2... X皿),則:
[0037] 加權(quán)歐氏距離:[00;3 引
[0034]
[0035]
[0036]
[0039] 其中t G (1,表示第t維特征的均值,Y/表示第t維特征的標(biāo)準(zhǔn)差,Wt表示 第t維特征的權(quán)重;
[0040] 初始中屯、點(diǎn)的選擇如下:
[0041 ]輸入:特征信息化ature= (Fi,F2…Fm),聚類個(gè)數(shù)即初始中屯、點(diǎn)個(gè)數(shù)k,人為設(shè)定的 dl值,d2值,dl > d2,每個(gè)特征的密度值初始化為0,即:
[0042] density(Fi) =0
[0043] 輸出:初始中屯、點(diǎn) initialCentoids = (Fi,F2 …Fk)
[0044] 步驟;
[0045] 3.3.1) inilialCentoids = 0 .
[0046] 3.3.2)對(duì)于任意FiG!^ature,計(jì)算density(Fi),即特征的密度值,計(jì)算方式如下:
[0047] 對(duì)于任意FjG (Fea1:ure-Fi),執(zhí)行如下操作:
[004引 densit}KFi) = density(Fi)+lif dis 1:an ce(Fi,Fj)<dl
[0049] 其中dis化n ce(Fi,F(xiàn)j)為特征Fi和門之間的加權(quán)歐式距離,見上式;
[0050] 3.3.3)tFeature = max(density(Fi)),其中Fi GFeature,則tFea1:ure為第一個(gè)初 始中屯、點(diǎn),將tFeaUire加入到initialCentoids集合中;
[0化1] 3.3.4)對(duì)于任意。1£化6曰化'6-;[]1;[1:1曰1〔6]11:〇1(13),
[0052] 計(jì)算dis tan ce(Fi,initialCentoids) =min(dis tan ce(Fi,Fj)),
[0053] FjG initialCentoids,則:
[0054] tFeature=max(density(Fi))
[0化5]其中 distance 化i, ini tialCentoids) >d2;
[0化6] 3.3.5)tFea1:ure為下一個(gè)初始中屯、點(diǎn),將tFeature加入到initialCentoids集合 中;
[0化7] 3.3.6)重復(fù)步驟3.3.4)-3.3.5)的操作,直至滿足結(jié)束條件為止;
[0058] 首先計(jì)算每個(gè)樣本的密度,密度定義為:若其他樣本與自身的距離小于人為設(shè)定 的dl值,則密度加1,運(yùn)樣能夠減少離群點(diǎn)對(duì)聚類結(jié)果的影響;接著選擇密度最大的樣本點(diǎn) 作為第一個(gè)初始中屯、點(diǎn);緊接著計(jì)算剩余樣本集合中每個(gè)樣本點(diǎn)與所有初始中屯、點(diǎn)的距 離,則每個(gè)樣本點(diǎn)與初始中屯、點(diǎn)集合的最終距離為樣本點(diǎn)與所有初始中屯、點(diǎn)的距離中最小 的距離,若某樣本點(diǎn)與初始中屯、點(diǎn)集合的最終距離大于d2且該樣本點(diǎn)的密度最大,則選擇 該樣本點(diǎn)作為下一個(gè)初始中屯、點(diǎn),運(yùn)樣能夠避免初始中屯、點(diǎn)過于密集,導(dǎo)致算法陷入局部 最優(yōu);重復(fù)上述步驟,直至選擇出指定個(gè)數(shù)的初始中屯、點(diǎn)。
[0059] 本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn)與有益效果:
[0060] UDWS算法巧妙地結(jié)合了動(dòng)態(tài)規(guī)劃的核屯、思想,利用動(dòng)態(tài)規(guī)劃預(yù)選擇出近似最優(yōu) 的特征子集,確保特征子集具有低噪聲、強(qiáng)相關(guān)的特點(diǎn);
[0061] 2、DWS算法采用類間類內(nèi)距離作為動(dòng)態(tài)規(guī)劃決策過程中的性能函數(shù),使得預(yù)選擇 出的特征子集具有更強(qiáng)的類別區(qū)分能力;
[0062] 3、DKFS算法從聚類個(gè)數(shù)的確定和初始中屯、點(diǎn)的選取兩方面對(duì)原始的K-means聚類 算法進(jìn)行改進(jìn),提高了聚類準(zhǔn)確率,一定程度上改善了聚類效果;
[0063] 4、DKFS算法使用改進(jìn)后的K-means算法對(duì)動(dòng)態(tài)規(guī)劃選擇出的特征子集進(jìn)行聚類, 較大程度地剔除冗余特征,確保特征子集之間的冗余性降到最低。
【附圖說明】
[0064] 圖1為DKIK算法基本流程圖。
[0065] 圖2為基于類間類內(nèi)距離的動(dòng)態(tài)規(guī)劃方法基本流程圖。
[0066] 圖3a為聚類個(gè)數(shù)過大效果演示圖。
[0067] 圖3b為聚類個(gè)數(shù)過小效果演示圖。
[0068] 圖4為初始中屯、點(diǎn)選取不當(dāng)效果演示圖。
【具體實(shí)施方式】
[0069] 下面結(jié)合具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。
[0070] 如圖1所示,本實(shí)施例所述的基于動(dòng)態(tài)規(guī)劃和K-means聚類的特征選擇算法,即 DKFS(DynamiC programming and K-means clustering Feature Selection)算法,包括W 下步驟:
[0071] I)利用相應(yīng)的數(shù)據(jù)預(yù)處理方法解決特征數(shù)據(jù)中存在的數(shù)據(jù)重復(fù)、數(shù)據(jù)屬性值缺失 等問題;
[0072] 2)借助動(dòng)態(tài)規(guī)劃的核屯、思想預(yù)選擇出特征子集,并且采用類間類內(nèi)距離作為動(dòng)態(tài) 規(guī)劃決策過程中的性能函數(shù);
[0073] 3)改進(jìn)原始的K-means聚類算法,重點(diǎn)集中在確定聚類個(gè)數(shù)及選取初始中屯、點(diǎn)運(yùn) 兩方面對(duì)原始的K-means聚類算法進(jìn)行優(yōu)化改進(jìn),并且引入加權(quán)歐氏距離,其改進(jìn)思想是: 使用迭代法確定聚類個(gè)數(shù),利用標(biāo)準(zhǔn)差進(jìn)行加權(quán)歐氏距離的計(jì)算,采用加權(quán)歐氏距離W及 最大最小距罔的原理進(jìn)行初始中屯、點(diǎn)的選取;最后使用改進(jìn)后的K-means算法對(duì)動(dòng)態(tài)規(guī)劃 階段生成的特征子集進(jìn)行聚類,剔除冗余特征,優(yōu)化選擇出的特征子集。
[0074] 如圖2所示,描述了基于類間類內(nèi)距離的動(dòng)態(tài)規(guī)劃方法的基本過程。首先原始特征 空間經(jīng)過數(shù)據(jù)歸一化等數(shù)據(jù)預(yù)處理后轉(zhuǎn)換成完整、無噪聲、質(zhì)量較好的特征空間。其次根據(jù) 相應(yīng)準(zhǔn)則確定迭代次數(shù),即動(dòng)態(tài)規(guī)劃得出的近似最優(yōu)的特征個(gè)數(shù),本發(fā)明提出的算法采用 迭代法確定特征個(gè)數(shù),即在選取不同特征個(gè)數(shù)的情況下運(yùn)行算法,最終確定使得實(shí)驗(yàn)效果 取得最佳的特征個(gè)數(shù)。接著進(jìn)入第一階段,從候選特征空間中只考慮一個(gè)特征,若某個(gè)特征 使得性能函數(shù)取得最優(yōu)值,則將該特征加入到最終特征空間中,且從候選特征空間中將其 刪除,候選特征空間即為原始特征空間。緊接著判斷最終特征空間中的特征個(gè)數(shù)是否滿足 要求,若滿足,則得到最終的特征空間,否則,進(jìn)入第二個(gè)階段。同樣的從候選特征空間中只 考慮一個(gè)特征,該特征和最終特征空間組合成最新的最終特征空間,若最新的最終特征空 間使得性能函數(shù)取得最優(yōu)值,則更新最終特征空間,將特征加入到最終特征空間中,且從候 選特征空間中將其刪除。重復(fù)上述過程,直至選擇出滿足相應(yīng)要求的特征為止。
[0075] 在給出基于類間類內(nèi)距離的動(dòng)態(tài)規(guī)劃方法的具體實(shí)現(xiàn)過程前定義如下性質(zhì),假設(shè) 樣本個(gè)數(shù)為n,特征個(gè)數(shù)為m,類別個(gè)數(shù)為C。
[0076] 定義1:樣本數(shù)據(jù)Da1:a= (Xi,X2…Xn)T,其中Xi= (Xii,Xi2..'Xim),町即樣本Xi在第j維 特征上的值;
[0077] 定義2:特征數(shù)據(jù)Feature=(;Fl,F(xiàn)2...Fm),其中Fj = (Xlj,X2j…Xnj)T,xリ即樣本Xi在第 j維特征上的值;
[007引定義3:樣本Sample = (Data,化ature),其中樣本可W形式化如下:
[0079]
[0080]
[0081 ] 定義4:類內(nèi)距長
[0082] 其中nc為類別C中樣本的個(gè)數(shù),m為總的特征維數(shù),m'為已選特征子集中的特征維 數(shù),m'《m,Xij即樣本Xi在已選特征子集中相應(yīng)第j維特征上的值,.Tj為指定類別下樣本在已 選特征子集中相應(yīng)第j維特征上的均值;
[0083] 定義5:類間距離
[0084] 其中^為所有樣本在已選特征子集中相應(yīng)第j維特征上的均值;
[0085] 定義6:性能函數(shù)
;
[0086] 動(dòng)態(tài)規(guī)劃方法的具體實(shí)現(xiàn)如下:
[0087] 輸入:所有樣本數(shù)據(jù)Sample = (Data Jeature),類別數(shù)C,迭代次數(shù)t
[0088] 輸出:最優(yōu)特征子集Re suit
[0089] 步驟;
[0090] Stepl
;
[0091] step2:對(duì)于任意FiG 化ea1:ure-Re suit),計(jì)算J(FiURe suit);
[0092] step3:選擇使得J(FiURe suit)最大的Fi;
[0093] step4:如果滿足迭代次數(shù),則返回Re suit;
[0094] 否則Re SUlt=FiURe suit,跳至step2;
[00M]本發(fā)明提出的DKFS算法采用類間類內(nèi)距離作為決策過程中的性能函數(shù),利用動(dòng)態(tài) 規(guī)劃的思想迭代選擇特征。由于后一階段的最優(yōu)特征僅僅相對(duì)于前一階段的特征空間而 言,忽略了其他的特征組合情況,因此運(yùn)一階段產(chǎn)生的特征子集從全局來看只有近似最優(yōu) 解的性質(zhì),但是生成的特征子集仍然能夠良好地反映出樣本的分布情況,與所要解決的問 題具有強(qiáng)相關(guān)性。通常,該階段產(chǎn)生的結(jié)果中可能存在冗余特征,因此需要對(duì)特征進(jìn)行聚 類,最終選擇無冗余且區(qū)分度高的特征。
[0096] 傳統(tǒng)K-means聚類算法的對(duì)象通常為樣本數(shù)據(jù),本發(fā)明將K-means聚類對(duì)象轉(zhuǎn)換成 特征數(shù)據(jù),即對(duì)特征進(jìn)行聚類,而非對(duì)樣本進(jìn)行聚類。K-means聚類算法具有原理簡單、便于 實(shí)現(xiàn)、且能夠高效、快速處理大數(shù)據(jù)等優(yōu)勢(shì),運(yùn)些優(yōu)勢(shì)使其成為經(jīng)典的聚類算法之一。同樣 的K-means聚類算法也存在缺點(diǎn),如事先需要確定聚類個(gè)數(shù)、聚類效果依賴于初始中屯、點(diǎn)的 選取、不適用于非球形分布的樣本等等,運(yùn)些缺點(diǎn)導(dǎo)致其應(yīng)用受到局限,聚類結(jié)果存在誤 差,如圖3曰、圖3b和圖4所示,因此本發(fā)明提出先對(duì)K-means聚類算法進(jìn)行改進(jìn),之后再利用 改進(jìn)后的K-means算法進(jìn)行特征聚類。本發(fā)明重點(diǎn)集中在確定聚類個(gè)數(shù)及選取初始中屯、點(diǎn) 運(yùn)兩方面對(duì)K-means聚類算法進(jìn)行優(yōu)化改進(jìn),并且引入加權(quán)歐氏距離。
[0097] 1)加權(quán)歐氏距離
[0098] 傳統(tǒng)的K-means聚類算法通常采用歐式距離衡量對(duì)象(樣本)之間的相似性,歐式 距離計(jì)算簡單、應(yīng)用廣泛、但其忽略了樣本各個(gè)特征的量綱單位具有不一致性,W及沒有考 慮樣本的分布情況給結(jié)果帶來的影響,運(yùn)在一定程度上降低了 K-means算法的聚類準(zhǔn)確率, 因此,本發(fā)明引入加權(quán)歐氏距離。加權(quán)歐氏距離考慮了樣本的分布情況及特征的重要性等 因素將絕對(duì)距離轉(zhuǎn)變?yōu)橄鄬?duì)距離。
[0099] 概率統(tǒng)計(jì)中經(jīng)常使用樣本的標(biāo)準(zhǔn)差來體現(xiàn)樣本的分布情況,測量樣本的離散程 度。因此,本發(fā)明使用各個(gè)特征維度下樣本的標(biāo)準(zhǔn)差來判斷特征的重要性,從而進(jìn)行特征的 加權(quán)。其定義方式如下:
[0100] 假設(shè)向量Xl = (Xll, X12...Xlm)和Xn = (Xnl,Xn2...X皿),則:
[0101]
[0102]
[0103]
[0104] 加權(quán)歐氏距離:
[0105]
[0106] 其中t G (l,2-m),《表示第t維特征的均值,Yt嗦示第t維特征的標(biāo)準(zhǔn)差,W康示 第t維特征的權(quán)重。
[0107] 由加權(quán)歐氏距離的計(jì)算公式能夠看出特征權(quán)重越大,則特征的標(biāo)準(zhǔn)差越大,表明 該維特征下數(shù)據(jù)越離散,因此其對(duì)聚類的結(jié)果越重要,應(yīng)該對(duì)該維特征越加予W重視。
[0108] 2)確定聚類個(gè)數(shù)
[0109] 本發(fā)明提出的算法根據(jù)分類性能或者聚類精度的好壞確定聚類個(gè)數(shù)。首先確定聚 類個(gè)數(shù)的范圍,即特征子集劃分成幾類,若特征個(gè)數(shù)為n,則聚類個(gè)數(shù)的范圍為[2, vq。其次 按照相同間隔選擇聚類個(gè)數(shù),觀察該聚類個(gè)數(shù)下聚類精度或者分類器的分類性能。最后確 定使得聚類精度或者分類器的分類性能達(dá)到最優(yōu)的聚類個(gè)數(shù)為K-means聚類算法的聚類數(shù) 目。
[0110] 3)選擇初始中屯、點(diǎn)
[0111] 本發(fā)明在上述加權(quán)歐氏距離的基礎(chǔ)上,利用最大最小距離的原理,W及借鑒袁方 等人的思想,提出如下選擇初始中屯、點(diǎn)的算法,由于本發(fā)明對(duì)特征進(jìn)行聚類,因此將特征當(dāng) 作"樣本",樣本當(dāng)作"特征",算法描述如下:
[0W]輸入:特征信息!^ature =化,F(xiàn)2…Fm),聚類個(gè)數(shù)即初始中屯、點(diǎn)個(gè)數(shù)k,人為設(shè)
[0113] 定的dl值,d2值,dl >d2,每個(gè)特征的密度值初始化為0,即:
[0114] density(Fi) =0
[0115] 輸出:初始中屯、點(diǎn) initialCentoids = (Fi,F2 …Fk)
[0116] 步驟:
[0117] Stepl:病泌泌肢曲獻(xiàn)淑=巧;
[011引 step2:對(duì)于任意FiG!^ature,計(jì)算density(Fi),即特征的密度值,計(jì)算方式如下:
[0119]
[0120] 對(duì)于任意FjG化ea化re-Fi),執(zhí)行如下操作:
[0121] densit}KFi) = density(Fi)+lif dis 1:an ce(Fi,Fj)<dl
[0122] 其中dis化n ce(Fi,F(xiàn)j)為特征Fi和Fj之間的加權(quán)歐式距離,見上式;
[0123] step3: tFea1:ure =max(density(Fi)),其中FiG!^ature,則tFea1:ure為第一個(gè)初
[0124] 始中屯、點(diǎn),將tFea1:ure加入到initialCentoids集合中;
[01 巧]step4:對(duì)于任意FiG 化ea1:ure-initialCentoids),計(jì)算
[0126] dis tan ce(Fi, initialCentoids) = min(dis tan c e (Fi, F j) ),F(xiàn) j G initialCentoids,則:
[0127] tFeature=max(density(Fi))
[01 巧]其中dis 1:an Ce化i,initialCentoids)>d2;
[01 巧]step5: tFea1:ure為下一個(gè)初始中屯、點(diǎn),將tFeature加入到;[]1;[1:1日1〔6]11:〇1(13集合 中;
[0130] step6:重復(fù)step4-step5的操作,直至滿足結(jié)束條件為止;
[0131 ]首先計(jì)算每個(gè)樣本的密度,密度定義為:若其他樣本與自身的距離小于人為設(shè)定 的dl值,則密度加一,運(yùn)樣能夠減少離群點(diǎn)對(duì)聚類結(jié)果的影響。接著選擇密度最大的樣本點(diǎn) 作為第一個(gè)初始中屯、點(diǎn)。緊接著計(jì)算剩余樣本集合中每個(gè)樣本點(diǎn)與所有初始中屯、點(diǎn)的距 離,則每個(gè)樣本點(diǎn)與初始中屯、點(diǎn)集合的最終距離為樣本點(diǎn)與所有初始中屯、點(diǎn)的距離中最小 的距離,若某樣本點(diǎn)與初始中屯、點(diǎn)集合的最終距離大于d2且該樣本點(diǎn)的密度最大,則選擇 該樣本點(diǎn)作為下一個(gè)初始中屯、點(diǎn),運(yùn)樣能夠避免初始中屯、點(diǎn)過于密集,導(dǎo)致算法陷入局部 最優(yōu)。重復(fù)上述步驟,直至選擇出指定個(gè)數(shù)的初始中屯、點(diǎn)。
[0132] W上所述實(shí)施例只為本發(fā)明之較佳實(shí)施例,并非W此限制本發(fā)明的實(shí)施范圍,故 凡依本發(fā)明之形狀、原理所作的變化,均應(yīng)涵蓋在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 基于動(dòng)態(tài)規(guī)劃和κ-means聚類的特征選擇算法,其特征在于,包括以下步驟: 1) 數(shù)據(jù)預(yù)處理,主要解決特征數(shù)據(jù)中存在的數(shù)據(jù)重復(fù)、數(shù)據(jù)屬性值缺失問題; 2) 借助動(dòng)態(tài)規(guī)劃的核心思想預(yù)選擇出特征子集,并且采用類間類內(nèi)距離作為動(dòng)態(tài)規(guī)劃 決策過程中的性能函數(shù); 3) 改進(jìn)原始的K-means聚類算法,重點(diǎn)集中在確定聚類個(gè)數(shù)及選取初始中心點(diǎn)這兩方 面對(duì)原始的K-means聚類算法進(jìn)行優(yōu)化改進(jìn),并且引入加權(quán)歐氏距離,其改進(jìn)思想是:使用 迭代法確定聚類個(gè)數(shù),利用標(biāo)準(zhǔn)差進(jìn)行加權(quán)歐氏距離的計(jì)算,采用加權(quán)歐氏距離以及最大 最小距尚的原理進(jìn)行初始中心點(diǎn)的選取;最后使用改進(jìn)后的K-means算法對(duì)動(dòng)態(tài)規(guī)劃階段 生成的特征子集進(jìn)行聚類,剔除冗余特征,優(yōu)化選擇出的特征子集。2. 根據(jù)權(quán)利要求1所述的基于動(dòng)態(tài)規(guī)劃和K-means聚類的特征選擇算法,其特征在于: 在步驟2)中,首先原始特征空間經(jīng)過數(shù)據(jù)歸一化處理;其次根據(jù)相應(yīng)準(zhǔn)則確定迭代次數(shù),即 動(dòng)態(tài)規(guī)劃得出的近似最優(yōu)的特征個(gè)數(shù),具體是采用迭代法確定特征個(gè)數(shù),即在選取不同特 征個(gè)數(shù)的情況下運(yùn)行算法,最終確定最佳的特征個(gè)數(shù);接著進(jìn)入第一階段,從候選特征空間 中只考慮一個(gè)特征,若某個(gè)特征使得性能函數(shù)取得最優(yōu)值,則將該特征加入到最終特征空 間中,且從候選特征空間中將其刪除,候選特征空間即為原始特征空間;緊接著判斷最終特 征空間中的特征個(gè)數(shù)是否滿足要求,若滿足,則得到最終的特征空間,否則,進(jìn)入第二個(gè)階 段;同樣的從候選特征空間中只考慮一個(gè)特征,該特征和最終特征空間組合成最新的最終 特征空間,若最新的最終特征空間使得性能函數(shù)取得最優(yōu)值,則更新最終特征空間,將特征 加入到最終特征空間中,且從候選特征空間中將其刪除;重復(fù)上述過程,直至選擇出滿足相 應(yīng)要求的特征為止; 在給出基于類間類內(nèi)距離的動(dòng)態(tài)規(guī)劃方法的具體實(shí)現(xiàn)過程前定義如下性質(zhì),假設(shè)樣本 個(gè)數(shù)為η,特征個(gè)數(shù)為m,類別個(gè)數(shù)為c; 定義1 :樣本數(shù)據(jù)Data = (Xl,X2…Xn)T,其中Xi= (Xil,Xi2"_Xim),Xij即樣本Xi在第j維特征 上的值; 定義2:特征數(shù)據(jù)Feature = (Fi,F(xiàn)2"_Fm),其中Fj = (11」32』"11^)1'^』即樣本乂1在第』_維 特征上的值; 定義3:樣本Sample= (Data,F(xiàn)eature),其中樣本可以形式化如下:其中η。為類別c中樣本的個(gè)數(shù),m為總的特征維數(shù),m '為已選特征子集中的特征維數(shù),m ' Sm,Xij即樣本Xi在已選特征子集中相應(yīng)第j維特征上的值,^為指定類別下樣本在已選特 征子集中相應(yīng)第j維特征上的均值; 定義5:類間距其中T;為所有樣本在已選特征子集中相應(yīng)第j維特征上的均值; 定義6:性能函I所述動(dòng)態(tài)規(guī)劃方法的具體實(shí)現(xiàn)如下: 輸入:所有樣本數(shù)據(jù)Sampl e = (Data,F(xiàn)eature ),類別數(shù)c,迭代次數(shù)t 輸出:最優(yōu)特征子集Re su It 步驟: 2. DResiMft = 0 ; 2 · 2)對(duì)于任意Fi e (Feature-Result),計(jì)算J(Fi U Result); 2.3)選擇使得J (Fi U Re su 11)最大的Fi; 2 ·4)如果滿足迭代次數(shù),貝丨】返回Result,否則Result = Fi U Result,跳至步驟2 · 2)。3. 根據(jù)權(quán)利要求1所述的基于動(dòng)態(tài)規(guī)劃和K-means聚類的特征選擇算法,其特征在于, 在步驟3)中,聚類個(gè)數(shù)的確定如下: 首先確定聚類個(gè)數(shù)的范圍,即特征子集劃分成幾類,若特征個(gè)數(shù)為n,則聚類個(gè)數(shù)的范 圍為其次按照相同間隔選擇聚類個(gè)數(shù),觀察該聚類個(gè)數(shù)下聚類精度或者分類器的分 ., 類性能;最后確定使得聚類精度或者分類器的分類性能達(dá)到最優(yōu)的聚類個(gè)數(shù)為K-means聚 類算法的聚類數(shù)目; 加權(quán)歐氏距離的計(jì)算如下: 使用各個(gè)特征維度下樣本的標(biāo)準(zhǔn)差來判斷特征的重要性,從而進(jìn)行特征的加權(quán),其定 義方式如下: 假設(shè)向量父1=(叉11,叉12'11111)和父11=(叉111,叉112'11?),貝11:其中氏(1,2-_!11),尤表示第_特征的均值,¥/表示第#隹特征的標(biāo)準(zhǔn)差,^表示第_ 特征的權(quán)重; 初始中心點(diǎn)的選擇如下: 輸入:特征信息Feature = (Fi,F2…Fm),聚類個(gè)數(shù)即初始中心點(diǎn)個(gè)數(shù)k,人為設(shè)定的dl 值,d2值,dl > d2,每個(gè)特征的密度值初始化為O,即: density(Fi) =O 輸出:初始中心點(diǎn)initialCentoids= (Fi,F(xiàn)2…Fk) 步驟: 3.3.1) iniiialCcnioids - 0 , 3.3.2) 對(duì)于任意FiGFeature,計(jì)算density(Fi),即特征的密度值,計(jì)算方式如下: 對(duì)于任意FjG (Feature-Fi),執(zhí)行如下操作: density(Fi) =density(Fi)+l if distance(Fi,Fj)<dl 其中distance (Fi, Fj)為特征Fi和Fj之間的加權(quán)歐式距離,見上式; 3 · 3 · 3) tFeature=max(density (Fi)),其中Fi e Feature,則tFeature為第一個(gè)初始中 心點(diǎn),將tFeature加入到initialCentoids集合中; 3.3.4)對(duì)于任意FiG (Feature-initialCentoids), 計(jì)算distance(Fi,initialCentoids) =min(distance(Fi,F(xiàn)j)), Fj G initialCentoids,則: tFeature=max(density(Fi)) 其中distance (Fi,initialCentoids) >d2; 3 · 3 · 5)tFeature為下一個(gè)初始中心點(diǎn),將tFeature加入到initialCentoids集合中; 3.3.6)重復(fù)步驟3.3.4 )-3.3.5)的操作,直至滿足結(jié)束條件為止; 首先計(jì)算每個(gè)樣本的密度,密度定義為:若其他樣本與自身的距離小于人為設(shè)定的dl 值,則密度加1,這樣能夠減少離群點(diǎn)對(duì)聚類結(jié)果的影響;接著選擇密度最大的樣本點(diǎn)作為 第一個(gè)初始中心點(diǎn);緊接著計(jì)算剩余樣本集合中每個(gè)樣本點(diǎn)與所有初始中心點(diǎn)的距離,則 每個(gè)樣本點(diǎn)與初始中心點(diǎn)集合的最終距離為樣本點(diǎn)與所有初始中心點(diǎn)的距離中最小的距 離,若某樣本點(diǎn)與初始中心點(diǎn)集合的最終距離大于d2且該樣本點(diǎn)的密度最大,則選擇該樣 本點(diǎn)作為下一個(gè)初始中心點(diǎn),這樣能夠避免初始中心點(diǎn)過于密集,導(dǎo)致算法陷入局部最優(yōu); 重復(fù)上述步驟,直至選擇出指定個(gè)數(shù)的初始中心點(diǎn)。
【文檔編號(hào)】G06K9/62GK106022385SQ201610363758
【公開日】2016年10月12日
【申請(qǐng)日】2016年5月26日
【發(fā)明人】董敏, 曹丹, 劉皓熙, 畢盛
【申請(qǐng)人】華南理工大學(xué)