湯禮穎,賀利樂,何林,屈東東
(1.西安建筑科技大學 機電工程學院,陜西 西安 710055;2.西安建筑科技大學 理學院,陜西 西安 710055)
集成學習是一種重要的機器學習方法,主要思路是多個分類器基于某種組合方式組合在一起,來取得比單個分類器更好的性能,從而可顯著提高學習系統的預測精度和泛化能力[1]。
基分類器之間的多樣性是影響集成系統泛化性能的重要因素[2],產生泛化能力強、差異性大的基學習器是集成算法的關鍵。但如何有效的度量并利用這些多樣性還是一個懸而未決的問題。目前大多數多樣性度量方法都是基于基分類器的0/1 輸出方式(Oracle 輸出),主要分為兩大類:成對度量和非成對度量。成對度量方法主要有Q 統計方法[3]、不一致度量方法[4]、雙錯度量方法[5]和相關系數法[6]等;非成對度量方法主要有KW 差異度量方法[7]、κ評判間一致性度量方法[8]、熵度量方法[9-10]、難度度量[11]、廣義差異性度量[12]等。
近年來國內學者們也提出了一些新的研究多樣性度量方法。例如:邢紅杰等[13]提出了一種關系熵多樣性度量方法,結合相關熵和距離方差描述支持向量數據來實現選擇性集成;李莉[14]提出了一種距離信息熵的多樣性描述方法實現基分類器集成,該方法在UCI 數據集上具有與成對差異性度量方法一致的效果;趙軍陽等[15]針對多分類器系統差異性評價中無法處理模糊數據的問題,提出了一種采用互補性信息熵的分類器差異性度量方法,該方法省略了對分類器輸出結果的正確性判別過程,直接處理分類器的輸出結果,但是未考慮集成規模與精度之間的平衡問題,對系統的泛化性能有一定的影響;周剛等[16]提出了一種聯合信息增益的過程多樣性度量方法,該方法在西瓜數據集上擁有與傳統方法相近的準確性。上述幾種方法都是基于信息論角度來定義多樣性的,基模型的訓練和集成都采用機器學習方法得到,在應用卷積神經網絡集成的多樣性研究方面較少。
隨著深度學習的快速發展,卷積神經網絡(convolutional neural network,CNN)[17]因其獨特的結構已成為當前圖像識別領域的研究熱點。卷積神經網絡分類器的輸出方式與Oracle 輸出方式不同,采用的是c維向量輸出方式。在處理多分類(c>2)問題中,分類器輸出單元都需用Softmax 激活函數進行數值處理,將多分類的輸出數值向量形式轉化為類標簽的相對概率向量方式,即c維向量形式D(z)=[d0(z)d1(z) ···dc?1(z)],dc?1(z)為分類器D給出的樣例屬于第c?1類的置信度,i=1,2,···,c?1,c為不同類標簽的數目。針對卷積神經網絡的概率向量輸出結果,使用0/1 輸出準則來統計分類器對樣本分類結果的正確/錯誤個數來計算多樣性,是一種硬性的評判標準[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),將它們轉化為Oracle 輸出方式,兩個分類器的結果都為第三類,二者輸出結果一致,采用基于模型的Oracle 輸出結果多樣性度量方法將會判定二者沒有任何不同。但事實上,兩個分類器輸出結果存在明顯的不同,Oracle 輸出方式未能充分利用卷積神經網絡輸出的概率向量所包含的豐富信息。
針對此問題,本文充分利用多分類卷積神經網絡的輸出特性信息,提出了一種基于卷積神經網絡集成的多樣性度量方法。采用概率向量輸出方式來表示模型分類結果,引入兩個向量的差異性,針對每一個訓練樣本計算模型輸出結果之間的差異性來評估多樣性。
假設存在分類器 hi和 hj(i,j=1,2,···,T,i≠j),1 表示分類器正確,0 表示分類器分類錯誤,兩個分類器的聯合輸出結果用表1 中a、b、c、d 表示。a表示在訓練過程中分類器 hi和 hj都對樣本分類正確的樣本個數,b表示在訓練過程中分類器hi對樣本分類錯誤而分類器 hj分類正確的樣例個數,c表示分類器 hi對樣本分類正確而分類器hj錯分的樣例個數,d表示分類器 hi和 hj都對樣本錯分的樣例個數。由此,總的樣本個數可以表示為m=a+b+c+d,兩個分類器之間的關系如表1所示。

表1 兩個分類器之間的關系Table 1 Relationship between a pair of classifiers
1)Q統計方法(Q)

Q的取值為[?1,1],當兩個分類器總是對其正確分類或者錯誤分類,說明其行為是一致的,則有b=c=0,即Qij=1,此時它們的多樣性最低;反之,如果兩個分類器的分類剛好一個正確一個錯誤,即Qij=?1,這種情況下多樣性最好。
2)不一致性度量(Dis)
不一致性度量表示兩個分類器之中一個判斷正確一個判斷錯誤的測試個數與總測試個數的比值。

3)雙錯度量方法(DF)

DF取值范圍為[0,1],值越大,說明兩個分類器都對其分類出錯,多樣性越差。

首先定義兩個多類分類的分類器 A和 B,zj(j=1,2,···,m)為m個樣本中的第j個樣本,則對樣本zj的模型輸出概率向量為其中,向量中的各元素是模型預測概率值,索引(A0,A1,A2,···,Ac?1)和(B0,B1,B2,···,Bc?1)分別為向量DA和DB各概率對應的類標簽值,有,。
模型經過訓練之后,輸出層經過Softmax 激活函數得到模型概率向量結果,定義卷積神經網絡的多樣性度量方法,基本思路如下:
1)將2 個分類器概率向量中的元素從大到小進行排列,并返回其對應的index(類標簽)值,得到分類器最大置信度概率由大到小排列對應的類標簽向量LA[i]和LB[i],i=0,1,2,···,c?1,c為不同類標簽的數目。

2)對于已標記單一樣本zj,兩個分類器的多樣性DAB(zj)定義如式(5)、(6):

式中:ki為不同排序位置差異的權重(越靠前的輸出結果不一樣說明差異性越大),本文通過多次實驗對比,最終取值為{32,8,4,2,1,0,···,0},采用指數遞減值。
式(4)返回兩個分類器元素之間的差異性結果序列。分類器之間的多樣性只是反映兩個模型對于已標記樣本差異性,與模型類標簽值無關,與輸出結果的位置無關。因此,為了保證度量的準確性和有效性,定義式(5)在分類器相同的索引值情況下,當兩個分類器輸出類標簽是一致時,返回為0;當輸出類標簽不同時返回為1。將式(5)代入式(6),得到兩個分類器對于單一樣本多樣性的定義。值越大,兩個概率向量差異性越大,分類器之間的多樣性也就越大。
假設對于樣本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),得到分類器最大置信度概率由大到小排列對應的類標簽向量和,得到向量fAB(i)=(0,1,1 1 0)。對于單一樣本z得到

而如果采用基于Oracle 輸出的多樣性度量方式,對于該樣本兩分類器輸出結果相同,得到的多樣性為0。
3) 對于已標記樣本集Z={z1,z2,···,zj,···,zm},兩個基模型之間的多樣性為所有樣本的集合多樣性后的平均值,如式(7)所示:

4)對于多分類器系統{D1,D2,···,DT},其多樣性為計算每對基模型之間的多樣性的平均值:

為了驗證新的多樣性度量方法的有效性和先進性,采用4 種方法計算基模型的多樣性:Q統計、不一致性度量、雙錯度量和本文提出的基于概率向量方法DPV。在CIFAR-10 與CIFAR-100 數據集上分別進行了實證對比分析。
實驗分析主要分為3 部分內容:1)訓練19 個基學習器模型,并得到單個基模型以及預測結果;2) 基于CIFAR-10、CIFAR-100 數據集采用4 種方法計算各基模型之間的多樣性;3)在數據集上進行基模型的集成預測,采用簡單平均集成策略集成基模型,并對比分析單個模型與集成模型之間的預測結果。
卷積神經網絡是一種具有深度結構的前饋神經網絡,對于大型圖像處理具有十分出色的表現[19]。CNN 的基本結構由輸入層、卷積層、池化層、全連接層和輸出層構成。本文構造了19 種不同結構的CNN 網絡模型,網絡結構都包括輸入層、卷積層、池化層、Dropout 層、Flatten 層和全連接層,各模型結構不同之處在于卷積層、池化層和Dropout 層的不同。表2、3 為其中9 個模型的具體結構。

表2 4 個候選基模型結構Table 2 Structures of four-candidate basic models

續表2

表3 5 個候選基模型結構Table 3 Structures of five-candidate basic models

續表3
本實驗采用的是Windows10 系統的GTX1 660Ti 6 GB 獨立顯卡實驗平臺。在Window10 系統下,所有網絡均基于深度學習框架Tensorflow2.0實現。
模型的性能評價指標包括訓練集、驗證集、測試集的準確性(Accuracy,簡稱Acc),是衡量模型正確分類的標準。其中測試集的準確率直接反映了模型的預測能力,見式(9)所示:

式中:m是已標記樣本集Z={z1,z2,···,zm}中樣本個數;yj是類標簽;f(xj)為模型預測結果;I是條件判斷函數。
CIFAR-10 和CIFAR-100 數據集是用于普適物體識別的圖像分類數據集,由Alex 等[20-21]收集。CIFAR-10 和CIFAR-100 數據集都包含60000張32 像素×32 像素的彩色圖片,分別為訓練集50000 張和測試集10000 張,訓練集用于訓練基學習器,并計算模型間多樣性值;測試集則用于對各種基模型和集成模型的預測效果進行驗證和對比。CIFAR-10 數據集分為10 個類,每個類有6000 張圖片;CIFAR-100 數據集有20 個超類,每個超類分為5 個小類,總計100 分類,每個分類包含600 張圖片。
3.4.1 基模型預測結果
基學習器模型分別在CIFAR-10 和CIFAR-100 數據集上進行訓練,使用SGD 優化器[22]更新權重,對訓練數據集首先進行圖像預處理,包括圖像歸一化和數據集打亂,批量規范化之后訓練單批次大小為128。經過反復實驗,卷積神經網絡模型大概在200 次迭代之后已經完全收斂,識別率達到了最高,故Epochs 值設置為200;在卷積操作中使用ReLU[23]激活函數,添加L2正則化處理,參數設置λ為0.001;利用Dropout 防止過擬合,設置為0.25;采用分段學習率訓練方式,初始學習率設為0.01,動量系數均為0.9;權重初始化采用He 正態分布初始化器,偏差初始化為零。單個基模型經過訓練后的預測結果如表4 所示。

表4 19 個候選基模型預測結果AccTable 4 Prediction results Acc of 19 candidate basic models %
由表4 可知,基模型15~19 的預測準確性較低,考慮到模型集成之后的效果,初步篩選出基模型1~14 作為初篩選基模型。
3.4.2 基于CIFAR-10 數據集的多樣性分析
表5 是3 種傳統多樣性方法和本文方法分別在CIFAR-10 數據集上得到的多樣性統計值最大的兩分類器集成模型,表6 是表5 得到的兩分類器集成模型在測試集上的預測結果。同理,表7是得到的多樣性統計值最大的三分類器集成模型,表8 是其預測結果;表9 是得到的多樣性統計值最大的四分類器集成模型結果,表10 是其預測結果。其中,平均集成精度是指通過多樣性方法篩選得到的三組集成模型組合采用簡單平均集成策略得到的在測試集上的集成精度,并求取平均值的結果;基模型平均精度是指表6 中篩選出的單個基模型在測試集上的分類精度的平均值。如表6 中DF 方法的平均集成精度就等于表5 中對應的3 個兩分類器集成模型2-14、2-5 和5-14 分別在測試集上的集成精度的平均值,而相應的基模型平均精度是指單一基模型2、5 和14 測試精度的均值結果。

表5 CIFAR-10 上多樣性最大的兩分類器集成模型Table 5 Results of an optimal two-classifiers model on CIFAR-10

表6 兩分類器集成模型在CIFAR-10 上預測結果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 上預測結果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 的預測結果Table 10 Prediction results of four-classifier models on CIFAR-10 %
由表5、6 可知,本文方法篩選出的二分類器集成模型是2-6、2-3 和2-5,平均集成精度相比于基模型平均精度提升效果最優,提升了2.197%;由表7 和表8 可知,本文方法篩選出的三分類器集成模型為2-3-6、2-5-6 和2-6-8,集成精度相比于基模型平均精度提升效果最優,提升了2.575%;由表9、10 可知,本文方法篩選出的四分類器模型是2-3-5-6、2-3-6-8 和2-3-6-10,集成精度相比于基模型精度提高了2.580%,比Q統計方法效果好,比不一致性方法相差0.397%,比雙錯度量方法相差0.074%。同時,本文方法篩選出的二分類器的平均集成精度是最高的,達到了92.067%,性能相比于其他3 種方法是最優的,三分類器和四分類器的平均集成精度與雙錯度量得到的結果相近,且高于不一致性方法和Q統計方法,說明本文提出的基于概率向量的多樣性度量方法是有效的。
3.4.3 基于CIFAR-100 數據集的多樣性分析
為進一步驗證本文所提方法的有效性,在CIFAR-100 數據集上進行驗證實驗。表11 是3種傳統多樣性方法和本文方法分別在CIFAR-100數據集上得到的多樣性統計值最大的兩分類器集成模型,表12 是表11 得到的兩分類器集成模型的預測結果;表13 是得到的多樣性統計值最大的三分類器集成模型,表14 是其預測結果;表15 是得到的多樣性統計值最大的四分類器集成模型,表16 是其預測結果。

表11 CIFAR-100 上多樣性最大的兩分類器集成模型Table 11 Results of optimal two-classifier models on CIFAR-100

表12 兩分類器集成模型在CIFAR-100 的預測結果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 的預測結果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 的預測結果Table 16 Prediction results of four-classifier models on CIFAR-100 %
由表11、12 可知,本文方法在CIFAR-100 數據集上篩選出的二分類器集成模型是5-14、12-14 和3-14,平均集成精度相比于基模型平均精度提升效果最優,提升了5.812%;由表13、14 可知,本文方法篩選出的三分類器集成模型為5-12-14、5-8-14 和3-8-14,平均集成精度相比于基模型平均精度提升效果最優,提升了7.421%;由表15、16 可知,本文方法篩選出的四分類器模型是3-5-12-14、3-5-8-14 和5-8-12-14,平均集成精度相比于基模型平均精度提高了7.846%,集成精度相比于基模型精度提升效果最優。同時,在CIFAR-100 數據集上,本文方法相比于其他3 種方法,篩選出的集成模型的平均集成精度無論是二分類器、三分類器還是四分類器都是最高的,集成性能優于雙錯度量方法、不一致性方法和Q統計方法,再次驗證了本文方法的有效性。
在基模型準確性比較接近的情況下,在CIFAR-10 數據集上DPV方法和雙錯度量方法篩選出的集成模型的集成性能較接近,都優于不一致性和Q統計方法;在CIFAR-100 數據集上,DPV方法篩選出的集成模型無論是平均集成性能還是相對于基模型提升的效果都是最佳的。由此說明,在基模型相對較弱,模型之間有更大的互補空間可以利用時,DPV方法更能夠體現模型之間的互補性,可選擇更好的模型組合進行集成。通過在CIFAR-10 和CIFAR-100 數據集上驗證,本文提出的DPV方法可以充分利用卷積神經網絡的概率向量的輸出特性,深度挖掘模型內部互補信息,相較傳統多樣性度量方法更能夠體現出模型之間的互補性和多樣性。
針對目前模型集成中多樣性度量方法在基模型為卷積神經網絡時未充分利用基模型輸出的概率向量信息的問題,本文提出一種基于卷積神經網絡概率向量的多樣性度量方法。通過在CIFAR-10 和CIFAR-100 數據集上訓練多個不同結構的卷積神經網絡進行基于多樣性方法的選擇對比實驗,結果表明,在CIFAR-10 數據集上本文方法和雙錯度量方法相近,且優于不一致性和Q統計方法;在CIFAR-100 數據集上,相比于雙錯度量、Q統計和不一致性方法,本文提出的方法是最優的。本文提出的方法能夠充分利用卷積神經網絡的概率向量輸出特性,更好地體現模型之間的多樣性,特別是在基模型整體較弱時,能夠選出集成效果相對更好的模型組合,且集成模型的性能對比基模型平均性能的提升效果也更優。此方法為基于概率向量輸出的卷積神經網絡模型集成選擇提供了一種新的多樣性度量思路。