Svm分類器訓練樣本獲取方法、訓練方法及其系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種SVM分類器訓練樣本獲取方法、訓練方法及其系統(tǒng),包括:計算獲取SVM分類器的各個樣本的距離;根據(jù)各個所述樣本的距離,對所述樣本進行第一次聚類,獲取至少一個第一分類,以及各個所述第一分類包含的樣本;對所述樣本進行第二次聚類,獲取至少一個第二分類,以及各個所述第二分類包含的樣本;其中,所述第二距離閾值大于所述第一距離閾值;將只包含一個樣本的所述第二分類中的樣本劃分為孤立樣本;分別在各個所述第一分類中選取一個樣本作為代表樣本,根據(jù)所述代表樣本和所述孤立樣本設置所述SVM分類器的訓練樣本??梢杂行p少樣本的數(shù)量,降低分類器的樣本空間的復雜性,使分類器訓練更加簡單,更加有效。
【專利說明】SVM分類器訓練樣本獲取方法、訓練方法及其系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及SVM分類器的【技術領域】,特別是涉及一種SVM分類器訓練樣本獲取方法及其系統(tǒng),以及一種SVM分類器訓練方法及其系統(tǒng)。
【背景技術】
[0002]SVM(Support Vector Machine)是 Cortes 和 Vapnik 于 1995 年首先提出的,它在解決小樣本、非線性及高維模式識別中表現(xiàn)出許多特有的優(yōu)勢,并能夠推廣應用到函數(shù)擬合等其他機器學習問題中。
[0003]SVM是建立在統(tǒng)計學習理論的VC維(vapnik-chervonenkis dimens1n)理論和結構風險最小原理基礎上的,根據(jù)有限的樣本信息在模型的復雜性(即對特定訓練樣本的學習精度)和學習能力(即無錯誤地識別任意樣本的能力)之間尋求最佳折衷,以期獲得最好的推廣能力(或稱泛化能力)。
[0004]在處理兩類分類問題中,SVM是一種常用的方法,因為其易用性,SVM已經(jīng)被應用到很多實際工程中,例如:物體檢測、人臉識別等。在使用SVM處理兩類分類問題時,首先要對SVM進行訓練。
[0005]同時,在實際的工業(yè)化應用中,SVM面臨很多問題,有很多需要優(yōu)化的地方,其中樣本的選擇和分類器的自動訓練問題是最主要的問題。
[0006]目前對于SVM分類器的使用,普遍的訓練方法,第一種是預先人工好一定數(shù)量的訓練正樣本和訓練負樣本。然而該方法過分依賴人工,無法自動化操作。對于工業(yè)化需要有很多SVM分類器的場合,該方法需要花費巨大的人力成本,甚至無法完成。
[0007]第二種方法是當樣本數(shù)量達到一定程度的時候,使用全部的樣本自動重新訓練SVM分類器。
[0008]然而,該方法訓練出來的SVM分類器占用空間大。因為訓練正負樣本的數(shù)量越來越大,樣本空間的復雜性也增加很大,訓練出來的SVM分類器需要數(shù)量龐大的支持向量,導致分類器所占用的空間增加明顯,并且每次識別需要的時間也明顯增加。并且,使用上述方法訓練的SVM分類器,容易受到噪聲樣本的影像。在工業(yè)化應用場合,樣本中經(jīng)常會出現(xiàn)噪聲樣本,這些噪聲樣本對于分類器的效果影響很大。例如,一個人物的人臉數(shù)據(jù)中,訓練正樣本中存在其他人物的人臉,會導致訓練出來的人臉分類器效果下降,容易引起其他人物的誤檢。如果使用全部的樣本作為訓練樣本訓練分類器,必然會受到噪聲樣本的影響。
【發(fā)明內(nèi)容】
[0009]針對上述【背景技術】中存在的分類器的樣本空間的復雜性較大,容易受到噪聲樣本的影響的問題,本發(fā)明的目的在于提供一種SVM分類器訓練樣本獲取方法及其系統(tǒng),能夠降低分類器樣本空間的復雜性,并且減少噪聲樣本對分類器訓練的影響。
[0010]一種SVM分類器訓練樣本獲取方法,包括以下步驟:
[0011]計算獲取SVM分類器的各個樣本相互之間的距離;
[0012]將各個所述樣本的距離與第一距離閾值比較,對所述樣本進行第一次聚類,獲取至少一個第一分類,以及各個所述第一分類包含的樣本;
[0013]將各個所述樣本的距離與第二距離閾值比較,對所述樣本進行第二次聚類,獲取至少一個第二分類,以及各個所述第二分類包含的樣本;其中,所述第二距離閾值大于所述第一距離閾值;
[0014]當一個所述第二分類只包含一個樣本,則將該樣本劃分為孤立樣本;
[0015]分別在各個所述第一分類中選取一個樣本作為代表樣本,根據(jù)所述代表樣本和所述孤立樣本設置所述SVM分類器的訓練樣本。
[0016]—種SVM分類器訓練樣本獲取系統(tǒng),包括:
[0017]距離計算模塊,用于計算獲取SVM分類器的各個樣本相互之間的距離;
[0018]第一聚類模塊,用于將各個所述樣本的距離與第一距離閾值比較,對所述樣本進行第一次聚類,獲取至少一個第一分類,以及各個所述第一分類包含的樣本;
[0019]第二聚類模塊,用于將各個所述樣本的距離與第二距離閾值比較,對所述樣本進行第二次聚類,獲取至少一個第二分類,以及各個所述第二分類包含的樣本;其中,所述第二距離閾值大于所述第一距離閾值;
[0020]孤立樣本模塊,用于當一個所述第二分類只包含一個樣本,則將該樣本劃分為孤立樣本;
[0021]訓練樣本設置模塊,用于分別在各個所述第一分類中選取一個樣本作為代表樣本,根據(jù)所述代表樣本和所述孤立樣本設置所述SVM分類器的訓練樣本。
[0022]本發(fā)明的SVM分類器訓練樣本獲取方法及其系統(tǒng)中,通過比較各個所述樣本之間的距離,根據(jù)樣本距離對各個樣本進行聚類。因為樣本是一個K維的特征向量,兩個樣本之間的距離表示了兩個樣本之間的相似性。對樣本距離較接近的樣本進行第一次聚類,可以將比較相似的樣本歸為同一個第一分類。而對樣本進行所述第二分類,則可以有效地挑選出孤立樣本,在得到的各個樣本之中,噪聲樣本的可能性被大大減少,因此可以有效減少噪聲樣本對分類器訓練的影響。而在同屬于同一個第一分類的各個樣本之中挑選出一個作為代表樣本。以各個所述第一分類的代表樣本作為訓練樣本,可以有效減少樣本的數(shù)量,降低分類器的樣本空間的復雜性,使分類器訓練更加簡單,更加有效。
[0023]針對上述【背景技術】中存在的分類器的樣本空間的復雜性較大,容易受到噪聲樣本的影響的問題,本發(fā)明的目的還在于提供一種SVM分類器訓練方法及其系統(tǒng),能夠降低分類器樣本空間的復雜性,并且減少噪聲樣本對分類器訓練的影響。
[0024]一種SVM分類器訓練方法,包括以下步驟:
[0025]采用本發(fā)明的SVM分類器訓練樣本獲取方法獲取訓練樣本;
[0026]利用獲取的所述訓練樣本訓練SVM分類器,獲取SVM分類器模型。
[0027]一種SVM分類器訓練系統(tǒng),包括:
[0028]本發(fā)明的SVM分類器訓練樣本獲取系統(tǒng);
[0029]以及,利用獲取的所述訓練樣本訓練SVM分類器,獲取SVM分類器模型的訓練模塊。
[0030]本發(fā)明SVM分類器訓練方法及其系統(tǒng),可以實現(xiàn)自動化訓練SVM分類器,對于工業(yè)化應用場合需要大量分類器、樣本數(shù)量不斷增長或者變化的情況,本發(fā)明可以自動完成訓練并達到較好的效果。同時可以過濾掉訓練樣本中孤立的樣本,降低分類器識別結果的錯誤率。過濾掉訓練樣本中的相似樣本,降低分類器所占的空間大小,并減少分類器的識別時間。
【專利附圖】
【附圖說明】
[0031]圖1是本發(fā)明SVM分類器訓練樣本獲取方法第一實施方式的流程示意圖;
[0032]圖2是本發(fā)明SVM分類器訓練樣本獲取方法第二實施方式中設置分類器的訓練正樣本的方法流程示意圖;
[0033]圖3是本發(fā)明SVM分類器訓練樣本獲取方法第三實施方式中設置分類器的訓練負樣本的方法流程示意圖;
[0034]圖4是本發(fā)明SVM分類器訓練樣本獲取系統(tǒng)的結構示意圖;
[0035]圖5是本發(fā)明SVM分類器訓練系統(tǒng)的結構示意圖。
【具體實施方式】
[0036]請參閱圖1,圖1是本發(fā)明SVM分類器訓練樣本獲取方法第一實施方式的流程示意圖。
[0037]所述SVM分類器訓練樣本獲取方法,包括以下步驟:
[0038]S101,計算獲取SVM分類器的各個樣本相互之間的距離;
[0039]S102,將各個所述樣本的距離與第一距離閾值比較,對所述樣本進行第一次聚類,獲取至少一個第一分類,以及各個所述第一分類包含的樣本;
[0040]S103,將各個所述樣本的距離與第二距離閾值比較,對所述樣本進行第二次聚類,獲取至少一個第二分類,以及各個所述第二分類包含的樣本;其中,所述第二距離閾值大于所述第一距離閾值;
[0041]S104,當一個所述第二分類只包含一個樣本,則將該樣本劃分為孤立樣本;
[0042]S105,分別在各個所述第一分類中選取一個樣本作為代表樣本,根據(jù)所述代表樣本和所述孤立樣本設置所述SVM分類器的訓練樣本。
[0043]本發(fā)明的SVM分類器訓練樣本獲取方法通過比較各個所述樣本之間的距離,根據(jù)樣本距離對各個樣本進行聚類。因為樣本是一個K維的特征向量,兩個樣本之間的距離表示了兩個樣本之間的相似性。對樣本距離較接近的樣本進行第一次聚類,可以將比較相似的樣本歸為同一個第一分類。而對樣本進行所述第二分類,則可以有效地挑選出孤立樣本,在得到的各個樣本之中,噪聲樣本的可能性被大大減少,因此可以有效減少噪聲樣本對分類器訓練的影響。而在同屬于同一個第一分類的各個樣本之中挑選出一個作為代表樣本。以各個所述第一分類的代表樣本作為訓練樣本,可以有效減少樣本的數(shù)量,降低分類器的樣本空間的復雜性,使分類器訓練更加簡單,更加有效。
[0044]其中,對于步驟SlOl,所述SVM分類器的樣本是一個K維的特征向量,兩個樣本之間的距離可以有多種計算方法,例如歐氏距離、COS距離、街道距離等,本發(fā)明對距離的計算方法不做限制,具體方法取決于實際應用場合特征的情況。
[0045]在計算SVM分類器的所有樣本兩兩之間的距離時,可以將所有樣本的距離保存成一個由距離組成的特征矩陣。則在所述SVM分類器的樣本有新增,導致所述SVM分類器的樣本的距離信息有所改變時,可以只計算新增樣本與舊樣本之間的距離,而無需再次計算各個舊樣本之間的距離,只要從所述距離的特征矩陣中讀取相應的舊樣本的距離之后,就可以生成新的特征矩陣。大大減少了樣本距離的計算時間,提高了分類器訓練的效率。
[0046]具體包括以下步驟:
[0047]S11,分別計算所述SVM分類器的各個樣本之間的距離,并將計算獲得的各個所述距離保存成特征矩陣;
[0048]S12,當所述SVM分類器的樣本新增時,計算新增的樣本與其他樣本之間的距離,并從所述特征矩陣中讀取其他各個樣本之間的距離,生成新的特征矩陣。
[0049]計算上述距離的特征矩陣時,需要對每個樣本對(兩個樣本)計算出一個特征距離,最終得到所有樣本對之間的特征距離,保存在一個特征矩陣中。因為特征距離的計算會消耗一定的時間,因此每次計算完距離的特征矩陣后,把該特征矩陣存放在一個指定的位置。再次計算該特征矩陣的時候,只需要對新增的樣本對計算距離值,而對于已經(jīng)計算過距離的樣本對,從所述特征矩陣直接讀取上次計算的結果即可,不需要重新計算,這樣可以節(jié)省很多計算時間。
[0050]對于步驟S102,根據(jù)計算出的各個所述樣本的距離與第一距離閾值,進行第一次聚類。
[0051]在進行所述第一次聚類時,根據(jù)第一距離閾值distl判斷兩個樣本是否屬于同一類,如果兩個樣本的距離小于distl,則將這兩個樣本標記為一類。如果一個樣本同時和另外兩個樣本屬于一類,則標記這三個樣本為同一類。按照這樣的邏輯不斷循環(huán)判斷,可以將所有的N個樣本分成M類(M小于等于N)。對于每一個類,可能包含I?N個樣本。如果其中一個類的樣本數(shù)量大于1,那么該類中的每個樣本肯定會和至少一個本類中其他樣本的距離小于distl。將進行所述第一次聚類的結果,即至少一個所述第一分類,以及各個所述第一分類包含的樣本保存到指定的文件,在樣本新增需要重新進行所述第一次聚類的時候,可以從所述文件中讀取所述結果,在此基礎上計算。如果樣本有減少,則判斷包含該樣本的第一分類是否需要拆分,如果樣本有增加,則計算新樣本的歸類情況,這樣可以節(jié)省計算的時間。
[0052]對于步驟S103,根據(jù)計算出的各個所述樣本的距離與第二距離閾值,進行第二次聚類。
[0053]第二次聚類時,根據(jù)第二距離閾值dist2再次判斷兩個樣本是否屬于同一類,因為dist2大于distl,即第二次聚類的閾值比第一次聚類的閾值要寬松很多,所以會讓絕大部分或者全部樣本都聚類成功(同一類中樣本數(shù)量大于I個),而只含有一個樣本的類會非常少或者沒有。所述第二次聚類的目的是找到孤立的樣本,經(jīng)過第二次聚類,只包含一個樣本的第二分類中的樣本,將在步驟S104中被標注為孤立樣本。第二次聚類的結果同樣保存到指定的文件,再次計算聚類的時候,可以在此基礎上計算,減少時間成本。
[0054]對于步驟S104,將只包含一個樣本的第二分類中的樣本劃分為孤立樣本。因為所述孤立樣本與其他樣本之間的距離都比較大,所以孤立樣本通常代表噪聲。
[0055]對于步驟S105,首先分別在各個所述第一分類中選取一個樣本作為代表樣本。因為每一類的各個樣本之間距離較小,比較接近,從每一所述第一分類中選出一個代表樣本,可以通過所述代表樣本“代表”該第一分類中的所有樣本,有效減少分類器的訓練樣本的數(shù)量,提高分類器訓練的效率,而且不會降低訓練的效果。
[0056]根據(jù)所述代表樣本和所述孤立樣本設置所述SVM分類器的訓練樣本的方式可能有多種,可以根據(jù)具體的應用場合設置。在本實施方式中,設置所述SVM分類器的訓練樣本的方式為:
[0057]在各個所述代表樣本中剔除所述孤立樣本后,將其余的所述代表樣本設置為所述訓練樣本。
[0058]這樣不僅可以減少分類器的訓練樣本的數(shù)量,而且不會降低訓練的效果,并可以有效降低噪聲樣本對分類器訓練的影響。
[0059]請參閱圖2,圖2是本發(fā)明SVM分類器訓練樣本獲取方法第二實施方式中設置分類器的訓練正樣本的方法流程示意圖。
[0060]在本實施方式主要描述對所述分類器的訓練正樣本的設置方式。具體根據(jù)所述代表樣本和所述孤立樣本設置所述SVM分類器的訓練樣本的步驟包括:
[0061]S201,如果所述樣本是正樣本,并且選取的所述代表樣本的數(shù)量N大于訓練正樣本數(shù)的最大值max,則獲取包含樣本數(shù)量較多的前max個所述第一分類所對應的代表樣本作為訓練正樣本;
[0062]S202,如果所述樣本是正樣本,并且選取的所述代表樣本的數(shù)量N小于訓練正樣本數(shù)的最小值min,則選取所有的代表樣本作為訓練正樣本,并在所述孤立樣本中再選取不超過min-N個作為訓練正樣本;
[0063]S203,如果所述樣本是正樣本,并且選取的所述代表樣本的數(shù)量N小于或等于訓練正樣本數(shù)的最大值max,且大于或等于訓練正樣本數(shù)的最小值min,則選取所有的所述代表樣本作為訓練正樣本。
[0064]在對正樣本的聚類中,所述第二聚類后得到的孤立樣本通常代表噪聲。因此,對正樣本的設置策略為:對第一次聚類成功的樣本以及相應的類,根據(jù)每一類含有樣本的數(shù)量,將各個所述第一分類按照其包含的樣本數(shù)量由多至少排序,每一個所述第一分類中選擇一個樣本作為代表樣本。當該第一分類的數(shù)量N大于訓練正樣本數(shù)的最大值max,則根據(jù)排序結果,獲取包含樣本數(shù)量較多的前max個所述第一分類所對應的代表樣本作為訓練正樣本;當該第一分類的數(shù)量N小于訓練正樣本數(shù)的最小值min的時候,選擇全部N個第一分類的代表樣本,作為訓練正樣本,另外在孤立樣本中再隨機選擇不超過min-N個正樣本,同樣作為訓練正樣本。當該第一分類的數(shù)量N小于或等于訓練正樣本數(shù)的最大值max,且大于或等于訓練正樣本數(shù)的最小值min的時候,選擇全部N個所述第一分類的代表樣本,作為訓練正樣本。
[0065]本實施方式中,對所述分類器的正樣本,根據(jù)所述第一分類的數(shù)量(即代表樣本的數(shù)量)N與所述訓練正樣本數(shù)的最大值max、最小值min比較,在代表樣本的數(shù)量過多時,選擇包含樣本數(shù)量較多的第一分類對應的代表樣本作為訓練正樣本,可以提高分類器的準確性;在代表樣本的數(shù)量足夠而不過多時,選擇所有的代表樣本作為訓練正樣本;在代表樣本的數(shù)量不足時,從孤立樣本中隨機選擇若干正樣本同時作為訓練正樣本,可以確保訓練樣本的數(shù)量,不會因篩選而造成訓練樣本不足的情況。
[0066]請參閱圖3,圖3是本發(fā)明SVM分類器訓練樣本獲取方法第三實施方式中設置分類器的訓練負樣本的方法流程示意圖。
[0067]在本實施方式主要描述對所述分類器的訓練負樣本的設置方式。具體根據(jù)所述代表樣本和所述孤立樣本設置所述SVM分類器的訓練樣本的步驟包括:
[0068]S301,如果所述樣本是負樣本,并且選取的所述代表樣本的數(shù)量大于或者等于訓練負樣本數(shù)的最小值,則選取所有的代表樣本以及所有的所述孤立樣本作為訓練負樣本;
[0069]S302,如果所述樣本是負樣本,并且選取的所述代表樣本的數(shù)量小于訓練負樣本數(shù)的最小值,則從每個所述第一分類中再選取另一個樣本作為補充代表樣本,將所述代表樣本以及補充代表樣本一起作為訓練負樣本。
[0070]對負樣本的設置策略為:
[0071]在所述代表樣本的數(shù)量大于或者等于訓練負樣本數(shù)的最小值neg2時,在每個所述第一分類中選擇一個代表樣本,加上所有的孤立樣本,作為訓練負樣本。所述代表樣本的數(shù)量小于所述訓練負樣本數(shù)的最小值neg2的時候,在每個所述第一分類中選擇再次選取一個補充代表樣本,補充到訓練負樣本中去。
[0072]在本實施方式中,對于負樣本,將代表樣本的數(shù)量和訓練負樣本數(shù)的最小值比較,在代表樣本數(shù)量足夠時,選取全部的代表樣本加上所有的孤立樣本作為訓練負樣本;在代表樣本數(shù)量不足時,在每個第一分類中選擇兩個代表樣本作為訓練負樣本,可以提高所述分類器的分類準確性。
[0073]進一步地,在上述第一至第三實施方式中,可以首先判斷所述分類器的所有樣本的數(shù)量,如果所有樣本的總數(shù)量小于預設閾值,則將所有樣本作為訓練樣本。
[0074]S卩,當正樣本數(shù)量小于訓練正樣本數(shù)的最小值min的時候,所有正樣本都通過篩選,作為訓練正樣本;當正樣本數(shù)量大于最小值min的時候,才對正樣本進行聚類篩選,根據(jù)聚類后的結果篩選出部分訓練正樣本。當負樣本數(shù)量小于訓練負樣本數(shù)的閾值negl的時候,所有負樣本都通過篩選,作為訓練負樣本;當負樣本數(shù)量大于閾值negl的時候,對負樣本進行聚類,根據(jù)聚類后的結果篩選出部分訓練負樣本。此方法可以確保訓練樣本數(shù)的充足,使分類器能夠完成訓練。
[0075]本發(fā)明還提供一種基于上述SVM分類器訓練樣本獲取方法的SVM分類器訓練方法。所述SVM分類器訓練方法包括以下步驟:
[0076]采用本發(fā)明的SVM分類器訓練樣本獲取方法獲取訓練樣本;
[0077]利用獲取的所述訓練樣本訓練SVM分類器,獲取SVM分類器模型。
[0078]本發(fā)明可以實現(xiàn)自動化訓練SVM分類器,對于工業(yè)化應用場合需要大量分類器、樣本數(shù)量不斷增長或者變化的情況,本發(fā)明可以自動完成訓練并達到較好的效果。同時可以過濾掉訓練樣本中孤立的樣本,降低分類器識別結果的錯誤率。過濾掉訓練樣本中的相似樣本,降低分類器所占的空間大小,并減少分類器的識別時間。
[0079]作為所述SVM分類器訓練方法的一個優(yōu)選實施方式,可以進一步執(zhí)行分類器模型的自動更新。具體方法為:
[0080]設置更新觸發(fā)條件,當滿足所述更新觸發(fā)條件時,重新獲取訓練樣本,利用重新獲取的訓練樣本訓練SVM分類器,獲取SVM分類器模型,將獲取的SVM分類器模型更新當前的SVM分類器模型。
[0081]重新獲取訓練樣本的方式包括重新獲取所有的樣本對所有的樣本進行距離計算,獲得新的距離矩陣之后進行聚類,根據(jù)聚類結果重新獲取訓練樣本。
[0082]優(yōu)選地,也包括當所述SVM分類器的樣本新增時,可只計算新增的樣本與其他樣本之間的距離,并從所述特征矩陣中讀取其他各個樣本之間的距離,生成新的特征矩陣。然后根據(jù)新的距離矩陣進行聚類,根據(jù)聚類結果重新獲取訓練樣本。
[0083]觸發(fā)一次模型更新的條件可以有多種,例如:樣本變化達到預設值、間隔一定時間坐寸ο
[0084]優(yōu)選地,通過以下方式判斷所述SVM分類器模型是否滿足預設的更新觸發(fā)條件:
[0085]記錄每次訓練SVM分類器時各個樣本的唯一 ID號,將上次訓練時各個樣本的唯一ID號與當前所述SVM分類器各個樣本的唯一 ID號比較,獲取所述SVM分類器的樣本變化量,當所述SVM分類器的樣本變化量達到預設的變化量閾值時,判斷所述SVM分類器模型滿足預設的更新觸發(fā)條件;
[0086]和/ 或,
[0087]記錄每次訓練的時間,將當前時間與上次訓練的時間比較,獲取當前時間與上次訓練的時間之間的時間間隔,當所述時間間隔達到預定的時間間隔閾值時,判斷所述SVM分類器模型滿足預設的更新觸發(fā)條件。
[0088]所述樣本的唯一 ID號和所述每次訓練的時間等訓練信息可以保存到一個標簽文件中,在每次需要判斷更新狀況時,從所述標簽文件中讀取并進行判斷。
[0089]優(yōu)選地,將每次訓練SVM分類器的訓練信息保存到一個meta文件中,其中,所述訓練信息包括各個樣本的唯一 ID號,和/或,每次訓練的時間;
[0090]從所述meta文件讀取上次訓練SVM分類器的訓練信息,根據(jù)所述訓練信息判斷是否滿足所述更新觸發(fā)條件。
[0091]S卩,在篩選出訓練正樣本和訓練負樣本后,用這些訓練樣本訓練SVM分類器,得到訓練后的SVM模型,保存下來。同時將訓練前的相關信息保存到一個meta文件中,保存的信息可包括:所有樣本的唯一 ID號、上次訓練的時間等等。下次更新模型前,首先讀取所述meta文件,根據(jù)meta文件中保存的信息,判斷是否需要更新SVM模型,判斷的條件本發(fā)明中不做限制,可以根據(jù)實際情況來設定。所述meta文件一個輔助性標簽文件。
[0092]每次觸發(fā)模型更新的時候,都先讀取meta文件,判斷是否需要更新模型。如果不滿足條件,就不做本次更新,如果滿足條件,就對樣本通過上述方法進行整體聚類、對正樣本和負樣本分別進行篩選、訓練SVM模型、然后更新所述meta文件并保存。
[0093]本發(fā)明的SVM分類器訓練方法可以自動篩選分類器樣本,還可以自動更新模型,因此適用于工業(yè)化場合,可以處理需要大量分類器、樣本數(shù)量不斷增長或者變化、需要對分類器模型經(jīng)常進行更新等場合。經(jīng)過兩次聚類篩選,每次訓練模型需要的樣本數(shù)量大大減少,會使得訓練出來的SVM模型需要的支持向量減少,因此模型所占空間變小、識別速度增力口。同時如果正樣本中含有少量噪聲樣本,會在聚類過程中被過濾掉,因此分類器模型的抗噪聲能力增強。因為采用聚類算法選擇了代表樣本進行訓練,因此訓練出來的SVM模型的查全率不會明顯下降,還能保證有較高的查全率,但錯誤率會明顯下降。
[0094]請參閱圖4,圖4是本發(fā)明SVM分類器訓練樣本獲取系統(tǒng)的結構示意圖。
[0095]所述SVM分類器訓練樣本獲取系統(tǒng),包括:
[0096]距離計算模塊11,用于計算獲取SVM分類器的各個相互之間的距離;
[0097]第一聚類模塊12,用于將各個所述樣本的距離與第一距離閾值比較,對所述樣本進行第一次聚類,獲取至少一個第一分類,以及各個所述第一分類包含的樣本;
[0098]第二聚類模塊13,用于將各個所述樣本的距離與第二距離閾值比較,對所述樣本進行第二次聚類,獲取至少一個第二分類,以及各個所述第二分類包含的樣本;其中,所述第二距離閾值大于所述第一距離閾值;
[0099]孤立樣本模塊14,用于當一個所述第二分類只包含一個樣本,則該樣本劃分為孤立樣本;
[0100]訓練樣本設置模塊15,用于分別在各個所述第一分類中選取一個樣本作為代表樣本,根據(jù)所述代表樣本和所述孤立樣本設置所述SVM分類器的訓練樣本。
[0101 ] 本發(fā)明的SVM分類器訓練樣本獲取系統(tǒng)通過比較各個所述樣本之間的距離,根據(jù)樣本距離對各個樣本進行聚類。因為樣本是一個K維的特征向量,兩個樣本之間的距離表示了兩個樣本之間的相似性。對樣本距離較接近的樣本進行第一次聚類,可以將比較相似的樣本歸為同一個第一分類。而對樣本進行所述第二分類,則可以有效地挑選出孤立樣本,在得到的各個樣本之中,噪聲樣本的可能性被大大減少,因此可以有效減少噪聲樣本對分類器訓練的影響。而在同屬于同一個第一分類的各個樣本之中挑選出一個作為代表樣本。以各個所述第一分類的代表樣本作為訓練樣本,可以有效減少樣本的數(shù)量,降低分類器的樣本空間的復雜性,使分類器訓練更加簡單,更加有效。
[0102]其中,所述SVM分類器的樣本是一個K維的特征向量,兩個樣本之間的距離可以有多種計算方法,例如歐氏距離、COS距離、街道距離等,本發(fā)明對距離的計算方法不做限制,具體方法取決于實際應用場合特征的情況。
[0103]所述距離計算模塊11在計算SVM分類器的所有樣本兩兩之間的距離時,可以將所有樣本的距離保存成一個由距離組成的特征矩陣。則在所述SVM分類器的樣本有新增,導致所述SVM分類器的樣本的距離信息有所改變時,可以只計算新增樣本與舊樣本之間的距離,而無需再次計算各個舊樣本之間的距離,只要從所述距離的特征矩陣中讀取相應的舊樣本的距離之后,就可以生成新的特征矩陣。大大減少了樣本距離的計算時間,提高了分類器訓練的效率。
[0104]S卩,所述距離計算模塊11可包括以下子模塊:
[0105]分別計算所述SVM分類器的各個樣本之間的距離,并將計算獲得的各個所述距離保存成特征矩陣的子模塊;
[0106]以及,當所述SVM分類器的樣本新增時,計算新增的樣本與其他樣本之間的距離,并從所述特征矩陣中讀取其他各個樣本之間的距離,生成新的特征矩陣的子模塊。
[0107]所述距離計算模塊11計算上述距離的特征矩陣時,需要對每個樣本對(兩個樣本)計算出一個特征距離,最終得到所有樣本對之間的特征距離,保存在一個特征矩陣中。因為特征距離的計算會消耗一定的時間,因此每次計算完距離的特征矩陣后,把該特征矩陣存放在一個指定的位置。再次計算該特征矩陣的時候,只需要對新增的樣本對計算距離值,而對于已經(jīng)計算過距離的樣本對,從所述特征矩陣直接讀取上次計算的結果即可,不需要重新計算,這樣可以節(jié)省很多計算時間。
[0108]所述第一聚類模塊12根據(jù)計算出的各個所述樣本的距離與第一距離閾值,進行第一次聚類。
[0109]所述第一聚類模塊12在進行所述第一次聚類時,根據(jù)第一距離閾值distl判斷兩個樣本是否屬于同一類,如果兩個樣本的距離小于distl,則將這兩個樣本標記為一類。如果一個樣本同時和另外兩個樣本屬于一類,則標記這三個樣本為同一類。按照這樣的邏輯不斷循環(huán)判斷,可以將所有的N個樣本分成M類(M小于等于N)。對于每一個類,可能包含I?N個樣本。如果其中一個類的樣本數(shù)量大于I,那么該類中的每個樣本肯定會和至少一個本類中其他樣本的距離小于distl。將進行所述第一次聚類的結果,即至少一個所述第一分類,以及各個所述第一分類包含的樣本保存到指定的文件,在樣本新增需要重新進行所述第一次聚類的時候,可以從所述文件中讀取所述結果,在此基礎上計算。如果樣本有減少,則判斷包含該樣本的第一分類是否需要拆分,如果樣本有增加,則計算新樣本的歸類情況,這樣可以節(jié)省計算的時間。
[0110]所述第二聚類模塊13根據(jù)計算出的各個所述樣本的距離與第二距離閾值,進行第二次聚類。
[0111]所述第二聚類模塊13進行第二次聚類時,根據(jù)第二距離閾值dist2再次判斷兩個樣本是否屬于同一類,因為dist2大于distl,即第二次聚類的閾值比第一次聚類的閾值要寬松很多,所以會讓絕大部分或者全部樣本都聚類成功(同一類中樣本數(shù)量大于I個),而只含有一個樣本的類會非常少或者沒有。所述第二次聚類的目的是找到孤立的樣本,經(jīng)過第二次聚類,只包含一個樣本的第二分類中的樣本,將被標注為孤立樣本。第二次聚類的結果同樣保存到指定的文件,再次計算聚類的時候,可以在此基礎上計算,減少時間成本。
[0112]所述孤立樣本模塊14將只包含一個樣本的第二分類中的樣本劃分為孤立樣本。因為所述孤立樣本與其他樣本之間的距離都比較大,所以孤立樣本通常代表噪聲。
[0113]所述訓練樣本設置模塊15首先分別在各個所述第一分類中選取一個樣本作為代表樣本。因為每一類的各個樣本之間距離較小,比較接近,從每一所述第一分類中選出一個代表樣本,可以通過所述代表樣本“代表”該第一分類中的所有樣本,有效減少分類器的訓練樣本的數(shù)量,提高分類器訓練的效率,而且不會降低訓練的效果。
[0114]所述訓練樣本設置模塊15根據(jù)所述代表樣本和所述孤立樣本設置所述SVM分類器的訓練樣本的方式可能有多種,可以根據(jù)具體的應用場合設置。在本實施方式中,所述訓練樣本設置模塊15設置所述SVM分類器的訓練樣本的方式為:在各個所述代表樣本中剔除所述孤立樣本后,將其余的所述代表樣本設置為所述訓練樣本。
[0115]這樣不僅可以減少分類器的訓練樣本的數(shù)量,而且不會降低訓練的效果,并可以有效降低噪聲樣本對分類器訓練的影響。
[0116]作為本發(fā)明SVM分類器訓練樣本獲取系統(tǒng)的一個優(yōu)選實施方式,針對所述分類器的訓練正樣本的設置,所述訓練樣本設置模塊15可包括以下子模塊:。
[0117]如果所述樣本是正樣本,并且選取的所述代表樣本的數(shù)量N大于訓練正樣本數(shù)的最大值max,則獲取包含樣本數(shù)量較多的前max個所述第一分類所對應的代表樣本作為訓練正樣本的子模塊;
[0118]如果所述樣本是正樣本,并且選取的所述代表樣本的數(shù)量N小于訓練正樣本數(shù)的最小值min,則選取所有的代表樣本作為訓練正樣本,并在所述孤立樣本中再選取不超過min-N個作為訓練正樣本的子模塊;
[0119]以及,如果所述樣本是正樣本,并且選取的所述代表樣本的數(shù)量N小于或等于訓練正樣本數(shù)的最大值max,且大于或等于訓練正樣本數(shù)的最小值min,則選取所有的所述代表樣本作為訓練正樣本的子模塊。
[0120]對于正樣本,所述第二聚類后得到的孤立樣本通常代表噪聲。因此,對正樣本的設置策略為:對第一次聚類成功的樣本以及相應的類,根據(jù)每一類含有樣本的數(shù)量,將各個所述第一分類按照其包含的樣本數(shù)量由多至少排序,每一個所述第一分類中選擇一個樣本作為代表樣本。當該第一分類的數(shù)量N大于訓練正樣本數(shù)的最大值max,則根據(jù)排序結果,獲取包含樣本數(shù)量較多的前max個所述第一分類所對應的代表樣本作為訓練正樣本;當該第一分類的數(shù)量N小于訓練正樣本數(shù)的最小值min的時候,選擇全部N個第一分類的代表樣本,作為訓練正樣本,另外在孤立樣本中再隨機選擇不超過min-N個正樣本,同樣作為訓練正樣本。當該第一分類的數(shù)量N小于或等于訓練正樣本數(shù)的最大值max,且大于或等于訓練正樣本數(shù)的最小值min的時候,選擇全部N個所述第一分類的代表樣本,作為訓練正樣本。
[0121]本實施方式中,對所述分類器的正樣本,根據(jù)所述第一分類的數(shù)量(即代表樣本的數(shù)量)N與所述訓練正樣本數(shù)的最大值max、最小值min比較,在代表樣本的數(shù)量過多時,選擇包含樣本數(shù)量較多的第一分類對應的代表樣本作為訓練正樣本,可以提高分類器的準確性;在代表樣本的數(shù)量足夠而不過多時,選擇所有的代表樣本作為訓練正樣本;在代表樣本的數(shù)量不足時,從孤立樣本中隨機選擇若干正樣本同時作為訓練正樣本,可以確保訓練樣本的數(shù)量,不會因篩選而造成訓練樣本不足的情況。
[0122]作為本發(fā)明SVM分類器訓練系統(tǒng)的另一個優(yōu)選實施方式,針對所述分類器的訓練負樣本的設置,所述訓練樣本設置模塊15包括以下子模塊:
[0123]如果所述樣本是負樣本,并且選取的所述代表樣本的數(shù)量大于或者等于訓練負樣本數(shù)的最小值,則選取所有的代表樣本以及所有的所述孤立樣本作為訓練負樣本子模塊;
[0124]以及,如果所述樣本是負樣本,并且選取的所述代表樣本的數(shù)量小于訓練負樣本數(shù)的最小值,則從每個所述第一分類中再選取另一個樣本作為補充代表樣本,再將所述代表樣本以及補充代表樣本一起作為訓練負樣本的子模塊。
[0125]對負樣本的設置策略為:
[0126]在所述代表樣本的數(shù)量大于或者等于訓練負樣本數(shù)的最小值neg2時,在每個所述第一分類中選擇一個代表樣本,加上所有的孤立樣本,作為訓練負樣本。所述代表樣本的數(shù)量小于所述訓練負樣本數(shù)的最小值neg2的時候,在每個所述第一分類中選擇再次選取一個補充代表樣本,補充到訓練負樣本中去。
[0127]在本實施方式中,對于負樣本,將代表樣本的數(shù)量和訓練負樣本數(shù)的最小值比較,在代表樣本數(shù)量足夠時,選取全部的代表樣本加上所有的孤立樣本作為訓練負樣本;在代表樣本數(shù)量不足時,在每個第一分類中選擇兩個代表樣本作為訓練負樣本,可以提高所述分類器的分類準確性。
[0128]進一步地,在上述各個實施方式中,所述訓練樣本設置模塊15可進一步包括以下子模塊:
[0129]如果所有樣本的總數(shù)量小于預設閾值,則將所有樣本作為訓練樣本的子模塊。
[0130]S卩,首先判斷所述分類器的所有樣本的數(shù)量,當正樣本數(shù)量小于訓練正樣本數(shù)的最小值min的時候,所有正樣本都通過篩選,作為訓練正樣本;當正樣本數(shù)量大于最小值min的時候,才對正樣本進行聚類篩選,根據(jù)聚類后的結果篩選出部分訓練正樣本。當負樣本數(shù)量小于訓練負樣本數(shù)的閾值negl的時候,所有負樣本都通過篩選,作為訓練負樣本;當負樣本數(shù)量大于閾值negl的時候,對負樣本進行聚類,根據(jù)聚類后的結果篩選出部分訓練負樣本。此方法可以確保訓練樣本數(shù)的充足,使分類器能夠完成訓練。
[0131]本發(fā)明還提供一種SVM分類器訓練系統(tǒng)。請參閱圖5,圖5是本發(fā)明SVM分類器訓練系統(tǒng)的結構示意圖。
[0132]所述SVM分類器訓練系統(tǒng)包括:
[0133]本發(fā)明的SVM分類器訓練樣本獲取系統(tǒng)10 ;
[0134]以及,利用獲取的所述訓練樣本訓練SVM分類器,獲取SVM分類器模型的訓練模塊20。
[0135]本發(fā)明可以實現(xiàn)自動化訓練SVM分類器,對于工業(yè)化應用場合需要大量分類器、樣本數(shù)量不斷增長或者變化的情況,本發(fā)明可以自動完成訓練并達到較好的效果。同時可以過濾掉訓練樣本中孤立的樣本,降低分類器識別結果的錯誤率。過濾掉訓練樣本中的相似樣本,降低分類器所占的空間大小,并減少分類器的識別時間。
[0136]作為所述SVM分類器訓練系統(tǒng)的一個優(yōu)選實施方式,可以進一步執(zhí)行分類器模型的自動更新。亦即,所述訓練模塊包括更新模塊,所述更新模塊用于設置更新觸發(fā)條件,當滿足所述更新觸發(fā)條件時,重新獲取訓練樣本,利用重新獲取的訓練樣本訓練SVM分類器,獲取SVM分類器模型,將獲取的SVM分類器模型更新當前的SVM分類器模型。
[0137]重新獲取訓練樣本的方式包括重新獲取所有的樣本對所有的樣本進行距離計算,獲得新的距離矩陣之后進行聚類,根據(jù)聚類結果重新獲取訓練樣本。
[0138]優(yōu)選地,也包括當所述SVM分類器的樣本新增時,可只計算新增的樣本與其他樣本之間的距離,并從所述特征矩陣中讀取其他各個樣本之間的距離,生成新的特征矩陣。然后根據(jù)新的距離矩陣進行聚類,根據(jù)聚類結果重新獲取訓練樣本。
[0139]觸發(fā)一次模型更新的條件可以有多種,例如:樣本變化達到預設值、間隔一定時間坐寸ο
[0140]優(yōu)選地,所述更新模塊包括第一更新觸發(fā)模塊和/或第二更新觸發(fā)模塊;
[0141]所述第一更新觸發(fā)模塊用于記錄每次訓練SVM分類器時各個樣本的唯一 ID號,將上次訓練時各個樣本的唯一 ID號與當前所述SVM分類器各個樣本的唯一 ID號比較,獲取所述SVM分類器的樣本變化量,當所述SVM分類器的樣本變化量達到預設的變化量閾值時,判斷所述SVM分類器模型滿足預設的更新觸發(fā)條件;
[0142]所述第二更新觸發(fā)模塊用于記錄每次訓練的時間,將當前時間與上次訓練的時間比較,獲取當前時間與上次訓練的時間之間的時間間隔,當所述時間間隔達到預定的時間間隔閾值時,判斷所述SVM分類器模型滿足預設的更新觸發(fā)條件。
[0143]所述樣本的唯一 ID號和所述每次訓練的時間等訓練信息可以保存到一個標簽文件中,在每次需要判斷更新狀況時,從所述標簽文件中讀取并進行判斷。
[0144]優(yōu)選地,所述訓練模塊還包括信息保存模塊,所述信息保存模塊用于將每次訓練SVM分類器的訓練信息保存到一個meta文件中,其中,所述訓練信息包括各個樣本的唯一ID號,和/或,每次訓練的時間;
[0145]所述更新模塊從所述meta文件讀取上次訓練SVM分類器的訓練信息,根據(jù)所述訓練信息判斷是否滿足所述更新觸發(fā)條件。
[0146]S卩,在篩選出訓練正樣本和訓練負樣本后,用這些訓練樣本訓練SVM分類器,得到訓練后的SVM模型,保存下來。同時將訓練前的相關信息保存到一個meta文件中,保存的信息可包括:所有樣本的唯一 ID號、上次訓練的時間等等。下次更新模型前,首先讀取所述meta文件,根據(jù)meta文件中保存的信息,判斷是否需要更新SVM模型,判斷的條件本發(fā)明中不做限制,可以根據(jù)實際情況來設定。所述meta文件一個輔助性標簽文件。
[0147]每次觸發(fā)模型更新的時候,都先讀取meta文件,判斷是否需要更新模型。如果不滿足條件,就不做本次更新,如果滿足條件,就對樣本通過上述方法進行整體聚類、對正樣本和負樣本分別進行篩選、訓練SVM模型、然后更新所述meta文件并保存。
[0148]本發(fā)明的SVM分類器訓練系統(tǒng)可以自動篩選分類器樣本,還可以自動更新模型,因此適用于工業(yè)化場合,可以處理需要大量分類器、樣本數(shù)量不斷增長或者變化、需要對分類器模型經(jīng)常進行更新等場合。經(jīng)過兩次聚類篩選,每次訓練模型需要的樣本數(shù)量大大減少,會使得訓練出來的SVM模型需要的支持向量減少,因此模型所占空間變小、識別速度增力口。同時如果正樣本中含有少量噪聲樣本,會在聚類過程中被過濾掉,因此分類器模型的抗噪聲能力增強。因為采用聚類算法選擇了代表樣本進行訓練,因此訓練出來的SVM模型的查全率不會明顯下降,還能保證有較高的查全率,但錯誤率會明顯下降。
[0149]本領域普通技術人員可以理解實現(xiàn)上述實施方式中的全部或部分流程以及對應的系統(tǒng),是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各實施方式的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(RandomAccess Memory, RAM)等。
[0150]以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。
【權利要求】
1.一種SVM分類器訓練樣本獲取方法,其特征在于,包括以下步驟: 計算獲取SVM分類器的各個樣本相互之間的距離; 將各個所述樣本的距離與第一距離閾值比較,對所述樣本進行第一次聚類,獲取至少一個第一分類,以及各個所述第一分類包含的樣本; 將各個所述樣本的距離與第二距離閾值比較,對所述樣本進行第二次聚類,獲取至少一個第二分類,以及各個所述第二分類包含的樣本;其中,所述第二距離閾值大于所述第一距離閾值; 當一個所述第二分類只包含一個樣本,則將該樣本劃分為孤立樣本; 分別在各個所述第一分類中選取一個樣本作為代表樣本,根據(jù)所述代表樣本和所述孤立樣本設置所述SVM分類器的訓練樣本。
2.如權利要求1所述的SVM分類器訓練樣本獲取方法,其特征在于,根據(jù)所述代表樣本和所述孤立樣本設置所述SVM分類器的訓練樣本的步驟包括: 在各個所述代表樣本中剔除所述孤立樣本后,將其余的所述代表樣本設置為所述訓練樣本。
3.如權利要求1所述的SVM分類器訓練樣本獲取方法,其特征在于,根據(jù)所述代表樣本和所述孤立樣本設置所述SVM分類器的訓練樣本的步驟包括: 如果所述樣本是正樣本,并且選取的所述代表樣本的數(shù)量N大于訓練正樣本數(shù)的最大值max,則獲取包含樣本數(shù)量較多的前max個所述第一分類所對應的代表樣本作為訓練正樣本; 如果所述樣本是正樣本,并且選取的所述代表樣本的數(shù)量N小于訓練正樣本數(shù)的最小值min,則選取所有的代表樣本作為訓練正樣本,并在所述孤立樣本中再選取不超過min-N個作為訓練正樣本; 如果所述樣本是正樣本,并且選取的所述代表樣本的數(shù)量N小于或等于訓練正樣本數(shù)的最大值max,且大于或等于訓練正樣本數(shù)的最小值min,則選取所有的所述代表樣本作為訓練正樣本。
4.如權利要求1所述的SVM分類器訓練樣本獲取方法,其特征在于,根據(jù)所述代表樣本和所述孤立樣本設置所述SVM分類器的訓練樣本的步驟包括: 如果所述樣本是負樣本,并且選取的所述代表樣本的數(shù)量大于或者等于訓練負樣本數(shù)的最小值,則選取所有的代表樣本以及所有的所述孤立樣本作為訓練負樣本; 如果所述樣本是負樣本,并且選取的所述代表樣本的數(shù)量小于訓練負樣本數(shù)的最小值,則從每個所述第一分類中再選取另一個樣本作為補充代表樣本,將所述代表樣本以及補充代表樣本一起作為訓練負樣本。
5.如權利要求1至4中任意一項所述的SVM分類器訓練樣本獲取方法,其特征在于,計算獲取SVM分類器的各個樣本的距離的步驟包括: 分別計算所述SVM分類器的各個樣本之間的距離,并將計算獲得的各個所述距離保存成特征矩陣; 當所述SVM分類器的樣本新增時,計算新增的樣本與其他樣本之間的距離,并從所述特征矩陣中讀取其他各個樣本之間的距離,生成新的特征矩陣。
6.一種SVM分類器訓練方法,其特征在于,包括以下步驟: 采用權利要求1至5中任意一項所述的SVM分類器訓練樣本獲取方法獲取訓練樣本; 利用獲取的所述訓練樣本訓練SVM分類器,獲取SVM分類器模型。
7.如權利要求6所述的SVM分類器訓練方法,其特征在于,利用獲取的所述訓練樣本訓練SVM分類器,獲取SVM分類器模型之后,還包括以下步驟: 設置更新觸發(fā)條件,當滿足所述更新觸發(fā)條件時,重新獲取訓練樣本,利用重新獲取的訓練樣本訓練SVM分類器,獲取SVM分類器模型,將獲取的SVM分類器模型更新當前的SVM分類器模型。
8.如權利要求7所述的SVM分類器訓練方法,其特征在于,通過以下方式判斷所述SVM分類器模型是否滿足預設的更新觸發(fā)條件: 記錄每次訓練SVM分類器時各個樣本的唯一 ID號,將上次訓練時各個樣本的唯一 ID號與當前所述SVM分類器各個樣本的唯一 ID號比較,獲取所述SVM分類器的樣本變化量,當所述SVM分類器的樣本變化量達到預設的變化量閾值時,判斷所述SVM分類器模型滿足預設的更新觸發(fā)條件; 和/或, 記錄每次訓練的時間,將當前時間與上次訓練的時間比較,獲取當前時間與上次訓練的時間之間的時間間隔,當所述時間間隔達到預定的時間間隔閾值時,判斷所述SVM分類器模型滿足預設的更新觸發(fā)條件。
9.一種SVM分類器訓練樣本獲取系統(tǒng),其特征在于,包括: 距離計算模塊,用于計算獲取SVM分類器的各個樣本相互之間的距離; 第一聚類模塊,用于將各個所述樣本的距離與第一距離閾值比較,對所述樣本進行第一次聚類,獲取至少一個第一分類,以及各個所述第一分類包含的樣本; 第二聚類模塊,用于將各個所述樣本的距離與第二距離閾值比較,對所述樣本進行第二次聚類,獲取至少一個第二分類,以及各個所述第二分類包含的樣本;其中,所述第二距離閾值大于所述第一距離閾值; 孤立樣本模塊,用于當一個所述第二分類只包含一個樣本,則將該樣本劃分為孤立樣本; 訓練樣本設置模塊,用于分別在各個所述第一分類中選取一個樣本作為代表樣本,根據(jù)所述代表樣本和所述孤立樣本設置所述SVM分類器的訓練樣本。
10.如權利要求9所述的SVM分類器訓練樣本獲取系統(tǒng),其特征在于,所述訓練樣本設置模塊在各個所述代表樣本中剔除所述孤立樣本后,將其余的所述代表樣本設置為所述訓練樣本。
11.如權利要求9所述的SVM分類器訓練樣本獲取系統(tǒng),其特征在于,所述訓練樣本設置模塊包括以下子模塊: 如果所述樣本是正樣本,并且選取的所述代表樣本的數(shù)量N大于訓練正樣本數(shù)的最大值max,則獲取包含樣本數(shù)量較多的前max個所述第一分類所對應的代表樣本作為訓練正樣本的子模塊; 如果所述樣本是正樣本,并且選取的所述代表樣本的數(shù)量N小于訓練正樣本數(shù)的最小值min,則選取所有的代表樣本作為訓練正樣本,并在所述孤立樣本中再選取不超過min-N個作為訓練正樣本的子模塊; 以及, 如果所述樣本是正樣本,并且選取的所述代表樣本的數(shù)量N小于或等于訓練正樣本數(shù)的最大值max,且大于或等于訓練正樣本數(shù)的最小值min,則選取所有的所述代表樣本作為訓練正樣本的子模塊。
12.如權利要求9所述的SVM分類器訓練樣本獲取系統(tǒng),其特征在于,所述訓練樣本設置模塊包括以下子模塊: 如果所述樣本是負樣本,并且選取的所述代表樣本的數(shù)量大于或者等于訓練負樣本數(shù)的最小值,則選取所有的代表樣本以及所有的所述孤立樣本作為訓練負樣本的子模塊; 以及, 如果所述樣本是負樣本,并且選取的所述代表樣本的數(shù)量小于訓練負樣本數(shù)的最小值,則從每個所述第一分類中再選取另一個樣本作為補充代表樣本,再將所述代表樣本以及補充代表樣本一起作為訓練負樣本的子模塊。
13.如權利要求9至12任意一項所述的SVM分類器訓練樣本獲取系統(tǒng),其特征在于,所述距離計算模塊包括以下子模塊: 分別計算所述SVM分類器的各個樣本之間的距離,并將計算獲得的各個所述距離保存成特征矩陣的子模塊; 以及, 當所述SVM分類器的樣本新增時,計算新增的樣本與其他樣本之間的距離,并從所述特征矩陣中讀取其他各個樣本之間的距離,生成新的特征矩陣的子模塊。
14.一種SVM分類器訓練系統(tǒng),其特征在于,包括: 權利要求9至13中任意一項所述的SVM分類器訓練樣本獲取系統(tǒng); 以及,利用獲取的所述訓練樣本訓練SVM分類器,獲取SVM分類器模型的訓練模塊。
15.如權利要求14所述的SVM分類器訓練系統(tǒng),其特征在于,所述訓練模塊包括更新模塊, 所述更新模塊用于設置更新觸發(fā)條件,在滿足所述更新觸發(fā)條件時,重新獲取訓練樣本,利用獲取的所述訓練樣本訓練SVM分類器,獲取SVM分類器模型,將獲取的SVM分類器模型更新當前的SVM分類器模型。
16.如權利要求15所述的SVM分類器訓練系統(tǒng),其特征在于,所述更新模塊包括第一更新觸發(fā)模塊和/或第二更新觸發(fā)模塊; 所述第一更新觸發(fā)模塊用于記錄每次訓練SVM分類器時各個樣本的唯一 ID號,將上次訓練時各個樣本的唯一 ID號與當前所述SVM分類器各個樣本的唯一 ID號比較,獲取所述SVM分類器的樣本變化量,當所述SVM分類器的樣本變化量達到預設的變化量閾值時,判斷所述SVM分類器模型滿足預設的更新觸發(fā)條件; 所述第二更新觸發(fā)模塊用于記錄每次訓練的時間,將當前時間與上次訓練的時間比較,獲取當前時間與上次訓練的時間之間的時間間隔,當所述時間間隔達到預定的時間間隔閾值時,判斷所述SVM分類器模型滿足預設的更新觸發(fā)條件。
【文檔編號】G06K9/66GK104252627SQ201310269484
【公開日】2014年12月31日 申請日期:2013年6月28日 優(yōu)先權日:2013年6月28日
【發(fā)明者】苗廣藝, 路香菊, 單霆 申請人:廣州華多網(wǎng)絡科技有限公司