數(shù)據(jù)分類方法及裝置制造方法
【專利摘要】本公開揭示了一種數(shù)據(jù)分類方法及裝置,屬于數(shù)據(jù)分類【技術(shù)領(lǐng)域】。所述數(shù)據(jù)分類方法包括:獲取測試數(shù)據(jù),通過預定方法計算得到與測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量,稀疏系數(shù)向量是將測試數(shù)據(jù)映射到訓練得到的字典上時所得到的系數(shù)向量;計算稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離,訓練矩陣由至少兩個列向量組成,每個列向量對應(yīng)一個所屬類別;根據(jù)漢明距離確定測試數(shù)據(jù)的類別。通過計算得到測試數(shù)據(jù)的稀疏系數(shù)向量,計算稀疏系數(shù)向量與訓練矩陣中每個列向量的漢明距離,根據(jù)漢明距離確定測試數(shù)據(jù)的類別;解決了基于歐幾里得距離應(yīng)用復雜的分類器進行分類時,需要進行復雜的計算,分類效率較低的問題;達到了提高分類效率的效果。
【專利說明】數(shù)據(jù)分類方法及裝置
【技術(shù)領(lǐng)域】
[0001]本公開涉及數(shù)據(jù)分類【技術(shù)領(lǐng)域】,特別涉及一種數(shù)據(jù)分類方法及裝置。
【背景技術(shù)】
[0002]分類是一種重要的數(shù)據(jù)挖掘技術(shù)。分類的目的是根據(jù)數(shù)據(jù)集的特點構(gòu)造一個分類函數(shù)或分類器。該分類器能把未知類別的樣本映射到給定類別中,如何更好地使用分類器就成了提高分類效果的關(guān)鍵。
[0003]相關(guān)技術(shù)中在字典學習與稀疏分解算法的基礎(chǔ)上,一般的分類方法會訓練復雜的分類器并在基于歐幾里得距離下應(yīng)用分類器進行分類。
[0004]發(fā)明人在實現(xiàn)本公開的過程中,發(fā)現(xiàn)相關(guān)技術(shù)至少存在如下缺陷:一般的分類方法由于需要訓練復雜的分類器,且基于歐幾里得距離應(yīng)用該復雜的分類器進行分類時,需要進行復雜的計算,因此分類效率較低。
【發(fā)明內(nèi)容】
[0005]為了解決相關(guān)技術(shù)中基于歐幾里得距離應(yīng)用復雜的分類器進行分類時,需要進行復雜的計算,分類效率較低的問題,本公開提供一種數(shù)據(jù)分類方法及裝置。所述技術(shù)方案如下:
[0006]根據(jù)本公開實施例的第一方面,提供一種數(shù)據(jù)分類方法,所述方法包括:
[0007]獲取測試數(shù)據(jù),通過預定方法計算得到與所述測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量,所述稀疏系數(shù)向量是將所述測試數(shù)據(jù)映射到訓練得到的字典上時所得到的系數(shù)向量;
[0008]計算所述稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離,所述訓練矩陣由至少兩個列向量組成,每個列向量對應(yīng)一個用于表示所屬類別的類別標簽;
[0009]根據(jù)所述漢明距離確定所述測試數(shù)據(jù)的類別。
[0010]可選的,所述方法還包括:
[0011]選取第一訓練樣本集和第二訓練樣本集,確定每個訓練樣本集中各個訓練樣本的類別;
[0012]利用所述第一訓練樣本集獲取所述字典;
[0013]將所述第二訓練樣本集中的每個訓練樣本在所述字典下分解為訓練稀疏系數(shù)向量,將分解得到的所述稀疏系數(shù)向量確定為訓練稀疏系數(shù)向量,所述訓練稀疏系數(shù)向量為列向量;
[0014]將得到的各個訓練稀疏系數(shù)向量級聯(lián)獲得所述訓練矩陣;
[0015]根據(jù)每個所述訓練稀疏系數(shù)向量所對應(yīng)的類別保存所述訓練矩陣中各個列向量的類別標簽,每個所述訓練稀疏系數(shù)向量所對應(yīng)的類別為與所述訓練稀疏系數(shù)向量對應(yīng)的訓練樣本的類別。
[0016]可選的,所述利用所述第一訓練樣本集獲取所述字典,包括:
[0017]將所述第一訓練樣本集中的各個訓練樣本分別變換為列向量,將得到的各個列向量依序排列成矩陣,構(gòu)成所述字典;
[0018]或,
[0019]對于所述第一訓練樣本集中的各個訓練樣本,采用奇異值分解算法進行字典的學習,得到所述字典;
[0020]或,
[0021]根據(jù)類別對所述第一訓練樣本集中各個訓練樣本進行分組,得到至少一個訓練樣本子集,每個訓練樣本子集中的訓練樣本具有相同的類別;采用奇異值分解算法分別對各個訓練樣本子集進行字典學習,得到各個訓練樣本子集的字典;將各個訓練樣本子集的字典級聯(lián)組成獲取的所述字典。
[0022]可選的,所述通過預定方法計算得到與所述測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量,包括:
[0023]獲取訓練得到的所述字典;
[0024]利用第一公式計算得到所述測試數(shù)據(jù)的稀疏系數(shù)向量;
[0025]其中,所述第一公式為:min(x) | x 1; s.t.y = Dx, D為所述字典,y為所述測試數(shù)據(jù),X為所述稀疏系數(shù)向量。
[0026]可選的,所述根據(jù)所述漢明距離確定所述測試數(shù)據(jù)的類別,包括:
[0027]根據(jù)所述漢明距離,從所述訓練矩陣中選取出與漢明距離最小值對應(yīng)的各個列向量;
[0028]統(tǒng)計各個所述列向量所對應(yīng)的每種類別標簽的數(shù)量;
[0029]將數(shù)量最多的類別標簽所指示的類別,確定為所述測試數(shù)據(jù)的類別。
[0030]根據(jù)本公開實施例的第二方面,提供一種數(shù)據(jù)分類裝置,所述裝置包括:
[0031]第一計算模塊,被配置為獲取測試數(shù)據(jù),通過預定方法計算得到與所述測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量,所述稀疏系數(shù)向量是將所述測試數(shù)據(jù)映射到訓練得到的字典上時所得到的系數(shù)向量;
[0032]第二計算模塊,被配置為計算所述稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離,所述訓練矩陣由至少兩個列向量組成,每個列向量對應(yīng)一個用于表示所屬類別的類別標簽;
[0033]確定模塊,被配置為根據(jù)所述漢明距離確定所述測試數(shù)據(jù)的類別。
[0034]可選的,所述裝置還包括:
[0035]選取模塊,被配置為選取第一訓練樣本集和第二訓練樣本集,確定每個訓練樣本集中各個訓練樣本的類別;
[0036]獲取模塊,被配置為利用所述第一訓練樣本集獲取所述字典;
[0037]分解模塊,被配置為將所述第二訓練樣本集中的每個訓練樣本在所述字典下分解為稀疏系數(shù)向量,將分解得到的所述稀疏系數(shù)向量確定為訓練稀疏系數(shù)向量,所述訓練稀疏系數(shù)向量為列向量;
[0038]級聯(lián)模塊,被配置為將得到的各個訓練稀疏系數(shù)向量級聯(lián)獲得所述訓練矩陣;
[0039]保存模塊,被配置為根據(jù)每個所述訓練稀疏系數(shù)向量所對應(yīng)的類別保存所述訓練矩陣中各個列向量的類別標簽,每個所述訓練稀疏系數(shù)向量所對應(yīng)的類別為與所述訓練稀疏系數(shù)向量對應(yīng)的訓練樣本的類別。
[0040]可選的,所述獲取模塊,包括:
[0041]第一獲取子模塊,被配置為將所述第一訓練樣本集中的各個訓練樣本分別變換為列向量,將得到的各個列向量依序排列成矩陣,構(gòu)成所述字典;
[0042]或,
[0043]第二獲取子模塊,被配置為對于所述第一訓練樣本集中的各個訓練樣本,采用奇異值分解算法進行字典的學習,獲得所述字典;
[0044]或,
[0045]第三獲取子模塊,被配置為根據(jù)類別對所述第一訓練樣本集中各個訓練樣本進行分組,得到至少一個訓練樣本子集,每個訓練樣本子集中的訓練樣本具有相同的類別;采用奇異值分解算法分別對各個訓練樣本子集進行字典學習,得到各個訓練樣本子集的字典;將各個訓練樣本子集的字典級聯(lián)組成獲取的所述字典。
[0046]可選的,所述第一計算模塊,包括:
[0047]第四獲取子模塊,被配置為獲取訓練得到的所述字典;
[0048]計算子模塊,被配置為利用第一公式計算得到所述測試數(shù)據(jù)的稀疏系數(shù)向量;
[0049]其中,所述第一公式為:min(x) | x 1; s.t.y = Dx, D為所述字典,y為所述測試數(shù)據(jù),X為所述稀疏系數(shù)向量。
[0050]可選的,所述確定模塊,包括:
[0051]選取子模塊,被配置為根據(jù)所述漢明距離,從所述訓練矩陣中選取出與漢明距離最小值對應(yīng)的各個列向量;
[0052]統(tǒng)計子模塊,被配置為統(tǒng)計各個所述列向量所對應(yīng)的每種類別標簽的數(shù)量;
[0053]確定子模塊,被配置為將數(shù)量最多的類別標簽所指示的類別,確定為所述測試數(shù)據(jù)的類別。
[0054]根據(jù)本公開實施例的第三方面,提供一種數(shù)據(jù)分類裝置,所述裝置包括:
[0055]處理器;
[0056]用于存儲所述處理器可執(zhí)行指令的存儲器;
[0057]其中,所述處理器被配置為:
[0058]獲取測試數(shù)據(jù),通過預定方法計算得到與所述測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量,所述稀疏系數(shù)向量是將所述測試數(shù)據(jù)映射到訓練得到的字典上時所得到的系數(shù)向量;
[0059]計算所述稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離,所述訓練矩陣由至少兩個列向量組成,每個列向量對應(yīng)一個用于表示所屬類別的類別標簽;
[0060]根據(jù)所述漢明距離確定所述測試數(shù)據(jù)的類別。
[0061]本公開的實施例提供的技術(shù)方案可以包括以下有益效果:
[0062]通過計算得到與測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量,計算稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離,根據(jù)漢明距離確定測試數(shù)據(jù)的類別;由于在測試時只需計算漢明距離就能確定測試數(shù)據(jù)的類別,因此解決了基于歐幾里得距離應(yīng)用復雜的分類器進行分類時,需要進行復雜的計算,分類效率較低的問題;達到了提高分類效率的效果。
[0063]應(yīng)當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性的,并不能限制本公開。
【專利附圖】
【附圖說明】
[0064]此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本公開的實施例,并于說明書一起用于解釋本公開的原理。
[0065]圖1是根據(jù)一示例性實施例示出的一種數(shù)據(jù)分類方法的流程圖;
[0066]圖2是根據(jù)另一示例性實施例示出的一種數(shù)據(jù)分類方法的流程圖;
[0067]圖3是根據(jù)一示例性實施例示出的一種數(shù)據(jù)分類裝置的框圖;
[0068]圖4是根據(jù)另一示例性實施例示出的一種數(shù)據(jù)分類裝置的框圖;
[0069]圖5是根據(jù)一示例性實施例示出的一種用于進行數(shù)據(jù)分類的裝置的框圖。
【具體實施方式】
[0070]這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本公開相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。
[0071]圖1是根據(jù)一示例性實施例示出的一種數(shù)據(jù)分類方法的流程圖,如圖1所示,該數(shù)據(jù)分類方法可以包括以下步驟。
[0072]在步驟101中,獲取測試數(shù)據(jù),通過預定方法計算得到與測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量,稀疏系數(shù)向量是將測試數(shù)據(jù)映射到訓練得到的字典上時所得到的系數(shù)向量。
[0073]在步驟102中,計算稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離,訓練矩陣由至少兩個列向量組成,每個列向量對應(yīng)一個用于表示所屬類別的類別標簽。
[0074]在步驟103中,根據(jù)漢明距離確定測試數(shù)據(jù)的類別。
[0075]綜上所述,本公開實施例中提供的數(shù)據(jù)分類方法,通過計算得到與測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量,計算稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離,根據(jù)漢明距離確定測試數(shù)據(jù)的類別;由于在測試時只需計算漢明距離就能確定測試數(shù)據(jù)的類另IJ,因此解決了基于歐幾里得距離應(yīng)用復雜的分類器進行分類時,需要進行復雜的計算,分類效率較低的問題;達到了提高分類效率的效果。
[0076]圖2是根據(jù)另一示例性實施例示出的一種數(shù)據(jù)分類方法的流程圖,如圖2所示,該數(shù)據(jù)分類方法可以包括以下步驟。
[0077]在步驟201中,選取第一訓練樣本集和第二訓練樣本集,確定每個訓練樣本集中各個訓練樣本的類別。
[0078]這里的第一訓練樣本集和第二訓練樣本集可以是從一個總訓練樣本集中選取得至IJ,第一訓練樣本集中的訓練樣本可以與第二訓練樣本集中的訓練樣本相同、部分相同或者全部不同。
[0079]舉例來講,在一個總訓練樣本集中有10000個訓練樣本,此時可以選取3000個訓練樣本作為第一訓練樣本集,選取剩下的7000個訓練樣本作為第二訓練樣本集;或者選取6000個訓練樣本作為第一訓練樣本集,選取7000個訓練樣本作為第二訓練樣本集,其中在第一訓練樣本集和第二訓練樣本集中有3000個相同的訓練樣本;或者選取全部10000個訓練樣本作為第一訓練樣本集和第二訓練樣本集,這樣第一訓練樣本集和第二訓練樣本集中的訓練樣本就全部相同。
[0080]在確定第一訓練樣本集和第二訓練樣本集中每個訓練樣本的類別時,可以根據(jù)預留在總訓練樣本集中各個訓練樣本的分類信息來確定。
[0081]在步驟202中,利用第一訓練樣本集獲取字典。
[0082]在利用第一訓練樣本集獲取字典時,可以通過以下三種方式實現(xiàn)。
[0083]在第一種實現(xiàn)方式中,將第一訓練樣本集中的各個訓練樣本分別變換為列向量,將得到的各個列向量依序排列成矩陣,構(gòu)成字典。
[0084]舉例來講,第一訓練樣本集中有10000張mXn的圖像作為訓練樣本,首先將每幅圖像轉(zhuǎn)換為(m*n)Xl的列向量,得到10000個列向量,將這10000個列向量級聯(lián)為一個(m*n) X 10000的矩陣,即該矩陣的行數(shù)為m*n,列數(shù)為10000,該矩陣即為得到的字典。其中,該矩陣中10000個列向量與第一訓練樣本集中的10000個訓練樣本——對應(yīng),也即矩陣中的一個列向量對應(yīng)第一訓練樣本集中的一個訓練樣本,且不同列向量對應(yīng)不同的訓練樣本。
[0085]在第二種實現(xiàn)方式中,對于第一訓練樣本集中的各個訓練樣本,采用奇異值分解KSVD算法進行字典的學習,得到字典。
[0086]這里的奇異值分解算法主要步驟為:獲取初始化字典,采用正交匹配跟蹤算法計算得到稀疏系數(shù)矩陣,根據(jù)得到的稀疏系數(shù)矩陣利用第二公式迭代地更新字典與稀疏系數(shù)矩陣。
[0087]這里的第二公式為:min(X,D) ( Y-DX F)2s.t.| Xi |彡T。,其中X為稀疏系數(shù)矩陣,D為字典,Y為訓練樣本矩陣。
[0088]奇異值分解算法是本領(lǐng)域普通技術(shù)人員都能夠?qū)崿F(xiàn)的,這里就不再詳述。
[0089]在第三種實現(xiàn)方式中,根據(jù)類別對第一訓練樣本集中各個訓練樣本進行分組,得到至少一個訓練樣本子集,每個訓練樣本子集中的訓練樣本具有相同的類別;采用奇異值分解算法分別對各個訓練樣本子集進行字典學習,得到各個訓練樣本子集的字典;將各個訓練樣本子集的字典級聯(lián)組成獲取的字典。
[0090]在步驟203中,將第二訓練樣本集中的每個訓練樣本在該字典下分解為稀疏系數(shù)向量,將分解得到的稀疏系數(shù)向量確定為訓練稀疏系數(shù)向量,訓練稀疏系數(shù)向量為列向量。
[0091]這里的字典是通過步驟202中的任意一種實現(xiàn)方式得到的。
[0092]在將第二訓練樣本集中的每個訓練樣本在字典下分解為稀疏系數(shù)向量時,可以利用第一公式計算得到每個訓練樣本對應(yīng)的稀疏系數(shù)向量。
[0093]其中,第一公式為:min(x) | x | 11; s.t.y = Dx, D為通過步驟202中的任意一種實現(xiàn)方式得到的字典,Y為第二訓練樣本集中的一個訓練樣本,X為需要求解的稀疏系數(shù)向量。
[0094]為了便于區(qū)分訓練過程中和測試過程中所涉及的稀疏系數(shù)向量,將訓練過程中得到的稀疏系數(shù)向量稱為訓練系數(shù)系統(tǒng)向量。
[0095]對于第二訓練樣本中的每個訓練樣本,均可以利用上述的第一公式得到的一個訓練稀疏系數(shù)向量,即第二訓練樣本中的一個訓練樣本與一個訓練稀疏系數(shù)向量對應(yīng)。
[0096]在步驟204中,將得到的各個訓練稀疏系數(shù)向量級聯(lián)獲得訓練矩陣,根據(jù)每個訓練稀疏系數(shù)向量所對應(yīng)的類別保存訓練矩陣中各個列向量的類別標簽。
[0097]每個訓練稀疏系數(shù)向量所對應(yīng)的類別為與訓練稀疏系數(shù)向量對應(yīng)的訓練樣本的類別。訓練矩陣中的各個列向量對應(yīng)各個訓練稀疏系數(shù)向量。在實際使用時,可以通過預存在總訓練集中各個訓練樣本的類別信息來確定每個訓練稀疏系數(shù)向量的類別,并保存訓練矩陣中各個列向量的類別標簽。
[0098]在計算得到各個訓練樣本所對應(yīng)的訓練稀疏系數(shù)向量后,由于每個訓練稀疏系數(shù)向量均為列向量,因此可以將這些訓練稀疏系數(shù)向量進行級聯(lián),得到訓練矩陣,得到的訓練矩陣中每個列向量即為一個訓練稀疏系數(shù)向量,且訓練矩陣中各個列向量分別與得到的各個訓練稀疏系數(shù)向量一一對應(yīng)。這里得到的訓練矩陣可以用于對數(shù)據(jù)進行分類的測試階段。
M (d)
[0099]比如,在得到訓練稀疏系數(shù)向量b和e后,將這兩個訓練稀疏系數(shù)向量進行級
VcJ l/y
"a d 彳?αλ卜)
聯(lián)得到訓練矩陣b e。其中,訓練矩陣中的列向量b即為訓練稀疏系統(tǒng)向量b,訓練
vc fJUJUy
--λ 卩)
矩陣中的列向量e即為訓練稀疏系數(shù)向量e。為了簡要說明,這里僅列舉了兩個訓練稀
f f
KiJVV
疏系數(shù)向量來級聯(lián)得到訓練矩陣,在實際應(yīng)用中,用于級聯(lián)為訓練矩陣的訓練稀疏系數(shù)向量的數(shù)量非常多,但級聯(lián)過程與上述的級聯(lián)過程相同。
[0100]此外,由于訓練矩陣中的每個列向量均是由一個訓練稀疏系數(shù)向量得到的,而一個訓練稀疏系數(shù)向量所對應(yīng)的類別為與該訓練稀疏系數(shù)向量對應(yīng)的訓練樣本的類別,因此訓練矩陣中的每個列向量對應(yīng)一個所屬類別,且該類別為該列向量所對應(yīng)的訓練稀疏系數(shù)向量所對應(yīng)的類別。
[0101]舉例來講,存在訓練樣本X1、X2、X3、X4、X5、X6,這些訓練樣本分別對應(yīng)的訓練稀疏系數(shù)向量分別為:
、彳卜彳卜彳卜彳卜彳卜、
[0102]“22“23^24“25^26
\a3lJ \a32j \a33j \a 34 J \U35 J \α3β J ^
、、.、、.、7
[0103]由這些訓練稀疏系數(shù)向量級聯(lián)得到的訓練矩陣為:
i3Il “12 ai3 ^14 ^15 “16
[0104]O21 a21 O23 α24 α25 α26
\a3l α32 ctH °34 ai5 α36 J
[0105]如果訓練樣本X1、Χ2、Χ3、Χ4、Χ5、Χ6的類別分別為L1、L2、L3、L1、L2、L4,則訓練矩陣第一個列向量所對應(yīng)的類別為LI,訓練矩陣第二個列向量所對應(yīng)的類別為L2,訓練矩陣第三個列向量所對應(yīng)的類別為L3,訓練矩陣第四個列向量所對應(yīng)的類別為LI,訓練矩陣第五個列向量所對應(yīng)的類別為L2,訓練矩陣第六個列向量所對應(yīng)的類別為L4。
[0106]在步驟205中,獲取測試數(shù)據(jù),通過預定方法計算得到與測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量。
[0107]稀疏系數(shù)向量是將測試數(shù)據(jù)映射到訓練得到的字典上時所得到的系數(shù)向量。
[0108]在計算該稀疏系數(shù)向量時,需要先獲取訓練時得到的字典,這里的字典可以由步驟202中任意一種實現(xiàn)方式得到的。
[0109]在獲取字典后,利用第一公式計算得到測試數(shù)據(jù)的稀疏系數(shù)向量。
[0110]這里的第一公式為:min(x) | x | 11; s.t.y = Dx, D為通過步驟202中的任意一種實現(xiàn)方式得到的字典,I為測試數(shù)據(jù),X為需要求解的與測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量。
[0111]在步驟206中,計算稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離。
[0112]這里的訓練矩陣即為通過步驟204獲得的訓練矩陣,該訓練矩陣由至少兩個列向量組成,每個列向量對應(yīng)一個所屬類別。此外,由步驟204可知,該訓練矩陣中每個列向量為一個訓練稀疏系數(shù)向量,因此該訓練矩陣中每個列向量所對應(yīng)的類別為該列向量所對應(yīng)的訓練稀疏系數(shù)向量所對應(yīng)的類別,也即為該訓練稀疏系數(shù)向量所對應(yīng)訓練樣本的類別。
[0113]在計算稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離時,可以將稀疏系數(shù)向量與各個列向量進行比較,得到與各個列向量的漢明距離。
^ll ^12 ^13 ^14 ^15 “16
[0114]仍舊以訓練矩陣% an a23 a24 O25 O26為例,如果訓練數(shù)據(jù)的稀疏系數(shù)向
、α3ι α32 α33 α34 α35 α36 y
fbAfbA Γα,ΛfbA 卜彳⑴
量為?2,則分別計算th與a2i之間的漢明距離,與an之間的漢明距離,b2
Kb3)V^J \a3l J\b3) V^32 Jv^3y
卜]fbA卜彳fbA卜〕
與〃23之間的漢明距離,b2與α24之間的漢明距離,b2與α25之間的漢明距離, V ^33 )V J Va34 JV J V ^35 J
(h\ ({2 、υ\ α16
b2與?之間的漢明距離。
V) Vfl36 J
[0115]在進行比較時,對于每個向量中的變量只需要考慮零與非零兩種情況。
i4〕 (°)
[0116]舉例來講,稀疏系數(shù)向量為?,訓練矩陣中的某個列向量為9,由于對于向量
?4)
中的變量只需要考慮零與非零兩種情況,稀疏系數(shù)向量7只需改變一個變量,即將4變?yōu)?br>
1J
O就能得到該列向量,因此這兩個向量之間的漢明距離為I。
[0117]顯然還有其它方法計算漢明距離,本實施例對漢明距離的具體計算方法不作限定。
[0118]在步驟207中,根據(jù)漢明距離,從訓練矩陣中選取出與漢明距離最小值對應(yīng)的各個列向量。
[0119]在計算得到稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離后,比較得到漢明距離最小值,并挑選出漢明距離最小值對應(yīng)的至少一個列向量。
0Il aU aIi α?Λ ai5 α?6
[0120]仍舊以訓練矩陣<321 ?22 <?23 ?24 α25 ?26為例,如果訓練數(shù)據(jù)的稀疏系數(shù)
^ ^31 ^32 ^33 ^34 “35 ^36 J
⑷卜彳ρΛ ?ανΛ
向量為b2,則計算K與^21之間的漢明距離為1,b2與a21之間的漢明距離為3,
VJV^3 J Va31 J\a32 J
(U \ (n \(h \ (n \(h\ ?α λ
O1α13O1 αΧΑ IO1α?5
b2與α23之間的漢明距離為2,h2與U24之間的漢明距離為1,b2與七5之間的漢VJ 1^33/1^3 J \a34yv^3 J 1^35 7
?α λ
°l U16
明距離為2,b2與a26之間的漢明距離為I。
Jh) Ka36 J
[0121]則可知,漢明距離最小值為1,該漢明距離最小值對應(yīng)的列向量分別為:〃21、
'叫卜、
“24 、“26
V“34 J V ^36 J
[0122]在步驟208中,統(tǒng)計各個列向量所對應(yīng)的每種類別標簽的數(shù)量。
[0123]在挑選出與漢明距離最小值對應(yīng)的各個列向量后,統(tǒng)計這些列向量所對應(yīng)的每種類別標簽的數(shù)量。
^ Ctu ^ αι4α!6
[0124]α21和〃24的類別均為LI,^26類別為L4,也即統(tǒng)計出的類別標簽為LI的列
^3l J \a34 JKa36 y
向量的數(shù)量為2個,類別標簽為L4的列向量的數(shù)量為I個。
[0125]在步驟209中,將數(shù)量最多的類別標簽所指示的類別,確定為測試數(shù)據(jù)的類別。
[0126]由于統(tǒng)計出的類別標簽為LI的列向量的數(shù)量為2個,類別標簽為L4的列向量的數(shù)量為I個,因此將列別標簽LI所指示的類別確定為測試數(shù)據(jù)的類別。
[0127]綜上所述,本公開實施例中提供的數(shù)據(jù)分類方法,通過計算得到與測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量,計算稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離,根據(jù)漢明距離確定測試數(shù)據(jù)的類別;由于在測試時只需計算漢明距離就能確定測試數(shù)據(jù)的類另|J,因此解決了基于歐幾里得距離應(yīng)用復雜的分類器進行分類時,需要進行復雜的計算,分類效率較低的問題;達到了提高分類效率的效果。
[0128]下述為本公開裝置實施例,可以用于執(zhí)行本公開方法實施例。對于本公開裝置實施例中未披露的細節(jié),請參照本公開方法實施例。
[0129]圖3是根據(jù)一示例性實施例示出的一種數(shù)據(jù)分類裝置的框圖,如圖3所示,該數(shù)據(jù)分類裝置可以包括但不限于:第一計算模塊302、第二計算模塊304和確定模塊306。
[0130]該第一計算模塊302,被配置為獲取測試數(shù)據(jù),通過預定方法計算得到與測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量,稀疏系數(shù)向量是將測試數(shù)據(jù)映射到訓練得到的字典上時所得到的系數(shù)向量。
[0131]該第二計算模塊304,被配置為計算稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離,訓練矩陣由至少兩個列向量組成,每個列向量對應(yīng)一個用于表示所屬類別的類別標簽。
[0132]該確定模塊306,被配置為根據(jù)漢明距離確定測試數(shù)據(jù)的類別。
[0133]綜上所述,本公開實施例中提供的數(shù)據(jù)分類裝置,通過計算得到與測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量,計算稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離,根據(jù)漢明距離確定測試數(shù)據(jù)的類別;由于在測試時只需計算漢明距離就能確定測試數(shù)據(jù)的類另IJ,因此解決了基于歐幾里得距離應(yīng)用復雜的分類器進行分類時,需要進行復雜的計算,分類效率較低的問題;達到了提高分類效率的效果。
[0134]圖4是根據(jù)另一示例性實施例示出的一種數(shù)據(jù)分類裝置的框圖,如圖4所示,該數(shù)據(jù)分類裝置可以包括但不限于:第一計算模塊402、第二計算模塊404和確定模塊406。
[0135]該第一計算模塊402,被配置為獲取測試數(shù)據(jù),通過預定方法計算得到與測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量,稀疏系數(shù)向量是將測試數(shù)據(jù)映射到訓練得到的字典上時所得到的系數(shù)向量。
[0136]該第二計算模塊404,被配置為計算稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離,訓練矩陣由至少兩個列向量組成,每個列向量對應(yīng)一個用于表示所屬類別的類別標簽。
[0137]該確定模塊406,被配置為根據(jù)漢明距離確定測試數(shù)據(jù)的類別。
[0138]在一種可能的實施例中,該裝置還包括:選取模塊408、獲取模塊410、分解模塊412、級聯(lián)模塊414和保存模塊416。
[0139]該選取模塊408,被配置為選取第一訓練樣本集和第二訓練樣本集,確定每個訓練樣本集中各個訓練樣本的類別。
[0140]該獲取模塊410,被配置為利用第一訓練樣本集獲取字典。
[0141]該分解模塊412,被配置為將第二訓練樣本集中的每個訓練樣本在字典下分解為稀疏系數(shù)向量,將分解得到的稀疏系數(shù)向量確定為訓練稀疏系數(shù)向量,訓練稀疏系數(shù)向量為列向量。
[0142]該級聯(lián)模塊414,被配置為將得到的各個訓練稀疏系數(shù)向量級聯(lián)獲得訓練矩陣。
[0143]該保存模塊416,被配置為根據(jù)每個訓練稀疏系數(shù)向量所對應(yīng)的類別保存訓練矩陣中各個列向量的類別標簽,每個訓練稀疏系數(shù)向量所對應(yīng)的類別為與訓練稀疏系數(shù)向量對應(yīng)的訓練樣本的類別。
[0144]在一種可能的實施例中,該獲取模塊410可以包括:第一獲取子模塊410a、第二獲取子模塊410b或第三獲取子模塊410c。
[0145]該第一獲取子模塊410a,被配置為將第一訓練樣本集中的各個訓練樣本分別變換為列向量,將得到的各個列向量依序排列成矩陣,構(gòu)成字典。
[0146]或,
[0147]該第二獲取子模塊410b,被配置為對于第一訓練樣本集中的各個訓練樣本,采用奇異值分解算法進行字典的學習,獲得字典。
[0148]或,
[0149]該第三獲取子模塊410c,被配置為根據(jù)類別對第一訓練樣本集中各個訓練樣本進行分組,得到至少一個訓練樣本子集,每個訓練樣本子集中的訓練樣本具有相同的類別;采用奇異值分解算法分別對各個訓練樣本子集進行字典學習,得到各個訓練樣本子集的字典;將各個訓練樣本子集的字典級聯(lián)組成獲取的字典。
[0150]在一種可能的實施例中,該第一計算模塊402可以包括:第四獲取子模塊402a和計算子模塊402b。
[0151]該第四獲取子模塊402a,被配置為獲取訓練得到的字典。
[0152]該計算子模塊402b,被配置為利用第一公式計算得到測試數(shù)據(jù)的稀疏系數(shù)向量。
[0153]其中,第一公式為:min(x) | x | 11; s.t.y = Dx, D為字典,y為測試數(shù)據(jù),x為稀疏系數(shù)向量。
[0154]在一種可能的實施例中,該確定模塊406可以包括:選取子模塊406a、統(tǒng)計子模塊406b和確定子模塊406c。
[0155]該選取子模塊406a,被配置為根據(jù)漢明距離,從訓練矩陣中選取出與漢明距離最小值對應(yīng)的各個列向量。
[0156]該統(tǒng)計子模塊406b,被配置為統(tǒng)計各個列向量所對應(yīng)的每種類別標簽的數(shù)量。
[0157]該確定子模塊406c,被配置為將數(shù)量最多的類別標簽所指示的類別,確定為測試數(shù)據(jù)的類別。
[0158]綜上所述,本公開實施例中提供的數(shù)據(jù)分類裝置,通過計算得到與測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量,計算稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離,根據(jù)漢明距離確定測試數(shù)據(jù)的類別;由于在測試時只需計算漢明距離就能確定測試數(shù)據(jù)的類另IJ,因此解決了基于歐幾里得距離應(yīng)用復雜的分類器進行分類時,需要進行復雜的計算,分類效率較低的問題;達到了提高分類效率的效果。
[0159]關(guān)于上述實施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。
[0160]本公開一示例性實施例提供了一種數(shù)據(jù)分類裝置,能夠?qū)崿F(xiàn)本公開提供的數(shù)據(jù)分類方法,該數(shù)據(jù)分類裝置包括:處理器、用于存儲處理器可執(zhí)行指令的存儲器;
[0161]其中,處理器被配置為:
[0162]獲取測試數(shù)據(jù),通過預定方法計算得到與測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量,稀疏系數(shù)向量是將測試數(shù)據(jù)映射到訓練得到的字典上時所得到的系數(shù)向量;
[0163]計算稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離,訓練矩陣由至少兩個列向量組成,每個列向量對應(yīng)一個用于表示所屬類別的類別標簽;
[0164]根據(jù)漢明距離確定測試數(shù)據(jù)的類別。
[0165]圖5是根據(jù)一示例性實施例示出的一種用于進行數(shù)據(jù)分類的裝置的框圖。例如,裝置500可以被提供為一服務(wù)器。參照圖5,裝置500包括處理組件502,其進一步包括一個或多個處理器,以及由存儲器504所代表的存儲器資源,用于存儲可由處理組件502的執(zhí)行的指令,例如應(yīng)用程序。存儲器504中存儲的應(yīng)用程序可以包括一個或一個以上的每一個對應(yīng)于一組指令的模塊。此外,處理組件502被配置為執(zhí)行指令,以執(zhí)行上述數(shù)據(jù)分類方法。
[0166]裝置500還可以包括一個電源組件506被配置為執(zhí)行裝置500的電源管理,一個有線或無線網(wǎng)絡(luò)接口 508被配置為將裝置500連接到網(wǎng)絡(luò),和一個輸入輸出(I/O)接口510。裝置500可以操作基于存儲在存儲器504的操作系統(tǒng),例如Windows ServerTM, MacOS XTM, UnixTM, LinuxTM, FreeBSDTM 或類似。
[0167]本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本公開的其它實施方案。本申請旨在涵蓋本公開的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開的一般性原理并包括本公開未公開的本【技術(shù)領(lǐng)域】中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本公開的真正范圍和精神由下面的權(quán)利要求指出。
[0168]應(yīng)當理解的是,本公開并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本公開的范圍僅由所附的權(quán)利要求來限制。
【權(quán)利要求】
1.一種數(shù)據(jù)分類方法,其特征在于,所述方法包括: 獲取測試數(shù)據(jù),通過預定方法計算得到與所述測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量,所述稀疏系數(shù)向量是將所述測試數(shù)據(jù)映射到訓練得到的字典上時所得到的系數(shù)向量; 計算所述稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離,所述訓練矩陣由至少兩個列向量組成,每個列向量對應(yīng)一個用于表示所屬類別的類別標簽; 根據(jù)所述漢明距離確定所述測試數(shù)據(jù)的類別。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 選取第一訓練樣本集和第二訓練樣本集,確定每個訓練樣本集中各個訓練樣本的類別; 利用所述第一訓練樣本集獲取所述字典; 將所述第二訓練樣本集中的每個訓練樣本在所述字典下分解為稀疏系數(shù)向量,將分解得到的所述稀疏系數(shù)向量確定為訓練稀疏系數(shù)向量,所述訓練稀疏系數(shù)向量為列向量;將得到的各個訓練稀疏系數(shù)向量級聯(lián)獲得所述訓練矩陣; 根據(jù)每個所述訓練稀疏系數(shù)向量所對應(yīng)的類別保存所述訓練矩陣中各個列向量的類別標簽,每個所述訓練稀疏系數(shù)向量所對應(yīng)的類別為與所述訓練稀疏系數(shù)向量對應(yīng)的訓練樣本的類別。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用所述第一訓練樣本集獲取所述子典,包括: 將所述第一訓練樣本集中的各個訓練樣本分別變換為列向量,將得到的各個列向量依序排列成矩陣,構(gòu)成所述字典; 或, 對于所述第一訓練樣本集中的各個訓練樣本,采用奇異值分解算法進行字典的學習,獲得所述字典; 或, 根據(jù)類別對所述第一訓練樣本集中各個訓練樣本進行分組,得到至少一個訓練樣本子集,每個訓練樣本子集中的訓練樣本具有相同的類別;采用奇異值分解算法分別對各個訓練樣本子集進行字典學習,得到各個訓練樣本子集的字典;將各個訓練樣本子集的字典級聯(lián)組成獲取的所述字典。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述通過預定方法計算得到與所述測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量,包括: 獲取訓練得到的所述字典; 利用第一公式計算得到所述測試數(shù)據(jù)的稀疏系數(shù)向量; 其中,所述第一公式為:min(x) I |x| I1, s.t.y = Dx, D為所述字典,y為所述測試數(shù)據(jù),X為所述稀疏系數(shù)向量。
5.根據(jù)權(quán)利要求1至4中任一所述的方法,其特征在于,所述根據(jù)所述漢明距離確定所述測試數(shù)據(jù)的類別,包括: 根據(jù)所述漢明距離,從所述訓練矩陣中選取出與漢明距離最小值對應(yīng)的各個列向量; 統(tǒng)計各個所述列向量所對應(yīng)的每種類別標簽的數(shù)量; 將數(shù)量最多的類別標簽所指示的類別,確定為所述測試數(shù)據(jù)的類別。
6.一種數(shù)據(jù)分類裝置,其特征在于,所述裝置包括: 第一計算模塊,被配置為獲取測試數(shù)據(jù),通過預定方法計算得到與所述測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量,所述稀疏系數(shù)向量是將所述測試數(shù)據(jù)映射到訓練得到的字典上時所得到的系數(shù)向量; 第二計算模塊,被配置為計算所述稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離,所述訓練矩陣由至少兩個列向量組成,每個列向量對應(yīng)一個用于表示所屬類別的類別標簽; 確定模塊,被配置為根據(jù)所述漢明距離確定所述測試數(shù)據(jù)的類別。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 選取模塊,被配置為選取第一訓練樣本集和第二訓練樣本集,確定每個訓練樣本集中各個訓練樣本的類別; 獲取模塊,被配置為利用所述第一訓練樣本集獲取所述字典; 分解模塊,被配置為將所述第二訓練樣本集中的每個訓練樣本在所述字典下分解為稀疏系數(shù)向量,將分解得到的所述稀疏系數(shù)向量確定為訓練稀疏系數(shù)向量,所述訓練稀疏系數(shù)向量為列向量; 級聯(lián)模塊,被配置為將得到的各個訓練稀疏系數(shù)向量級聯(lián)獲得所述訓練矩陣; 保存模塊,被配置為根據(jù)每個所述訓練稀疏系數(shù)向量所對應(yīng)的類別保存所述訓練矩陣中各個列向量的類別標簽,每個所述訓練稀疏系數(shù)向量所對應(yīng)的類別為與所述訓練稀疏系數(shù)向量對應(yīng)的訓練樣本的類別。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述獲取模塊,包括: 第一獲取子模塊,被配置為將所述第一訓練樣本集中的各個訓練樣本分別變換為列向量,將得到的各個列向量依序排列成矩陣,構(gòu)成所述字典; 或, 第二獲取子模塊,被配置為對于所述第一訓練樣本集中的各個訓練樣本,采用奇異值分解算法進行字典的學習,獲得所述字典; 或, 第三獲取子模塊,被配置為根據(jù)類別對所述第一訓練樣本集中各個訓練樣本進行分組,得到至少一個訓練樣本子集,每個訓練樣本子集中的訓練樣本具有相同的類別;采用奇異值分解算法分別對各個訓練樣本子集進行字典學習,得到各個訓練樣本子集的字典;將各個訓練樣本子集的字典級聯(lián)組成獲取的所述字典。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述第一計算模塊,包括: 第四獲取子模塊,被配置為獲取訓練得到的所述字典; 計算子模塊,被配置為利用第一公式計算得到所述測試數(shù)據(jù)的稀疏系數(shù)向量; 其中,所述第一公式為:min(x) I |x| I1, s.t.y = Dx, D為所述字典,y為所述測試數(shù)據(jù),X為所述稀疏系數(shù)向量。
10.根據(jù)權(quán)利要求6至9中任一所述的裝置,其特征在于,所述確定模塊,包括: 選取子模塊,被配置為根據(jù)所述漢明距離,從所述訓練矩陣中選取出與漢明距離最小值對應(yīng)的各個列向量; 統(tǒng)計子模塊,被配置為統(tǒng)計各個所述列向量所對應(yīng)的每種類別標簽的數(shù)量; 確定子模塊,被配置為將數(shù)量最多的類別標簽所指示的類別,確定為所述測試數(shù)據(jù)的類別。
11.一種數(shù)據(jù)分類裝置,其特征在于,所述裝置包括: 處理器; 用于存儲所述處理器可執(zhí)行指令的存儲器; 其中,所述處理器被配置為: 獲取測試數(shù)據(jù),通過預定方法計算得到與所述測試數(shù)據(jù)對應(yīng)的稀疏系數(shù)向量,所述稀疏系數(shù)向量是將所述測試數(shù)據(jù)映射到訓練得到的字典上時所得到的系數(shù)向量; 計算所述稀疏系數(shù)向量與訓練得到的訓練矩陣中每個列向量的漢明距離,所述訓練矩陣由至少兩個列向量組成,每個列向量對應(yīng)一個用于表示所屬類別的類別標簽; 根據(jù)所述漢明距離確定所述測試數(shù)據(jù)的類別。
【文檔編號】G06K9/62GK104298997SQ201410509767
【公開日】2015年1月21日 申請日期:2014年9月28日 優(yōu)先權(quán)日:2014年9月28日
【發(fā)明者】龍飛, 張濤, 陳志軍 申請人:小米科技有限責任公司