本發(fā)明屬于計算機機器學習領域,特別涉及一種基于帶噪音標簽數(shù)據(jù)的漸進性集成分類方法。
背景技術(shù):
集成學習,作為機器學習的一個重要分支,應用于數(shù)據(jù)挖掘、智能交通系統(tǒng)、生物信息學、模式識別等領域,獲得了越來越多研究者的關注。相對于單一分類器,集成學習方法可以集成不同情況下的多個分類器,成為一個統(tǒng)一的分類器。這類集成分類器具有穩(wěn)定性、魯棒性和高準確率的特點。總而言之,集成分類器由于出色的表現(xiàn),已經(jīng)成功地運用在不用的領域中。
但是,傳統(tǒng)的集成學習方法主要是把樣本維和屬性維分開來進行研究,并沒有對其進行整體的研究。例如,bagging算法只對樣本維進行研究,而randomsubspace算法只對屬性維進行研究。這種只考慮樣本維度或者只考慮屬性維度的方法,不足以構(gòu)建一個強大的集成分類器,并對帶噪音的樣本進行處理。例如,在某些數(shù)據(jù)集中,具有特征的樣式存在某些屬性維中,但對于其他數(shù)據(jù)集,同樣的特征樣式不能起到相同的效果。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點與不足,提供一種基于帶噪音標簽數(shù)據(jù)的漸進性集成分類方法,在帶噪音標簽的數(shù)據(jù)集中,同時對樣本維度和屬性維度進行研究,能夠獲得較好的分類效果。
一種基于帶噪音標簽數(shù)據(jù)的漸進性集成分類方法,包括以下步驟:
s1、輸入訓練樣本和測試樣本;
s2、使用bootstrap方法進行樣本維采樣,得到b個bootstrap分支;
s3、使用lda線性判別分析方法對b個bootstrap分支訓練分類器,生成各自的分類器;
s4、新建一個集成分類器集合γ(p),初始化為空,從步驟s3生成的分類器中選擇第一個分類器加入到γ(p)中;
s5、漸進式分類器選擇:在剩下的分類器中逐步選取后續(xù)的優(yōu)秀的分類器作為分支加入到γ(p)中;直到選取的分支數(shù)目達到預先設定的集成分類器集合的分支數(shù)目g,停止選擇;同時輸出選擇好的集成分類器集合及各分類器分支對應的權(quán)重;
s6、利用集成分類器集合及各分類器分支對應的權(quán)重對測試樣本進行分類,得出最后的預測結(jié)果。
優(yōu)選的,步驟s1的具體步驟是:輸入一個待分類的帶噪音標簽的數(shù)據(jù)集,使用5倍交叉驗證來進行實驗,具體的:
第一次實驗:第1份作為測試數(shù)據(jù)集pe,剩下4份作為訓練數(shù)據(jù)集pr;訓練數(shù)據(jù)集pr={(p1,y1),(p2,y2),…,(pl,yl)},l為訓練樣本數(shù)目,pi(i∈{1,…,l})為訓練樣本,yi為樣本標簽,同時每個pi有d個屬性維;
第二次實驗:第2份作為測試數(shù)據(jù)集pe,剩下4份作為訓練數(shù)據(jù)集pr;
以此類推,共進行5次實驗。
優(yōu)選的,步驟s2中,使用bootstrap方法對訓練數(shù)據(jù)集pr進行樣本維采樣:
使用有放回的采樣,其中采樣率為
τ1∈[0,1]為統(tǒng)一化隨機變量;根據(jù)訓練樣本pi下標來進行隨機的一個一個樣本抽取,具體的采樣下標為:
其中的m為挑選出來的樣本的下標,τ2∈[0,1]為統(tǒng)一化隨機變量;每次實驗中,在一個采樣率下,挑選b次,b次中每次挑選
優(yōu)選的,步驟3訓練分類器的具體步驟是;把每個bootstrap分支單獨作為一個訓練集,使用lda算法,生成各自的分類器
ξb表示目標函數(shù);k表示標簽的數(shù)目總和;λ(k|pb)表示在bootstrap分支ob中的樣本pb的標簽k的先驗概率函數(shù);υ(yb|k)為樣本分類結(jié)果的損失函數(shù),其中k為真實標簽,yb為預測標簽,并當樣本被正確分類時,有υ(yb|k)=0,否則υ(yb|k)=1;
其中的λ(k|pb)的計算方式為:
其中的
優(yōu)選的,步驟s4的具體步驟是:
s4-1新建一個集成分類器集合γ(p),初始化為空
s4-2初始化所有樣本的權(quán)重,
s4-3計算每個bootstrap分支分類器的準確率ξj(j∈{1,…,b}),選取準確率最高的作為第一個被選擇的分類器:
s4-4計算分類器χ1的分類錯誤的樣本的帶權(quán)重總和誤差為:
其中的錯誤函數(shù)
s4-5計算分類器χ1對應的權(quán)重為θ1:
s4-6將分類器χ1加入到集成分類器集合γ(p)中去:
γ1(p)=θ1χ1;
s4-7更新所有訓練樣本的新的權(quán)重為
該權(quán)重已經(jīng)進行歸一化,因此有:
優(yōu)選的,步驟s5的具體步驟是:
s5-1計算剩余每個分類器
其中的ξj為訓練樣本權(quán)重調(diào)節(jié)后的分類器
計算完剩余每個分類器
其中的c為樣本標簽,χh為已獲得的集成分類器集合γg-1(p)中的第h個分類器;
從第一集成損失函數(shù)
成立則考慮下一個分類器;直到上式不成立,此時的分類器作為下一個加入集成分類器集合γ(p)的分類器;
s5-2在加入新的分類器分支后,計算新的集成分類器每個分類器分支的分類錯誤的樣本的帶權(quán)重總和誤差為:
此處的
s5-3把最新的分類器加入到已選擇的集合中,生成最新的集成分類器集合:
在新的集成分類器的基礎上更新所有訓練樣本的權(quán)重為:
其中更新后的歸一化權(quán)重有:
s5-4繼續(xù)執(zhí)行步驟s5-1~s5-3,直到選取的分支數(shù)目達到預先設定的分支數(shù)目g,停止迭代;同時輸出選擇好的集成分類器集合γg及對應的權(quán)重。
進一步的,步驟s5-1中分類器距離函數(shù)φ(oj,oh)的計算方法為:bootstrapoj與oh可以看成兩個高斯混合分布,分別記為ωj與ωh;對于兩個高斯混合模型,
其中的
優(yōu)選的,步驟s6的具體方法為:
在經(jīng)過每個分類器分支的計算后,會得出每個分支對該樣本的預測標簽;對于每個預測標簽,需要進行帶權(quán)重的投票,獲得最后的預測結(jié)果y*:
記
本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點和有益效果:
1、本發(fā)明同時研究了樣本維度與屬性維度,主要用于現(xiàn)實生活中的帶噪音的標簽的數(shù)據(jù)集的分類問題,能夠較好的解決這個常見的分類問題。
2、本發(fā)明提出了漸進式的集成框架,用較少的集成分支得到較好的集成效果,提高了集成器的有效性。
3、本發(fā)明提出了一個基于不同的相似性計算的分類器選擇算法,用于選擇較好的分類器,從而組成有效的集成分類算法。
附圖說明
圖1為實施例方法的流程圖;
圖2為不同分類器的實驗結(jié)果。
具體實施方式
下面結(jié)合實施例及附圖對本發(fā)明作進一步詳細的描述,但本發(fā)明的實施方式不限于此。
一種基于帶噪音標簽數(shù)據(jù)的漸進性集成分類方法,包括以下步驟:
s1、輸入訓練樣本和測試樣本;
s2、使用bootstrap方法進行樣本維采樣,得到b個bootstrap分支;
s3、使用lda線性判別分析方法對b個bootstrap分支訓練分類器,生成各自的分類器;
s4、新建一個集成分類器集合γ(p),初始化為空,從步驟s3生成的分類器中選擇第一個分類器加入到γ(p)中;
s5、漸進式分類器選擇:在剩下的分類器中逐步選取后續(xù)的優(yōu)秀的分類器作為分支加入到γ(p)中;直到選取的分支數(shù)目達到預先設定的集成分類器集合的分支數(shù)目g,停止選擇;同時輸出選擇好的集成分類器集合及各分類器分支對應的權(quán)重;
s6、利用集成分類器集合及各分類器分支對應的權(quán)重對測試樣本進行分類,得出最后的預測結(jié)果。
下面結(jié)合附圖1對本實施例的方法做進一步具體描述。
步驟1、輸入訓練樣本和測試樣本;
輸入一個待分類的帶噪音標簽的數(shù)據(jù)集。每個數(shù)據(jù)集中具有屬性維與樣本維。每一行為一個樣本維,每一列為一個屬性維,并且每個樣本有其樣本標簽。將該數(shù)據(jù)集平均分成5份,使用5倍交叉驗證來進行實驗。具體的:
第一次實驗:第1份作為測試數(shù)據(jù)集pe,剩下4份作為訓練數(shù)據(jù)集pr。訓練數(shù)據(jù)集為pr={(p1,y1),(p2,y2),…,(pl,yl)},l為訓練樣本數(shù)目,pi(i∈{1,…,l})為訓練樣本,yi∈{-1,1}為樣本標簽(一個標簽表示一個類別),可擴展到多類別分類問題。同時每個pi有d個屬性維。
第二次實驗:第2份作為測試數(shù)據(jù)集pe,剩下4份作為訓練數(shù)據(jù)集pr。以此類推,共進行5次實驗。
步驟2,使用bootstrap方法對訓練數(shù)據(jù)集pr進行樣本維采樣:
使用有放回的采樣,其中采樣率為
τ1∈[0,1]為統(tǒng)一化隨機變量。該方法根據(jù)訓練樣本pi下標來進行隨機的一個一個樣本抽取。具體的采樣下標為:
其中的m為挑選出來的樣本的下標,τ2∈[0,1]為統(tǒng)一化隨機變量。最后會挑選出
根據(jù)步驟2選取出來的訓練樣本,生成b個bootstrap分支
步驟3,使用線性判別分析(lda)算法訓練分類器:
把上述的每個bootstrap分支單獨作為一個訓練集,使用lda算法,生成各自的分類器
ξb表示目標函數(shù);k表示標簽的數(shù)目總和;λ(k|pb)表示在bootstrap分支ob中的樣本pb的標簽k的先驗概率函數(shù);υ(yb|k)為樣本分類結(jié)果的損失函數(shù),其中k為真實標簽,yb為預測標簽,并當樣本被正確分類時,有υ(yb|k)=0,否則υ(yb|k)=1。
其中的λ(k|pb)的計算方式為:
其中的
步驟4,選擇第一個分類器:
4.1新建一個集成分類器集合γ(p),初始化為空。
4.2初始化所有樣本的權(quán)重,
4.3計算每個bootstrap分支分類器的準確率ξj(j∈{1,…,b}),選取準確率最高的作為第一個被選擇的分類器:
4.4計算第一個被選擇的分類器的分類錯誤的樣本的帶權(quán)重總和誤差(weightedsumerror)為:
其中的錯誤函數(shù)(errorfunction):
4.5計算第一個被選擇的分類器χ1對應的權(quán)重為θ1:
4.6將第一個被選擇的分類器加入到集成分類器集合γ(p)中去:
γ1(p)=θ1χ1
4.7更新所有訓練樣本的新的權(quán)重為
該權(quán)重已經(jīng)進行歸一化,因此有:
步驟5,漸進式分類器選擇:
5.1該步驟主要在步驟4的基礎上,逐步選取后續(xù)的優(yōu)秀的分類器分支進行集成。漸進式分類器選擇的方法為:根據(jù)一定的邏輯計算每個分支
其中的ξj為樣本權(quán)重調(diào)節(jié)后的
具體的:bootstrapoj與oh可以看成兩個高斯混合分布(gaussianmixturemodels,gmms),分別記為ωj與ωh;對于兩個高斯混合模型:
其中的
一般而言,分類器損失函數(shù)π1(χ)的定義需要考慮兩個方面:a)帶權(quán)重的樣本的權(quán)重分配;b)不同的bootstrap在不同的相似性計算中的多樣性。
先計算剩余的沒加入集成分類器的每個分支的分類器損失函數(shù)的值
成立則考慮下一個分支,直到上式不成立,此時的分類器作為下一個加入集成分類器集合γ(p)的分類器:
其中的c∈{-1,1}為樣本標簽(真實標簽)的集合,χh為已獲得的集成分類器集合γg-1(p)中的第h個線性判別分析分類器。
使用集成損失函數(shù)π2(γ)來確定哪一個分類器加入到最終的集合中;π2(γ)的意義是用來去掉加入之后分類準確率降低的分支。
由此確定了下一個加入集成分類器集合γ(p)的分類器。
5.2在加入新的分類器分支后,計算新的集成分類器每個分支的分類錯誤的樣本的帶權(quán)重總和誤差(weightedsumerror)為:
其中的
5.3把最新的分類器加入到上一步已選擇的集合中,生成最新的集成分類器集合:
在新的集成分類器的基礎上更新最新樣本的權(quán)重為:
其中更新后的歸一化權(quán)重有:
5.4繼續(xù)執(zhí)行步驟5.1~5.3,直到選取的分支數(shù)目達到預先設定的分支數(shù)目g,停止迭代;同時輸出選擇好的集成分類器集合γg及對應的權(quán)重。
步驟5.1中,對于分類器距離函數(shù)φ(oj,oh),有不同的定義方法。bootstrapoj與oh可以看成兩個高斯混合分布(gaussianmixturemodels,gmms),分別記為ωj與ωh。并可以使用k-means算法初始化gmms模型的參數(shù),使用expectation-maximization(em)算法來獲取最有的參數(shù)值。
對于兩個高斯混合模型,
1.φ1(oj,oh)定義為選取兩個距離最短的高斯分布,具體定義為:
其中的
2.φ2(oj,oh)定義為選取兩個距離最遠的高斯分布,具體定義為:
3.φ3(oj,oh)定義為成對的平均相似度,具體定義為:
4.φ4(oj,oh)定義為帶權(quán)重的平均相似度計算,具體的定義為:
上面φ4(oj,oh)的定義方法主要優(yōu)點是加入了權(quán)重,能夠的計算不同分支的相似性。同時從實驗中可以得到,第四種的方法最優(yōu)。因此本實施例分類方法也使用了該定義來計算。
經(jīng)過輸入訓練樣本,使用bagging采樣方法與lda降維算法來去掉帶噪音的樣本維與屬性維;生成一系列bootstraps子分支以及與每個子分支對應的樣本成員;使用基于分類器特定的代價函數(shù)(costfunction)和集成代價函數(shù)的漸進式選擇算法來對分類器進行選擇,并迭代獲取每個分支對應的權(quán)重;使用帶權(quán)重的投票方法來對分支結(jié)果進行匯總,最終獲得集成分類器的分類結(jié)果。進一步分析本實施例方法的準確性,步驟如下:
在步驟1中分割出來的1份測試集作為該分類器的輸入數(shù)據(jù)的屬性維pe(每個數(shù)據(jù)集中具有屬性維與樣本維。每一行為一個樣本維,每一列為一個屬性維)。在經(jīng)過每個分類器的計算后,會得出每個分支對該樣本的預測標簽。
對于以上步驟每個結(jié)果的預測標簽,需要進行帶權(quán)重的投票,獲得最后的預測結(jié)果。同時記
根據(jù)下式進行帶權(quán)重投票,獲得最后的預測結(jié)果y*:
在實驗中,根據(jù)方法標出的結(jié)果,與原始的訓練樣本的結(jié)果進行比較,并計算對應的分類準確率(classificationaccuracy,ac)。
其中的ps表示測試集,|ps|表示在測試集ps中的測試樣本數(shù)目。對于樣本pi:
圖2展示了不同分類器的實驗結(jié)果,傾斜加粗的數(shù)據(jù)對應著該數(shù)據(jù)集上準確率最高的方法。結(jié)果表明,本實施例提出的方法能夠在不同數(shù)據(jù)集上獲得較好的分類結(jié)果。從最終的結(jié)果可以得出,該方法可以較為有效的解決帶噪音標簽數(shù)據(jù)的分類問題。
上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發(fā)明的保護范圍之內(nèi)。