山東科技大學(xué)電氣與自動化工程學(xué)院 劉廣秀 宋單單
基于Adaboost框架下自動編碼器提升方法的文本分類
山東科技大學(xué)電氣與自動化工程學(xué)院 劉廣秀 宋單單
【摘要】針對文本分類問題,使用深度學(xué)習(xí)算法中的自動編碼器模型網(wǎng)絡(luò)建造Adaboost框架下的弱分類器,并且在自動編碼器神經(jīng)網(wǎng)絡(luò)部分引入噪聲,引入神經(jīng)元間歇性工作機(jī)制,更改不同參數(shù)以及層數(shù)構(gòu)造弱分類器。利用神經(jīng)網(wǎng)絡(luò)的稀疏性提高分類器的泛化性,加入Adaboost框架實現(xiàn)深度學(xué)習(xí)的集成算法。
【關(guān)鍵詞】SAE;Adaboost;文本分類;激勵函數(shù)
大數(shù)據(jù)時代的到來,網(wǎng)絡(luò)的普及,信息量呈爆炸性趨勢增長,人們迫切需要一種實用性技術(shù)來有效的地組織和管理信息。從大量的信息中獲取有效信息變得尤為重要。文本挖掘、自然語言處理、信息檢索等技術(shù)很好地解決了信息過載時代的文本數(shù)據(jù)管理問題,文本分類技術(shù)作為這些領(lǐng)域的重要基礎(chǔ),在近年來得到了快速發(fā)展和廣泛關(guān)注[1]。文本分類的方法有很多,典型的有樸素貝葉斯分類器[9]、BP神經(jīng)網(wǎng)絡(luò)分類器、K近鄰算法(KNN)、支持向量機(jī)(SVM)分類器等,這些分類器在文本分類中均取得了很好的效果。并且在傳統(tǒng)分類器的使用上,有很多學(xué)者提出了改進(jìn)方案,使得分類效果有所提升。比如基于深度信念網(wǎng)絡(luò)的文本分類器算法[10],基于稀疏編碼器的文本分類算法[7]等。深度學(xué)習(xí)作為一種新興的多層神經(jīng)網(wǎng)絡(luò)降維算法,通過組建含有多個隱層的神經(jīng)網(wǎng)絡(luò)深層模型,對輸入的高維數(shù)據(jù)逐層提取特征,以發(fā)現(xiàn)數(shù)據(jù)的低維嵌套結(jié)構(gòu),形成更加抽象有效的高層表示[8]。傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)梯度越來越稀疏,易于收斂于局部最優(yōu),有標(biāo)簽的訓(xùn)練數(shù)據(jù)類別涵蓋不全,且類別比例差別較大,使用深度學(xué)習(xí)網(wǎng)絡(luò)很易產(chǎn)生過擬合問題。根據(jù)已有的深度學(xué)與boosting結(jié)合案例,本文提出Adaboost與編碼器深度學(xué)習(xí)算法相結(jié)合算法。結(jié)合深度學(xué)習(xí)網(wǎng)絡(luò)提取特征良好的特點,本文提出使用深度學(xué)習(xí)網(wǎng)絡(luò)中的SAE網(wǎng)絡(luò)作為Adaboost框架下的弱分類器,使用不同激勵函數(shù)等參數(shù)變換構(gòu)造不同的自動編碼器網(wǎng)絡(luò),加入Adaboost框架的思想實現(xiàn)深度學(xué)習(xí)集成算法。
Boosting算法是一種把若干個分類器整合為一個分類器的方法,能夠?qū)㈩A(yù)測精度僅比隨機(jī)猜度略高的弱學(xué)習(xí)器增強(qiáng)為預(yù)測精度高的強(qiáng)學(xué)習(xí)器,這在直接構(gòu)造強(qiáng)學(xué)習(xí)器非常困難的情況下,為學(xué)習(xí)算法的設(shè)計提供了一種有效的新思路和新方法.作為一種元算法框架,Boosting幾乎可以應(yīng)用于所有目前流行的機(jī)器學(xué)習(xí)算法以進(jìn)一步加強(qiáng)原算法的預(yù)測精度,因此應(yīng)用十分廣泛,產(chǎn)生了極大的影響。Boosting方法有許多不同的變形,更具一般性的AdaBoost形式由ROBERT E.SCHAPIRE和YORAM SINGER在1999年提出,其核心思想是針對同一個訓(xùn)練集訓(xùn)練不同的分類器,然后把這些弱分類器集合起來,構(gòu)成一個更強(qiáng)的最終分類器[5]。Adaboost的算法流程如下:
第1步:給定一組具有標(biāo)簽的訓(xùn)練數(shù)據(jù)集:
第2步:初始化訓(xùn)練數(shù)據(jù)的權(quán)值分布。每一個訓(xùn)練樣本最開始時都被賦予相同的權(quán)值:1/N。
第3步:使用弱學(xué)習(xí)算法,迭代m=1,2,3…M次。
a.使用具有權(quán)值分布的全訓(xùn)練集,進(jìn)行基本元分類器Cm訓(xùn)練得到hm,或按照權(quán)重w1i對訓(xùn)練集進(jìn)行采樣后對元分類器Cm訓(xùn)練得到分類器hm。
b.計算Cm在訓(xùn)練數(shù)據(jù)集上的分類誤差率公式:
即Cm在訓(xùn)練集上的誤差率就是被Cm分類錯誤的樣本的權(quán)值之和。
c.計算弱分類器Cm的權(quán)值系數(shù)公式:
d.更新訓(xùn)練數(shù)據(jù)集的權(quán)值公式:
Zm是規(guī)范化因子,使得Dm+1為一個概率分布:
第4步:組合各弱分類器得到最終分類器表達(dá)式:
上述式子組成了Adaboost算法的基本步驟。Adaboost算法的自適應(yīng)性在于:前一個基本分類器分錯的樣本會得到加強(qiáng),加權(quán)后的全體樣本再次被用來訓(xùn)練下一個基本分類器。
基本自動編碼器的描述如下:自動編碼器是運(yùn)用了反向傳播進(jìn)行無監(jiān)督學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),學(xué)習(xí)的目的就是輸出信號盡可能復(fù)現(xiàn)輸入信號。為了實現(xiàn)這種復(fù)現(xiàn),自動編碼器就必須捕捉可以代表輸入數(shù)據(jù)的最重要的特征,就像主成分分析那樣,找到可以代表原信息的主要成分[4]?;镜淖詣泳幋a器接收輸入向量,在激活函數(shù)的作用下對其進(jìn)行線性變化,得到一個編碼結(jié)果[3]。本文選取sigmoid函數(shù)作為激活函數(shù),計算公式如下:為編碼參數(shù),為解碼參數(shù)。其中是一個的權(quán)重矩陣。的轉(zhuǎn)置矩陣,是偏置向量。
稀疏自動編碼器是加上一些約束條件得到的新的Deep Learning方法。在AutoEncoder的基礎(chǔ)上加上L1的Regularity限制(L1主要是約束每一層中的節(jié)點中大部分都要為0,只有少數(shù)不為0),我們就可以得到Sparse AutoEncoder法[2]。
降噪自動編碼器是在自動編碼器的基礎(chǔ)上,在訓(xùn)練數(shù)據(jù)中加入噪聲,所以自動編碼器必須學(xué)習(xí)去除這種噪聲而獲得真正的沒有被噪聲污染過的輸入[7]。因此,這就迫使編碼器去學(xué)習(xí)輸入信號更加魯棒性的表達(dá),這也就促使了它的泛化能力比一般編碼器強(qiáng)。DA可以通過梯度下降算法去訓(xùn)練。
本文以DSAE(降噪稀疏自動編碼器)為弱分類器基本原型[8],調(diào)整層數(shù)以及激勵函數(shù)種類構(gòu)造不同條件下的弱分類器,使用NLPIR分詞系統(tǒng)提取文本特征,使用TFIDF作為詞語的權(quán)值,根據(jù)該權(quán)值來選擇特征詞,并統(tǒng)計詞頻作為文本特征訓(xùn)練集。整個算法的流程圖如圖1所示。
圖1 基于Adaboost算法和SAE網(wǎng)絡(luò)的人體損傷程度預(yù)測流程
設(shè)計基于SAE網(wǎng)絡(luò)弱預(yù)測器[6]:每個分類器可能出現(xiàn)的不同特征設(shè)計:加入稀疏懲罰項、不加入稀疏懲罰項、神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練的激發(fā)函數(shù)使用sigmoid函數(shù)、神經(jīng)網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)是否加入噪聲、神經(jīng)網(wǎng)絡(luò)監(jiān)督微調(diào)部分使用激發(fā)函數(shù)sigmoid函數(shù)、神經(jīng)網(wǎng)絡(luò)監(jiān)督微調(diào)部分使用tanh函數(shù)、神經(jīng)網(wǎng)絡(luò)的層數(shù)變化、節(jié)點數(shù)變化。以變化自動編碼器參數(shù)等方式,實現(xiàn)每個分類器的結(jié)構(gòu)互異性,加大各個分類器的分類各異性,實現(xiàn)網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計使得不同弱預(yù)測器具有不同的預(yù)測傾向性,運(yùn)用Adaboost集成各個弱分類器加大集成分類器的泛化性,使得分類器分類效率更高。
參考文獻(xiàn)
[1]M.S.Bartlett,G.Littlewort,M.G.Frank,C.Lainscsek,I.Fasel,and J.R.Movellan.Recognizing facial expression∶Machine learning and application to spontaneous behavior.In CVPR,volume 2,pages.568-573,2005.
[2]J.Mairal,F(xiàn).Bach and J.Ponce.Sparse Modeling for Image and Vision Processing.Foundations and Trends in Computer Graphics and Vision.vol 8.number 2-3.pages 85-283.2014.
[3]孫志軍,薛磊,許陽明.深度學(xué)習(xí)研究綜述[J].計算機(jī)應(yīng)用研究,2012,29(8)∶2806-2810.
[4]Hinton,G.E.and Salakhutdinov,R.R.Reducing the dimensionality of data with neural networks.Science 2006.
[5]曹瑩,苗啟廣,劉家辰,高琳.AdaBoost算法研究進(jìn)展與展望[J].自動化學(xué)報,39(6)∶745-758.
[6]Bengio,Y.,Lamblin,P.,Popovici,P.,Larochelle,H.Greedy Layer-Wise Training of Deep Networks.NIPS 2006.
[7]Pascal Vincent,Hugo Larochelle,Yoshua Bengio and Pierre-Antoine Manzagol.Extracting and Composing Robust Features with Denoising Autoencoders.ICML 2008.
[8]殷力昂.一種在深度結(jié)構(gòu)中學(xué)習(xí)原型的分類方法[D].上?!蒙虾=煌ù髮W(xué),2012.
[9]張雪峰.設(shè)計貝葉斯分類器文本分類系統(tǒng)[J].電腦知識與技術(shù),2005(20).
[10]陳翠平.基于深度信念網(wǎng)絡(luò)的文本分類算法[J].計算機(jī)系統(tǒng)應(yīng)用,2015,24(2)∶121-126.