











摘要:針對使用機器學習和深度學習算法進行分類、識別任務時容易出現維度災難的問題,本文提出了一種基于t-SNE特征降維與K近鄰的分類算法。首先,分別使用主成分分析法(PCA)和t-SNE算法對特征數據進行降維,然后利用K近鄰算法進行分類預測。在手寫數字數據集和鳶尾花數據集上進行了實驗。實驗結果表明,本文提出的基于t-SNE特征降維與K近鄰的分類算法在手寫數字數據集上的準確率達到98%,比PCA算法高出約20%;在鳶尾花數據集上的準確率為97%。此外,該算法即使在維度降低幅度較大的情況下,仍能保持較高的分類準確率,同時維度降得越低,算法所需時間越少,且對不同數據集展現出較強的適應性。
關鍵詞:數據降維;分類算法;K近鄰;聚類算法
中圖分類號:TP391文獻標識碼:A
文章編號:1009-3044(2024)34-0011-03開放科學(資源服務)標識碼(OSID):
0引言
隨著數據時代的到來,數據量不斷增長,數據的維度也越來越高。數據維度增加意味著信息量更大,為決策提供了更多依據。然而,高維數據的處理需要消耗大量計算資源,計算時間顯著增加,同時冗余數據和噪聲信息可能影響實驗結果,導致準確率降低和可用性較差的情況,甚至引發“維度災難”[1]。對此,采用降維算法獲取數據的本質特征,可以縮短計算時間并提高后續算法的準確率。
數據降維的核心在于提取數據內在的本質特征,從而減少冗余信息和噪聲對結果的負面影響,提高算法的準確性和效率。常見的降維算法包括低方差濾波[2]、高相關濾波[3]、主成分分析(PCA)[4-9]、線性判別分析(LDA)[10-14]等。
其中,主成分分析(PCA)是一種應用廣泛的降維方法,在醫學、航空、光譜等領域均有重要應用。例如,謝凡等人[4]利用主成分分析、聚類方法以及BP神經網絡對湍流MILD燃燒初始著火過程進行了研究;楊文鋒等人[5]基于PCA和SVM研究了飛機蒙皮激光分層除漆過程中的LIBS在線監測問題;王磊等人[6]通過PCA實現DME信號的特征增強,并結合卷積神經網絡有效檢測DME信號;張楠等人[7]采用PCA-BP模型準確預測了腦卒中患者行走時髖、膝、踝關節的力矩。
此外,LDA降維技術應用也十分廣泛。例如,劉佳悅等人[10]利用LDA降維和BP神經網絡對手寫數字進行識別;荀鵬等人[11]采用LDA-KNN分類模型實現了巖體的非線性分級預測;靳文哲等人[12]改進了LDA算法以提升織物圖像的分類準確率;彭燦華等人[13]將LDA主題模型與曲波閾值和ICEEMDAN方法結合,對數據庫中的數據進行降噪處理以提高挖掘效率。
上述研究大多是針對某一特定數據集設計的分類方法,在不同類型的數據集上不一定具有良好的適用性。因此,本文提出了一種通用的分類算法。算法首先使用t-SNE算法進行特征降維,然后結合K近鄰(KNN)算法完成分類任務。本文采用手寫數字數據集和鳶尾花數據集進行實驗,通過對比多組PCA降維算法實驗結果,驗證該通用分類算法的效果和適用性。
1基本原理
1.1t-SNE算法
t-SNE(t-distributedstochasticneighborembed?ding)降維算法是一種非線性降維的機器學習算法,能夠在降低向量維度的同時很好地捕捉原始數據的復雜流形結構[15]。其主要思想是將高維空間中的數據點通過概率分布反映點與點之間的相似度,并通過優化低維數據分布的方式來盡量保持高維空間中數據的鄰域結構。
具體來說,t-SNE首先將高維歐幾里得距離轉換為條件概率,用來表達兩點之間的相似度。給定高維空間中的數據點x1,x2,…,xn,以xi為中心構建方差為σi的高斯分布,并計算數據點xj關于xi的鄰域概率pj|i。當點xj靠近xi時,其鄰域概率pj|i較大;反之,當xj離xi很遠時,其鄰域概率pj|i則較小。定義如下:
在低維空間中,也使用條件概率來定義距離,高維數據點xi、xj映射到低維空間后對應yi、yj,則yj是yi鄰域的條件概率qj|i為:
然后利用低維的條件概率分布Qi去擬合高維的條件概率分布Pi,采用Kullback-Leibler(K-L)散度來衡量兩者之間的一致程度,從而確定低維分布與高維分布的相似性,最終通過最小化K-L散度實現降維。其目標函數定義為:
1.2K近鄰算法
K近鄰算法(K-NearestNeighbor,KNN)是一種經典的有監督學習方法,常用于解決分類問題。其原理是:在輸入待分類數據時,將該數據的每個特征與訓練集中樣本數據的對應特征進行比較,隨后選擇訓練集中前K個最相似的數據點,并根據這K個數據中出現次數最多的分類標簽,確定待分類數據的類別。
在該研究中,首先采用t-SNE算法對數據集進行降維。然后,對降維后保留的特征構建特征矩陣。假設訓練集中包含n個圖像,則由這些圖像構成的特征矩陣可表示為:
在(5)式中,Xn×l矩陣也稱為特征空間X,n代表訓練集中圖像的個數,l表示特征的維度。當輸入待分類的數據時,首先進行特征降維,即選擇與訓練集降維后的相同特征進行保留。并構成特征向量為:
Xj=(X"j1,Xj2,…,Xjl)(6)
則待分類數據與訓練集中樣本的距離定義為:
在(7)式中,當p=1時,稱為曼哈頓距離;當p=2時,稱為歐式距離,即:
2實驗測試與結果分析
分別采用手寫數字數據集、鳶尾花(iris)數據集進行實驗。
2.1手寫數字數據集
手寫數字數據集包含1934個圖像,涵蓋數字0至9,每個數字約有200個樣本。圖像的尺寸為32像素×32像素,因此每個樣本包含1024個特征變量。
首先,分別采用主成分分析方法(PCA)和t-SNE算法對手寫數字數據進行降維,其中PCA將數據降至3維,t-SNE將數據降至2維,降維結果如圖1和圖2所示。
由圖1和圖2可以看出,無論是將數據降至3維還是降至2維,使用PCA算法時數據分布較為集中,可分性較差;而使用t-SNE算法時,數據的可分性較高,且數據分布約形成10個簇,表明t-SNE算法的降維效果更優。此外,使用t-SNE算法將數據降至3維時所需時間為5.6秒,而降至2維時所需時間為3.1秒,這說明t-SNE算法在降維至更低維度時,計算所需時間更少。
接下來,將降維后的數據劃分為訓練集和測試集,采用KNN算法進行分類預測,并計算識別的準確率,結果如表1所示。
由表1可以看出,在手寫數字數據集中,使用t-SNE算法降維后再結合KNN算法進行分類,分類準確率均在98%以上,比PCA算法高出約20%。此外,在降維至更低維度時,t-SNE算法的分類準確率下降較小,能夠更好地保證數據分類的準確性。
2.2鳶尾花數據集
鳶尾花數據集共有150個樣本,包含5個變量,其中4個為特征變量,分別是花萼長度(cm)、花萼寬度(cm)、花瓣長度(cm)和花瓣寬度(cm);另1個為目標分類變量,表示花的類別。目標變量對應鳶尾屬下的三個亞屬,分別為山鳶尾(Iris-setosa)、變色鳶尾(Irisversicolor)和維吉尼亞鳶尾(Iris-virginica)。
首先,分別采用主成分分析方法(PCA)和t-SNE算法對鳶尾花數據進行降維至2維,降維結果如圖3所示。
將降維后的數據劃分為訓練集和測試集,采用KNN算法進行分類預測,并計算分類識別的準確率,結果如表2所示。
由圖3和表2的結果可以看出,在鳶尾花數據集中,兩種算法降維后的數據點均具有較好的可分性,數據點集中為3類樣本,且彼此較為獨立。分類準確率均在97%以上,表明兩種算法在鳶尾花數據集上均表現出較好的適應性。
3結束語
本文主要研究了基于t-SNE特征降維和K近鄰的分類算法,分別采用PCA算法和t-SNE算法對特征數據進行降維,并對降維后的數據利用KNN算法進行分類預測。為了驗證算法的適應性,分別在手寫數字數據集和鳶尾花數據集上進行了實驗。
實驗結果表明,在手寫數字數據集中,使用t-SNE算法降維后,數據的可分性較高,降維效果較好,分類準確率達到98%以上,比PCA算法高出約20%。此外,隨著維度的降低,本算法在保證分類準確率的同時,還能顯著縮短程序運行時間。在鳶尾花數據集中,兩種算法的分類效果均較好,分類準確率均在97%以上。
綜上所述,本文提出的基于t-SNE特征降維和K近鄰的分類算法能夠在降維幅度較大的情況下,仍保持較高的分類準確率,并且隨著維度的降低,算法運行時間進一步縮短。此外,該算法對不同類型的數據集均表現出較高的適應性。
參考文獻:
[1]褚治廣,張興,張青云,等.改進成分分析的差分隱私高維數據發布方法[J].計算機應用與軟件,2023,40(10):337-344.
[2]喬銘宇,陳旻杰,張琳那.基于低方差濾波算法的改進降維算法[J].現代計算機,2021,27(20):56-59.
[3]王旭.基于高相關濾波算法的PSO-LSTM連鑄坯質量預測模型[J].冶金與材料,2021,13(4):5-7.
[4]謝凡,魯昊,張翰林,等.基于主成分分析、聚類和BP神經網絡的湍流MILD燃燒初始著火過程的分析[J].燃燒科學與技術,2023,29(6):685-692.
[5]楊文鋒,林德惠,曹宇,等.基于PCA-SVM的飛機蒙皮激光分層除漆LIBS在線監測研究[J].光譜學與光譜分析,2023,43(12):3891-3898.
[6]王磊,張勁,葉秋炫.LDACS系統基于循環譜和殘差神經網絡的頻譜感知方法[J].系統工程與電子技術,2024,46(9):3231-3238.
[7]張楠,孟慶華,鮑春雨,等.腦卒中患者運動過程中動力學特征的智能預測[J].醫用生物力學,2024,39(3):489-496.
[8]趙淑歡,葛佳琦,梁曉林,等.改進加權投票的PCA-Net多特征融合SSFR[J].計算機仿真,2023,40(4):223-230.
[9]彭藝,馮小虎,賈樹澤,等.基于PCA-DNMFSC的衛星異常檢測方法研究[J].計算機仿真,2023,40(1):48-52,142.
[10]劉佳悅.基于LDA降維和BP神經網絡的手寫數字識別[J].信息與電腦(理論版),2023,35(14):187-189,193.
[11]荀鵬,李娟,魏玉峰,等.壩肩巖體質量LDA-KNN分類模型[J].成都理工大學學報(自然科學版),2024,51(2):281-290,302.
[12]靳文哲,呂文濤,郭慶,等.基于改進3E-LDA的織物圖像分類算法[J].現代紡織技術,2024,32(6):89-96.
[13]彭燦華,韋曉敏.基于LDA主題模型的多數據庫主題詞挖掘算法[J].計算機仿真,2023,40(8):483-487.
[14]王靜,王艷麗,孫士保,等.基于非平衡數據的LDA-BPNN信用評分模型[J].計算機仿真,2023,40(2):303-308,414.
[15]邊榮正,張鑒,周亮,等.面向復雜多流形高維數據的t-SNE降維方法[J].計算機輔助設計與圖形學學報,2021,33(11):1746-1754.
【通聯編輯:唐一東】
基金項目:2021年度廣東省重點建設學科科研能力提升項目(2021ZDJS120);廣東省普通高校類科研項目(2021KTSCX269)