一種測試分類數據集的方法
【技術領域】
[0001] 本申請涉及多標記學習及其應用領域,尤其涉及一種測試分類數據集的方法。
【背景技術】
[0002] 多標記學習及其應用,是當前機器學習和數據挖掘領域的熱點研究問題。多標記 學習起源于文本分類問題。其中,每個文件可能屬于多個事先預定的不同主題。除文本分 類以外,多標記學習已廣泛應用于許多實際問題當中。例如蛋白質功能分類、語義場景分類 和音樂分類等。在功能基因組學研究中,每個基因可能隸屬于多個功能類別,例如代謝、轉 錄和蛋白質合成等;在語義場景分類問題中,一張圖片可能同時屬于多種主題類別,例如一 張圖片中如果同時存在沙灘和陽光的場景,那么在圖片分類當中,這張圖片既可以屬于沙 灘類,也可以屬于陽光類;同樣的,在音樂分類中,一首歌可以既屬于搖滾樂也可以屬于民 謠,如蝎子樂隊的歌曲。在這些應用當中,訓練集中的每個示例都屬于多個標記,而多標記 學習的任務就是通過對已知標記的訓練集數據的分析,為每個未知的示例預測輸出一組標 記集。
[0003] 現有的做法,是使用K最近鄰分類算法進行分類。該算法由Hart和Cover于上世 紀60年代末首次提出,是一種典型的Lazy型分類算法,也是基于實例學習的分類算法中比 較常用的一種方法。是基于統計的分類方法,是根據測試樣本在特征空間中K格最近鄰樣 本中的多數樣本的類別來進行分類,因此具有直觀、無需先驗統計知識等特點,從而成為非 參數分類的一種重要方法。但是此算法的精確度還有待提高。
【發明內容】
[0004] 本發明了提供了一種測試分類數據集的方法,以解決現有的KNN算法精確度不夠 高的技術問題。本發明基于粒子群優化算法,使用新的加權KNN分類算法,并將其運用到多 種多標記數據集中,對測試數據集進行測試,提高了 KNN分類算法的準確度。
[0005] 為解決上述技術問題,本發明提供了一種測試分類數據集的方法,所述方法包 括:
[0006] 步驟1,獲得分類數據集;
[0007] 步驟2,判斷所述分類數據集是否需要進行標準化,若是,使用絕對標準差的方式 對所述分類數據集進行標準化;
[0008] 步驟3,標準化之后,將所述分類數據集分成訓練集和測試集;
[0009] 步驟4,利用PSO算法學習加權KNN算法中的權重值,然后根據獲得的權重值的取 值范圍對所述訓練集進行種群初始化;
[0010] 步驟5,確定所述訓練集中每個粒子的預測標記向量,然后根據適應度函數值公式 計算每個粒子的初始度適應值;
[0011] 步驟6,根據粒子群速度公式對每個粒子進行更新操作,然后對每個粒子進行適應 度評價以及適應度排序;
[0012] 步驟7,判斷粒子是否達到停止條件;
[0013] 若滿足,轉入步驟8,根據每個粒子的適應度排序獲得優化權重值;基于所述優化 權重值對所述測試集進行分類測試;
[0014] 若不滿足,轉入步驟5。
[0015] 優選的,在所述步驟4中,利用PSO算法學習加權KNN算法中的權重值,具體包括:
[0016] 獲得距離計算公式
Cl1表示第i個粒子與全局最優粒子之間 的距離,gBestl表示全局最優粒子的位置,xil表示第i個粒子的位置,m表示粒子的總數; [0017] 每當一個粒子靠近當前全局最優位置時,增加慣性權重值w,縮小c2:
[0020] 其中
m為粒子維度值,η為種群大小,C2max= 2, c 2min= 0. 5, ω _ = 1· 1,ωηπη= 〇· 4 ;
[0021] 動態調整學習因子cl K1Q) = 4· O-C2 (i)。
[0022] 優選的,在所述步驟5中,確定所述訓練集中每個粒子的預測標記向量,具體為:
[0023] 利用0/1的的方式對所述訓練集進行標記,將每個粒子的預測標記向量確定為 0/1的向量集合,其中,〇表示標記不屬于粒子,1表示標記屬于粒子。
[0024] 優選的,在所述步驟5中,適應度函數值公式具體為:
[0026] 其中,Y表示所述訓練集的數據標記集合,N表示集合中的粒子數,Y1表示第i個 粒子的實際標記向量集,Zi表示第i個粒子的預測標記向量集。
[0027] 優選的,在所述步驟8中,基于所述優化權重值對所述測試集進行分類測試,具體 包括:
[0028] 對所述優化權重值的適應度值進行排序,然后再求取各自的平均權值;
[0029] 利用所述平均權值和預測函數,獲得所述測試集的預測類標記;
[0030] 計算所述測試集的分類準確度。
[0031] 優選的,在所述步驟8中,基于所述優化權重值對所述測試集進行分類測試,具體 還包括:
[0032] 對所述優化權重值的適應度值進行排序;
[0033] 基于排序后的優化權重值和預測函數,獲得所述測試集的最終類標記,所述最終 類標記具體是類標記匹配度最高的標記;
[0034] 計算所述測試集的分類準確度。
[0035] 優選的,在所述根據每個粒子的適應度排序獲得優化權重值之后,所述方法還包 括:
[0036] 利用所述優化權重值對待分類數據集進行分類預測。
[0037] 通過本發明的一個或者多個技術方案,本發明具有以下有益效果或者優點:
[0038] 在本發明中,描述了一種測試分類數據集的方法。在獲得分類數據集之后,若需要 對其進行標準化處理,則使用絕對標準差的方式對所述分類數據集進行標準化;將PSO算 法與KNN分類算法進行結合,利用PSO算法學習加權KNN算法中的權重值,提出了基于PSO 算法的加權KNN分類算法,對測試集進行種群初始化;在確定所述訓練集中每個粒子的預 測標記向量后,然后根據適應度函數值公式計算每個粒子的初始度適應值。通過適應度函 數值進行評價后得到最后的優化權重值,然后代入測試集進行預測。本發明在傳統KNN分 類算法的基礎上增加了數據的訓練過程,然后再對測試數據集進行預測。本發明通過使用 粒子群優化算法對傳統的數據分類進行改進,改進后的算法可以提高分類的準確度。
[0039] 進一步的,在計算初始度適應值時,是根據多標記學習中的二分類評估標準,采用 0/1向量標記集的方式,設計相應的適應度函數。
[0040] 進一步的,采用了兩種不同的方式對測試數據集進行預測,以提高分類的準確度。
【附圖說明】
[0041] 圖1為本發明實施例中測試分類數據集的流程圖;
[0042] 圖2為本發明實施例中CAL500最優適應度權值分類結果;
[0043] 圖3為本發明實施例中CAL500適應度排名前10權值分類結果;
[0044] 圖4為本發明實施例中CAL500適應度排名前20權值分類結果;
[0045] 圖5本發明實施例中CAL500適應度排名前30權值分類結果;
[0046] 圖6為本發明實施例中emotions最優適應度權值分類結果;
[0047] 圖7為本發明實施例中emotions適應度排名前10權值分類結果;
[0048] 圖8為本發明實施例中emotions適應度排名前20權值分類結果;
[0049] 圖9為本發明實施例中emotions適應度排名前30權值分類結果;
[0050] 圖10為本發明實施例中scene最優適應度權值分類結果;
[0051] 圖11為本發明實施例中scene適應度排名前10權值分類結果;
[0052] 圖12為本發明實施例中scene適應度排名前20權值分類結果;
[0053] 圖13為本發明實施例中scene適應度排名前10權值分類結果;
[0054] 圖14為本發明實施例中scene最優適應度權值分類結果;
[0055] 圖15為本發明實施例中scene適應度排名前10權值分類結果;
[0056] 圖16為本發明實施例中scene適應度排名前20權值分類結果;
[0057] 圖17為本發明實施例中scene適應度排名前30權值分類結果;
[0058] 圖18為本發明實施例中CAL500分類結果對比;
[0059] 圖19為本發明實施例中emotions分類結果對比;
[0060] 圖2