湯禮穎,賀利樂,何林,屈東東
(1.西安建筑科技大學(xué) 機電工程學(xué)院,陜西 西安 710055;2.西安建筑科技大學(xué) 理學(xué)院,陜西 西安 710055)
集成學(xué)習(xí)是一種重要的機器學(xué)習(xí)方法,主要思路是多個分類器基于某種組合方式組合在一起,來取得比單個分類器更好的性能,從而可顯著提高學(xué)習(xí)系統(tǒng)的預(yù)測精度和泛化能力[1]。
基分類器之間的多樣性是影響集成系統(tǒng)泛化性能的重要因素[2],產(chǎn)生泛化能力強、差異性大的基學(xué)習(xí)器是集成算法的關(guān)鍵。但如何有效的度量并利用這些多樣性還是一個懸而未決的問題。目前大多數(shù)多樣性度量方法都是基于基分類器的0/1 輸出方式(Oracle 輸出),主要分為兩大類:成對度量和非成對度量。成對度量方法主要有Q 統(tǒng)計方法[3]、不一致度量方法[4]、雙錯度量方法[5]和相關(guān)系數(shù)法[6]等;非成對度量方法主要有KW 差異度量方法[7]、κ評判間一致性度量方法[8]、熵度量方法[9-10]、難度度量[11]、廣義差異性度量[12]等。
近年來國內(nèi)學(xué)者們也提出了一些新的研究多樣性度量方法。例如:邢紅杰等[13]提出了一種關(guān)系熵多樣性度量方法,結(jié)合相關(guān)熵和距離方差描述支持向量數(shù)據(jù)來實現(xiàn)選擇性集成;李莉[14]提出了一種距離信息熵的多樣性描述方法實現(xiàn)基分類器集成,該方法在UCI 數(shù)據(jù)集上具有與成對差異性度量方法一致的效果;趙軍陽等[15]針對多分類器系統(tǒng)差異性評價中無法處理模糊數(shù)據(jù)的問題,提出了一種采用互補性信息熵的分類器差異性度量方法,該方法省略了對分類器輸出結(jié)果的正確性判別過程,直接處理分類器的輸出結(jié)果,但是未考慮集成規(guī)模與精度之間的平衡問題,對系統(tǒng)的泛化性能有一定的影響;周剛等[16]提出了一種聯(lián)合信息增益的過程多樣性度量方法,該方法在西瓜數(shù)據(jù)集上擁有與傳統(tǒng)方法相近的準(zhǔn)確性。上述幾種方法都是基于信息論角度來定義多樣性的,基模型的訓(xùn)練和集成都采用機器學(xué)習(xí)方法得到,在應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)集成的多樣性研究方面較少。
隨著深度學(xué)習(xí)的快速發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)[17]因其獨特的結(jié)構(gòu)已成為當(dāng)前圖像識別領(lǐng)域的研究熱點。卷積神經(jīng)網(wǎng)絡(luò)分類器的輸出方式與Oracle 輸出方式不同,采用的是c維向量輸出方式。在處理多分類(c>2)問題中,分類器輸出單元都需用Softmax 激活函數(shù)進行數(shù)值處理,將多分類的輸出數(shù)值向量形式轉(zhuǎn)化為類標(biāo)簽的相對概率向量方式,即c維向量形式D(z)=[d0(z)d1(z) ···dc?1(z)],dc?1(z)為分類器D給出的樣例屬于第c?1類的置信度,i=1,2,···,c?1,c為不同類標(biāo)簽的數(shù)目。針對卷積神經(jīng)網(wǎng)絡(luò)的概率向量輸出結(jié)果,使用0/1 輸出準(zhǔn)則來統(tǒng)計分類器對樣本分類結(jié)果的正確/錯誤個數(shù)來計算多樣性,是一種硬性的評判標(biāo)準(zhǔn)[18]。如兩個5 分類器的輸出概率向量是Di(z)=(0.17,0.03,0.6,0.05,0.15)和Dj(z)=(0.1,0.2,0.5,0.17,0.13),將它們轉(zhuǎn)化為Oracle 輸出方式,兩個分類器的結(jié)果都為第三類,二者輸出結(jié)果一致,采用基于模型的Oracle 輸出結(jié)果多樣性度量方法將會判定二者沒有任何不同。但事實上,兩個分類器輸出結(jié)果存在明顯的不同,Oracle 輸出方式未能充分利用卷積神經(jīng)網(wǎng)絡(luò)輸出的概率向量所包含的豐富信息。
針對此問題,本文充分利用多分類卷積神經(jīng)網(wǎng)絡(luò)的輸出特性信息,提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)集成的多樣性度量方法。采用概率向量輸出方式來表示模型分類結(jié)果,引入兩個向量的差異性,針對每一個訓(xùn)練樣本計算模型輸出結(jié)果之間的差異性來評估多樣性。
假設(shè)存在分類器 hi和 hj(i,j=1,2,···,T,i≠j),1 表示分類器正確,0 表示分類器分類錯誤,兩個分類器的聯(lián)合輸出結(jié)果用表1 中a、b、c、d 表示。a表示在訓(xùn)練過程中分類器 hi和 hj都對樣本分類正確的樣本個數(shù),b表示在訓(xùn)練過程中分類器hi對樣本分類錯誤而分類器 hj分類正確的樣例個數(shù),c表示分類器 hi對樣本分類正確而分類器hj錯分的樣例個數(shù),d表示分類器 hi和 hj都對樣本錯分的樣例個數(shù)。由此,總的樣本個數(shù)可以表示為m=a+b+c+d,兩個分類器之間的關(guān)系如表1所示。
表1 兩個分類器之間的關(guān)系Table 1 Relationship between a pair of classifiers
1)Q統(tǒng)計方法(Q)
Q的取值為[?1,1],當(dāng)兩個分類器總是對其正確分類或者錯誤分類,說明其行為是一致的,則有b=c=0,即Qij=1,此時它們的多樣性最低;反之,如果兩個分類器的分類剛好一個正確一個錯誤,即Qij=?1,這種情況下多樣性最好。
2)不一致性度量(Dis)
不一致性度量表示兩個分類器之中一個判斷正確一個判斷錯誤的測試個數(shù)與總測試個數(shù)的比值。
3)雙錯度量方法(DF)
DF取值范圍為[0,1],值越大,說明兩個分類器都對其分類出錯,多樣性越差。
首先定義兩個多類分類的分類器 A和 B,zj(j=1,2,···,m)為m個樣本中的第j個樣本,則對樣本zj的模型輸出概率向量為其中,向量中的各元素是模型預(yù)測概率值,索引(A0,A1,A2,···,Ac?1)和(B0,B1,B2,···,Bc?1)分別為向量DA和DB各概率對應(yīng)的類標(biāo)簽值,有,。
模型經(jīng)過訓(xùn)練之后,輸出層經(jīng)過Softmax 激活函數(shù)得到模型概率向量結(jié)果,定義卷積神經(jīng)網(wǎng)絡(luò)的多樣性度量方法,基本思路如下:
1)將2 個分類器概率向量中的元素從大到小進行排列,并返回其對應(yīng)的index(類標(biāo)簽)值,得到分類器最大置信度概率由大到小排列對應(yīng)的類標(biāo)簽向量LA[i]和LB[i],i=0,1,2,···,c?1,c為不同類標(biāo)簽的數(shù)目。
2)對于已標(biāo)記單一樣本zj,兩個分類器的多樣性DAB(zj)定義如式(5)、(6):
式中:ki為不同排序位置差異的權(quán)重(越靠前的輸出結(jié)果不一樣說明差異性越大),本文通過多次實驗對比,最終取值為{32,8,4,2,1,0,···,0},采用指數(shù)遞減值。
式(4)返回兩個分類器元素之間的差異性結(jié)果序列。分類器之間的多樣性只是反映兩個模型對于已標(biāo)記樣本差異性,與模型類標(biāo)簽值無關(guān),與輸出結(jié)果的位置無關(guān)。因此,為了保證度量的準(zhǔn)確性和有效性,定義式(5)在分類器相同的索引值情況下,當(dāng)兩個分類器輸出類標(biāo)簽是一致時,返回為0;當(dāng)輸出類標(biāo)簽不同時返回為1。將式(5)代入式(6),得到兩個分類器對于單一樣本多樣性的定義。值越大,兩個概率向量差異性越大,分類器之間的多樣性也就越大。
假設(shè)對于樣本zj兩個5 分類的輸出概率向量是D1(zj)=(0.03,0.07,0.6,0.05,0.25)和D2(zj)=(0.1,0.17,0.4,0.2,0.13),得到分類器最大置信度概率由大到小排列對應(yīng)的類標(biāo)簽向量和,得到向量fAB(i)=(0,1,1 1 0)。對于單一樣本z得到
而如果采用基于Oracle 輸出的多樣性度量方式,對于該樣本兩分類器輸出結(jié)果相同,得到的多樣性為0。
3) 對于已標(biāo)記樣本集Z={z1,z2,···,zj,···,zm},兩個基模型之間的多樣性為所有樣本的集合多樣性后的平均值,如式(7)所示:
4)對于多分類器系統(tǒng){D1,D2,···,DT},其多樣性為計算每對基模型之間的多樣性的平均值:
為了驗證新的多樣性度量方法的有效性和先進性,采用4 種方法計算基模型的多樣性:Q統(tǒng)計、不一致性度量、雙錯度量和本文提出的基于概率向量方法DPV。在CIFAR-10 與CIFAR-100 數(shù)據(jù)集上分別進行了實證對比分析。
實驗分析主要分為3 部分內(nèi)容:1)訓(xùn)練19 個基學(xué)習(xí)器模型,并得到單個基模型以及預(yù)測結(jié)果;2) 基于CIFAR-10、CIFAR-100 數(shù)據(jù)集采用4 種方法計算各基模型之間的多樣性;3)在數(shù)據(jù)集上進行基模型的集成預(yù)測,采用簡單平均集成策略集成基模型,并對比分析單個模型與集成模型之間的預(yù)測結(jié)果。
卷積神經(jīng)網(wǎng)絡(luò)是一種具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),對于大型圖像處理具有十分出色的表現(xiàn)[19]。CNN 的基本結(jié)構(gòu)由輸入層、卷積層、池化層、全連接層和輸出層構(gòu)成。本文構(gòu)造了19 種不同結(jié)構(gòu)的CNN 網(wǎng)絡(luò)模型,網(wǎng)絡(luò)結(jié)構(gòu)都包括輸入層、卷積層、池化層、Dropout 層、Flatten 層和全連接層,各模型結(jié)構(gòu)不同之處在于卷積層、池化層和Dropout 層的不同。表2、3 為其中9 個模型的具體結(jié)構(gòu)。
表2 4 個候選基模型結(jié)構(gòu)Table 2 Structures of four-candidate basic models
續(xù)表2
表3 5 個候選基模型結(jié)構(gòu)Table 3 Structures of five-candidate basic models
續(xù)表3
本實驗采用的是Windows10 系統(tǒng)的GTX1 660Ti 6 GB 獨立顯卡實驗平臺。在Window10 系統(tǒng)下,所有網(wǎng)絡(luò)均基于深度學(xué)習(xí)框架Tensorflow2.0實現(xiàn)。
模型的性能評價指標(biāo)包括訓(xùn)練集、驗證集、測試集的準(zhǔn)確性(Accuracy,簡稱Acc),是衡量模型正確分類的標(biāo)準(zhǔn)。其中測試集的準(zhǔn)確率直接反映了模型的預(yù)測能力,見式(9)所示:
式中:m是已標(biāo)記樣本集Z={z1,z2,···,zm}中樣本個數(shù);yj是類標(biāo)簽;f(xj)為模型預(yù)測結(jié)果;I是條件判斷函數(shù)。
CIFAR-10 和CIFAR-100 數(shù)據(jù)集是用于普適物體識別的圖像分類數(shù)據(jù)集,由Alex 等[20-21]收集。CIFAR-10 和CIFAR-100 數(shù)據(jù)集都包含60000張32 像素×32 像素的彩色圖片,分別為訓(xùn)練集50000 張和測試集10000 張,訓(xùn)練集用于訓(xùn)練基學(xué)習(xí)器,并計算模型間多樣性值;測試集則用于對各種基模型和集成模型的預(yù)測效果進行驗證和對比。CIFAR-10 數(shù)據(jù)集分為10 個類,每個類有6000 張圖片;CIFAR-100 數(shù)據(jù)集有20 個超類,每個超類分為5 個小類,總計100 分類,每個分類包含600 張圖片。
3.4.1 基模型預(yù)測結(jié)果
基學(xué)習(xí)器模型分別在CIFAR-10 和CIFAR-100 數(shù)據(jù)集上進行訓(xùn)練,使用SGD 優(yōu)化器[22]更新權(quán)重,對訓(xùn)練數(shù)據(jù)集首先進行圖像預(yù)處理,包括圖像歸一化和數(shù)據(jù)集打亂,批量規(guī)范化之后訓(xùn)練單批次大小為128。經(jīng)過反復(fù)實驗,卷積神經(jīng)網(wǎng)絡(luò)模型大概在200 次迭代之后已經(jīng)完全收斂,識別率達到了最高,故Epochs 值設(shè)置為200;在卷積操作中使用ReLU[23]激活函數(shù),添加L2正則化處理,參數(shù)設(shè)置λ為0.001;利用Dropout 防止過擬合,設(shè)置為0.25;采用分段學(xué)習(xí)率訓(xùn)練方式,初始學(xué)習(xí)率設(shè)為0.01,動量系數(shù)均為0.9;權(quán)重初始化采用He 正態(tài)分布初始化器,偏差初始化為零。單個基模型經(jīng)過訓(xùn)練后的預(yù)測結(jié)果如表4 所示。
表4 19 個候選基模型預(yù)測結(jié)果AccTable 4 Prediction results Acc of 19 candidate basic models %
由表4 可知,基模型15~19 的預(yù)測準(zhǔn)確性較低,考慮到模型集成之后的效果,初步篩選出基模型1~14 作為初篩選基模型。
3.4.2 基于CIFAR-10 數(shù)據(jù)集的多樣性分析
表5 是3 種傳統(tǒng)多樣性方法和本文方法分別在CIFAR-10 數(shù)據(jù)集上得到的多樣性統(tǒng)計值最大的兩分類器集成模型,表6 是表5 得到的兩分類器集成模型在測試集上的預(yù)測結(jié)果。同理,表7是得到的多樣性統(tǒng)計值最大的三分類器集成模型,表8 是其預(yù)測結(jié)果;表9 是得到的多樣性統(tǒng)計值最大的四分類器集成模型結(jié)果,表10 是其預(yù)測結(jié)果。其中,平均集成精度是指通過多樣性方法篩選得到的三組集成模型組合采用簡單平均集成策略得到的在測試集上的集成精度,并求取平均值的結(jié)果;基模型平均精度是指表6 中篩選出的單個基模型在測試集上的分類精度的平均值。如表6 中DF 方法的平均集成精度就等于表5 中對應(yīng)的3 個兩分類器集成模型2-14、2-5 和5-14 分別在測試集上的集成精度的平均值,而相應(yīng)的基模型平均精度是指單一基模型2、5 和14 測試精度的均值結(jié)果。
表5 CIFAR-10 上多樣性最大的兩分類器集成模型Table 5 Results of an optimal two-classifiers model on CIFAR-10
表6 兩分類器集成模型在CIFAR-10 上預(yù)測結(jié)果Table 6 Prediction results of two-classifier models on CIFAR-10 %
表7 CIFAR-10 上多樣性最大的三分類器集成模型Table 7 Results of optimal three-classifier models on CIFAR-10
表8 三分類器集成模型在CIFAR-10 上預(yù)測結(jié)果Table 8 Prediction results of three-classifier models on CIFAR-10 %
表9 CIFAR-10 上多樣性最大的四分類器集成模型Table 9 Results of optimal four-classifier models on CIFAR-10
表10 四分類器集成模型在CIFAR-10 的預(yù)測結(jié)果Table 10 Prediction results of four-classifier models on CIFAR-10 %
由表5、6 可知,本文方法篩選出的二分類器集成模型是2-6、2-3 和2-5,平均集成精度相比于基模型平均精度提升效果最優(yōu),提升了2.197%;由表7 和表8 可知,本文方法篩選出的三分類器集成模型為2-3-6、2-5-6 和2-6-8,集成精度相比于基模型平均精度提升效果最優(yōu),提升了2.575%;由表9、10 可知,本文方法篩選出的四分類器模型是2-3-5-6、2-3-6-8 和2-3-6-10,集成精度相比于基模型精度提高了2.580%,比Q統(tǒng)計方法效果好,比不一致性方法相差0.397%,比雙錯度量方法相差0.074%。同時,本文方法篩選出的二分類器的平均集成精度是最高的,達到了92.067%,性能相比于其他3 種方法是最優(yōu)的,三分類器和四分類器的平均集成精度與雙錯度量得到的結(jié)果相近,且高于不一致性方法和Q統(tǒng)計方法,說明本文提出的基于概率向量的多樣性度量方法是有效的。
3.4.3 基于CIFAR-100 數(shù)據(jù)集的多樣性分析
為進一步驗證本文所提方法的有效性,在CIFAR-100 數(shù)據(jù)集上進行驗證實驗。表11 是3種傳統(tǒng)多樣性方法和本文方法分別在CIFAR-100數(shù)據(jù)集上得到的多樣性統(tǒng)計值最大的兩分類器集成模型,表12 是表11 得到的兩分類器集成模型的預(yù)測結(jié)果;表13 是得到的多樣性統(tǒng)計值最大的三分類器集成模型,表14 是其預(yù)測結(jié)果;表15 是得到的多樣性統(tǒng)計值最大的四分類器集成模型,表16 是其預(yù)測結(jié)果。
表11 CIFAR-100 上多樣性最大的兩分類器集成模型Table 11 Results of optimal two-classifier models on CIFAR-100
表12 兩分類器集成模型在CIFAR-100 的預(yù)測結(jié)果Table 12 Prediction results of two-classifier models on CIFAR-100 %
表13 CIFAR-100 上多樣性最大的三分類器集成模型Table 13 Results of optimal three-classifier models on CIFAR-100
表14 三分類器集成模型在CIFAR-100 的預(yù)測結(jié)果Table 14 Prediction results of three-classifier models on CIFAR-100 %
表15 CIFAR-100 上多樣性大的四分類器集成模型Table 15 Results of optimal four-classifier models on CIFAR-100
表16 四分類集成模型在CIFAR-100 的預(yù)測結(jié)果Table 16 Prediction results of four-classifier models on CIFAR-100 %
由表11、12 可知,本文方法在CIFAR-100 數(shù)據(jù)集上篩選出的二分類器集成模型是5-14、12-14 和3-14,平均集成精度相比于基模型平均精度提升效果最優(yōu),提升了5.812%;由表13、14 可知,本文方法篩選出的三分類器集成模型為5-12-14、5-8-14 和3-8-14,平均集成精度相比于基模型平均精度提升效果最優(yōu),提升了7.421%;由表15、16 可知,本文方法篩選出的四分類器模型是3-5-12-14、3-5-8-14 和5-8-12-14,平均集成精度相比于基模型平均精度提高了7.846%,集成精度相比于基模型精度提升效果最優(yōu)。同時,在CIFAR-100 數(shù)據(jù)集上,本文方法相比于其他3 種方法,篩選出的集成模型的平均集成精度無論是二分類器、三分類器還是四分類器都是最高的,集成性能優(yōu)于雙錯度量方法、不一致性方法和Q統(tǒng)計方法,再次驗證了本文方法的有效性。
在基模型準(zhǔn)確性比較接近的情況下,在CIFAR-10 數(shù)據(jù)集上DPV方法和雙錯度量方法篩選出的集成模型的集成性能較接近,都優(yōu)于不一致性和Q統(tǒng)計方法;在CIFAR-100 數(shù)據(jù)集上,DPV方法篩選出的集成模型無論是平均集成性能還是相對于基模型提升的效果都是最佳的。由此說明,在基模型相對較弱,模型之間有更大的互補空間可以利用時,DPV方法更能夠體現(xiàn)模型之間的互補性,可選擇更好的模型組合進行集成。通過在CIFAR-10 和CIFAR-100 數(shù)據(jù)集上驗證,本文提出的DPV方法可以充分利用卷積神經(jīng)網(wǎng)絡(luò)的概率向量的輸出特性,深度挖掘模型內(nèi)部互補信息,相較傳統(tǒng)多樣性度量方法更能夠體現(xiàn)出模型之間的互補性和多樣性。
針對目前模型集成中多樣性度量方法在基模型為卷積神經(jīng)網(wǎng)絡(luò)時未充分利用基模型輸出的概率向量信息的問題,本文提出一種基于卷積神經(jīng)網(wǎng)絡(luò)概率向量的多樣性度量方法。通過在CIFAR-10 和CIFAR-100 數(shù)據(jù)集上訓(xùn)練多個不同結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)進行基于多樣性方法的選擇對比實驗,結(jié)果表明,在CIFAR-10 數(shù)據(jù)集上本文方法和雙錯度量方法相近,且優(yōu)于不一致性和Q統(tǒng)計方法;在CIFAR-100 數(shù)據(jù)集上,相比于雙錯度量、Q統(tǒng)計和不一致性方法,本文提出的方法是最優(yōu)的。本文提出的方法能夠充分利用卷積神經(jīng)網(wǎng)絡(luò)的概率向量輸出特性,更好地體現(xiàn)模型之間的多樣性,特別是在基模型整體較弱時,能夠選出集成效果相對更好的模型組合,且集成模型的性能對比基模型平均性能的提升效果也更優(yōu)。此方法為基于概率向量輸出的卷積神經(jīng)網(wǎng)絡(luò)模型集成選擇提供了一種新的多樣性度量思路。