馮 偉 杭文龍 梁 爽 劉學軍 王 輝
1(南京工業大學計算機科學與技術學院 南京 211816)2(南京郵電大學地理與生物信息學院 南京 210023)(fengwei@njtech.edu.cn)
最小二乘分類器(least square classifier,LSC)模型參數的解析解形式,使其通過留一交叉驗證策略可以簡便快速地確定最優模型參數(如平衡參數以及高斯核寬),避免耗費大量計算成本進行參數尋優[1].因此,LSC模型被廣泛應用于圖像識別[2-3]、語音識別[4-5]、文本分類[6]等領域.然而,隨著信息技術的發展,數據特征和結構趨于復雜化,例如遙感圖像、醫學圖像等.這些數據往往需要專業領域人員根據應用場景設計特征提取器,將原始數據轉化成分類器易于處理的數據特征形式.上述過程需要輔助大量的領域知識和專業經驗,給傳統的LSC模型在實際場景中的應用帶來極大的挑戰.
近年來,深度學習在理論與技術的突破性發展,表現出優于傳統機器學習算法的性能[7].深度學習框架主要由多個非線性單元堆疊而成,其利用相鄰前層的輸出作為下一層的輸入,經過多層特征提取后,自適應地從原始數據中抽象出有效的特征表示.深度學習方法由于其強大的特征學習能力受到學術界和工業界的廣泛關注,目前已成功應用于計算機視覺[8-10]、自然語言處理[11-13]等領域.然而,主流的深度學習方法大多基于多層感知機,需要求解非凸優化問題,容易陷入局部最優值.且參數較多、模型訓練時間過長[14-16].
針對這些問題,本文結合堆疊泛化理論以及遷移學習機制提出一種新的堆疊架構,在LSC模型的基礎上提出了深度遷移最小二乘分類器(deep transfer least square classifier,DTLSC),其具有2個特點:
1)基于堆疊泛化原理,利用LSC模型作為基本堆疊單元構建深度堆疊架構,避免了傳統深度網絡中需要求解非凸優化的問題,提升模型分類性能的同時提高了網絡計算效率.具體地,DTLSC的第1層輸入為原始數據.從第2層開始,每一層的輸入由所有前層輸出的隨機投影與原始特征疊加而成.從而利用了前層輸出遞歸地改變原始數據流形,有助于下一層分類器對數據進行分類.
2)利用遷移學習機制,自適應遷移所有前層網絡的模型知識以輔助當前層網絡的模型構建,以充分利用深度堆疊網絡中各層之間的關聯性,盡可能保持了層間模型的一致性,提升分類器泛化性能.此外,采用選擇性遷移策略,通過最小化當前層訓練集上的留一交叉驗證誤差,自適應地確定每個前層模型遷移知識的權重,避免因使用不相關模型知識導致的負遷移效應.
Wolpert[17]首先提出堆疊泛化理論,通過將多個簡單的函數或淺層分類器堆疊構成深度網絡,以得到更加復雜的函數或者深層分類器,從而最終提升分類或預測的準確性.目前已經有較多關于深度堆疊架構的研究成果,根據堆疊單元不同,其方法大致可歸納為2類:1)通過堆疊多個多層感知機來構建深度網絡,此類深度網絡在相鄰層間傳遞數據時通常不包含監督信息.目前應用較為廣泛的有卷積神經網絡(convolutional neural network,CNN)[18-19]、深度玻爾茲曼機(deep Boltzmann machines,DBM)[20-21]、深度自編碼器(deep auto-encoder,DAE)[22-23]等.2)將多個簡單的淺層分類器作為基本堆疊單元構建深度網絡,該類深度網絡通常利用前層輸出以及原始輸入特征構成當前層的輸入.可以看出:此類深度網絡在層間傳遞數據過程中利用了監督信息,提高了模型的分類性能.此外,由于每層只需使用一個簡單的分類器,避免了由于求解非凸優化問題而容易陷入局部最優的問題.另外,通過利用前層的預測值遞歸改變原始數據流形結構,使得不同類別的數據樣本更加可分,有助于提升整個深層架構的分類性能.Vinyals等人[24]提出了一種隨機遞歸線性支持向量機(random recursive support vector machine,R2SVM),將線性支持向量機(support vector machine,SVM)作為基本堆疊單元,同時引入隨機投影作為核心堆疊元素;Yu等人[25]結合極限學習機與堆疊泛化理論,提出了極限學習機深度網絡結構(deep representations learning via extreme learning machine,DrELM);Wang等人[26]提出了深度遷移疊加核最小二乘支持向量機(deep transfer additive kernel least square support vector machine,DTA-LSSVM),所提深度網絡以疊加核最小二乘支持向量機(additive kernel least square support vector machine,AK-LSSVM)作為基本堆疊單元,將上一層輸出作為一個附加特征對原始特征擴維作為當前層的輸入,并且在相鄰層之間進行知識遷移以提升模型的泛化性能.然而,目前這類深度堆疊架構大部分均未充分考慮到深度堆疊網絡中各層之間的關聯性,模型的泛化性能有待進一步改善.
本文所提DTLSC算法利用LSC作為基本堆疊單元構建深度堆疊網絡,每層輸入均由所有前層輸出的隨機投影結果與原始輸入特征疊加而成,同時引入選擇性遷移學習機制,對所有前層的模型知識進行自適應遷移來輔助當前層模型的構建.值得注意的是,在深度堆疊網絡構建過程中,相比于DTA-LSSVM僅遷移前一層的模型知識,DTLSC算法利用了文獻[24]中的數據生成方式,遞歸地改變原始數據流形,增加了數據的可分性;此外,DTLSC算法考慮了所有前層之間的關聯性,采用自適應遷移學習技術,能合理有效地利用所有前層的模型知識,進一步提升了模型的泛化性能[26].


Table 1 Parameters Description表1 參數描述
本文介紹經典的LSC模型,然后給出本文提出的DTLSC算法.
基于等式約束,Suykens等人在文獻[27]中給出了LSC模型:

(1)

LSC模型的優化可以歸結為線性方程組的求解問題,由于使用了等式約束使其較易得到方程的解析解形式.然而,傳統LSC模型在有限的樣本和計算單元的情況下對復雜函數的表示能力有限,處理復雜的分類問題時存在局限性.
本文基于堆疊泛化理論和遷移學習機制,提出一種深度遷移最小二乘分類器DTLSC,該算法充分利用了深度堆疊架構以及遷移學習的優勢來提高LSC模型的學習與泛化性能,以提升傳統LSC在處理復雜的數據特征時的分類效果.
DTLSC算法總體框架如圖1所示:

Fig.1 The overall framework of DTLSC圖1 DTLSC的整體框架
具體地,DTLSC算法第1層基本單元為傳統LSC,其輸入為原始數據X.從第2層開始,每一層的輸入由所有前層輸出的隨機投影與原始輸入特征疊加而成.利用前層輸出的隨機投影可以改變原始數據的流形結構[24],使得數據更具可分性,從而提升了分類器的分類性能.此外,從第2層開始,每層基本模塊為遷移LSC.具體地,采用遷移學習策略,自適應地學習前層模型知識來輔助當前層的分類模型構建.

Fig.2 Composition of the l th layer input圖2 第l層輸入數據的構成

(2)
其中,pl,j表示第l層用于投影第j層輸出的投影矩陣.
深度堆疊網絡中各層之間存在一定的關聯性[26],為盡可能保持層間模型的一致性,DTLSC算法在深度堆疊架構中引入遷移學習機制,利用前層的相關模型知識輔助當前層的模型構建,以進一步提升模型的泛化性能.具體地,以構建第l層模型為例,下面將介紹自適應遷移前l-1層模型的詳細過程.首先,我們引入模型知識遷移權重βj,l,j=1,2,…,l-1,用于表示網絡層間知識遷移的程度,βj,l反映了第j層與當前第l層模型知識之間的相關程度.給出DTLSC算法的目標函數:

(3)
其中,Cl為當前層權衡函數復雜度和分類誤差的平衡參數,ξi,l為第l層第i個訓練樣本的分類誤差.可以看出,當β1,l=β2,l…=βl-1,l=0時,目標函數退化為傳統LSC模型.
從式(3)看出,由于引入反映深度網絡結構層間遷移程度的模型參數βj,l,j=1,2,…,l-1,DTLSC算法能夠緩解利用不相關的前層模型知識而導致的負遷移效應,保證了模型的泛化性能.
式(3)的拉格朗日形式:

(4)


(5)
(6)

(7)

(8)

將式(5)~(7)代入式(8),可得:

(9)
將式(9)寫成矩陣形式,可得:

(10)

采用Ml表示式(10)等號左邊第1個矩陣,即:

(11)
則可以得到當前層的模型參數,即:
(12)



(13)
證明.令α(-i),l和b(-i),l表示第l層留一交叉驗證中第i次迭代得到的模型參數.在第1次迭代時,第1個樣本被取出作為測試集,可得:

(14)


(15)
結合式(10)和式(11)可知:
因此:

(16)
由式(10)可得:



(17)


(18)


(19)
證畢.


(20)
其中,|x|+=max(0,x).
則最優化βl可表示為目標函數:

(21)
式(21)可通過梯度下降法求解,偽代碼如算法1所示.

Fig.3 Artificial dataset圖3 人造數據集
算法1.梯度下降優化算法.
輸出:βl.
初始化:βl=0,當前迭代值t=1;
Repeat
end if
Step5.βj,l←max(βj,l,0),?j=1,2,…,l-1;
Step6.t←t+1;
Until convergence

DTLSC算法使用留一交叉驗證策略快速地進行模型參數選擇,其僅需要較少的計算時間便可以獲得最優參數.在深度網絡建立過程中,第1層進行LSC模型構建的時間復雜度為O(N3).從第2層開始,每個模塊的時間復雜度主要分為2個部分:1)求矩陣Ml的逆運算,相應的時間復雜度為O(N3);2)用梯度下降法迭代求出遷移權重βl,相應的時間復雜度為O((L-1)N).因此,DTLSC算法的整個時間復雜度為O(LN3+(L-1)2N).
本節將對所提DTLSC算法在人造數據集和真實數據集上的分類效果進行實驗驗證與分析.
1)人造數據集.本文將驗證在不同噪聲下算法的分類性能.首先構造正、負類各300個樣本的雙月數據集,圖3(a)所示.隨后分別對雙月數據集施加不同的高斯噪聲(均值為0,方差分別為0.1,0.3,0.5,0.8,1).圖3(b)中展示的是施加了均值為0、方差為0.3噪聲的雙月數據集.
2)真實數據集.為進一步驗證DTLSC算法的分類性能,本文在10個UCI數據集上進行了實驗驗證,具體描述如表2所示:

Table 2 Description of UCI Datasets表2 UCI數據集描述
本文采用5種對比算法:
1)經典最小二乘分類器(LSC)[27];
2)隨機遞歸層疊LSC(RRLSC)[24];
3)深層遷移疊加核LSC(DTA-LSC)[26];
4)本文所提DTLSC算法;
5)僅遷移前一層模型知識的DTLSC算法(DTLSC-S).
在上述對比算法中,本文將R2SVM算法的基本單元替換成LSC模型;此外,將DTA-LSSVM算法的基本單元(AK-LSSVM)替換成LSC模型.所有算法均采用線性核和RBF核,參數設置如表3所示:

Table 3 Parameter Setup表3 實驗參數設置
對于人造數據集以及真實數據集,分別隨機抽取20%和30%的樣本用于訓練,剩下的樣本用于測試,數據均統一進行歸一化處理.在訓練過程中采用五折交叉驗證方法確定最優參數Cl和δ.同時采用分類精度評估各算法的性能,具體表示為

(22)
其中,Dte表示測試數據集,yi表示zi的真實標簽,sgn(f(zi))為zi的預測標簽.所有算法均執行10次,最后計算出各自的均值與方差.
本文實驗硬件平臺為Windows 64位Intel Core i5,內存為8 GB.編程環境為MATLAB 2014b.
5.3.1 人造數據集實驗結果
圖4(a)(b)分別展示了設置20%樣本用于訓練時各對比算法采用RBF核及線性核的分類精度.圖4(c)(d)分別展示了設置30%樣本用于訓練時各對比算法采用RBF核及線性核的分類精度.根據圖4可以得到結論:4種深度堆疊算法,即RRLSC,DTA-LSC,DTLSC-S,DTLSC較淺層學習算法LSC可以獲得更好的分類準確率.這主要是因為基于深度堆疊架構的分類器模型能夠改變數據的流形結構,模型的分類性能得到提升.在一般情況下,對比無遷移的深度堆疊架構RRLSC,深度遷移堆疊架構DTA-LSC,DTLSC-S能獲得更高的分類精度,但卻都要遜于DTLSC算法.其原因主要是 DTA-LSC和 DTLSC-S僅僅利用了前一層模型的知識來輔助當前層分類器模型的構建,并未考慮到深度堆疊網絡中其他前層之間的關聯性.DTLSC算法通過自適應遷移所有前層模型的有用知識可以改善上述問題,增強了模型的泛化性能.可以看出,本文所提DTLSC算法算法在人造數據集上的分類性能優于其他對比算法.此外,由于DTLSC算法能夠利用留一交叉驗證法快速、自適應地決策各前層模型知識的遷移權重,可以避免因利用不相關模型知識導致的負遷移效應,具備一定的實用價值.

Fig.4 Results of different algorithms on the two-moon dataset圖4 不同算法在雙月數據集上的實驗結果
5.3.2 真實數據集實驗結果
表4~7分別給出了各個對比算法在UCI數據集上的分類精度.其中,表4~5為僅有20%訓練數據時,分別采用線性核以及RBF核的分類結果;表6~7為有30%訓練數據時,采用線性核以及RBF核的分類結果.從各算法的分類結果中,可得到3個結論:

Table 4 Accuracy of Comparison Algorithms on Ten UCI Datasets (RBF Kernel,20% Training Data)表4 對比算法在10個UCI數據集上的精確度結果(RBF核,20%訓練數據)
Note:The values in boldface represent the highestclassification accuracy.

Table 5 Accuracy of Comparison Algorithms on Ten UCI Datasets (Linear Kernel,20% Training Data)表5 對比算法在10個UCI數據集上的精確度結果(線性核,20%訓練數據)
Note:The values in boldface represent the highestclassification accuracy.

Table 6 Accuracy of Comparison Algorithms on Ten UCI datasets (RBF Kernel,30% Training Data)表6 對比算法在10個UCI數據集上的精確度結果(RBF核,30%訓練數據)
Note:The values in boldface represent the highestclassification accuracy.

Table 7 Accuracy of Comparison Algorithms on Ten UCI Datasets (Linear Kernel,30% Training Data)表7 對比算法在10個UCI數據集上的精確度結果(線性核,30%訓練數據)
Note:The values in boldface represent the highestclassification accuracy.
1)RRLSC的分類精度優于LSC.這主要是由于RRLSC利用前層輸出的隨機投影改變了數據的流形結構,使得不同類別的數據相互分離,增加了數據可分性.
2)DTA-LSC以及DTLSC-S算法的分類精度優于RRLSC.這主要是由于DTA-LSC,DTLSC-S都考慮了相鄰層的關聯性,利用相鄰層的模型知識以輔助當前層模型的構建,提升了模型的泛化性能.
3)本文所提算法DTLSC的分類精度優于DTLSC-S以及DTA-LSC算法.這主要是由于DTLSC-S,DTA-LSC僅利用了相鄰層間的模型知識,雖然具備一定的遷移效果,卻忽略了其他前層蘊含的有用知識.DTLSC算法能夠選擇性地遷移所有前層模型知識,最大化利用深度堆疊網絡中各層之間的關聯性,進一步增強了模型的泛化性能,故其分類效果得到提升.
綜上,通過在人造數據集以及真實數據集上的實驗與分析,驗證了DTLSC算法的可行性與有效性.
本文基于堆疊泛化理論與遷移學習機制,提出了深度遷移最小二乘分類器DTLSC.所提算法既利用了前層輸出的隨機投影改變了輸入數據間的流形結構,增加了數據間的可分性,同時通過自適應遷移所有前層的模型知識來輔助當前層模型的構建,能夠最大化利用深度堆疊網絡中各層之間的關聯性,盡可能保持層間模型的一致性,增強了分類模型的泛化性能.此外,基于留一交叉驗證策略,能夠快速決策網絡中所有前層模型知識的遷移權重,避免了利用不相關模型知識導致的負遷移效應,提高了模型的可靠性.在人造數據集和真實數據集上的實驗結果均驗證了本文所提DTLSC算法的有效性.
盡管DTLSC算法表現出良好的分類性能,但仍存在部分需要進一步研究的問題.例如,如何將hinge loss 函數的優異學習能力與本文所提快速模型知識遷移權重求解方法相結合;如何將DTLSC算法拓展到多分類任務中以及其他的學習系統中(如模糊系統)等均是我們未來研究工作的重點內容.