金培源,金杭森,高波涌,陸慧娟
(1.中國計量大學信息工程學院,浙江 杭州 310018;2.西安機電信息技術研究所,陜西 西安 710065)
三維模型數據庫的日益增多,如何復用這些已經存在的三維模型數據庫成了一個熱門的研究課題。三維模型檢索技術旨在從大量的已有的三維模型庫中快速、準確地找到目標模型。三維模型分類技術作為三維模型檢索中重要的一步,對檢索的準確度起著重要作用。三維模型分類技術,是將一部分已標記的三維模型作為訓練樣本,通過機器學習算法對其進行訓練,得到最優的空間劃分,從而得到求解問題的分類器[1]。因此,運用三維模型分類技術可以縮小原先的檢索范圍,只在特定的模型類別中檢索,從而實現對模型的快速檢索。
上述的這些分類技術主要是對針對平衡數據,往往能取得較好的效果。而對于類不平衡問題,并沒有過多的涉及。針對機器學習算法在類不平衡的數據集上容易受到選擇性偏差的影響,本文將遷移學習思想與極限學習機(ELM)結合,提出了一種具有遷移能力的TransELM算法。
文獻[8]提出了ELM這一種新的神經網絡算法。ELM是一種有效的單隱層前饋神經網絡算法,通過最小二乘法計算出輸出權值便可以完成訓練,在分類問題中,同神經網絡和支持向量機(SVM)相比,ELM的學習速度和泛化能力都比較優異,在分類應用中優勢顯著。ELM由于隨機給定權值,對分類精度會產生影響。利用魚群和黃金分割優化極限學習機的辦法,也獲得了較高精度[9-10]。
對于任意N個各不相同的樣本(xi,yi),其中xi=[xi1,xi2,…,xin]T∈Rn代表輸入,yi=[yi1,yi2,…,yim]T∈Rm代表輸出,則極限學習機的網絡模型可表示為:
(1)
式(1)中:wi=[wi1,wi2,…,win]T是連接第i個隱層神經元的輸入權值;bi是第i個隱含層神經元的偏差;βi=[βi1,βi2,…,βim]T為連接第i個隱層神經元的輸出權值;g(x)為隱層神經元激活函數。如果這個具有L個隱含層結點的前饋神經網絡能以零誤差逼近樣本,式(1)可以簡化為:
Hβ=Y
(2)
式(2)中,


(3)
本文提出一種具有遷移能力的ELM算法,將ELM算法直接應用于遷移學習中,此時源域帶標簽數據Ds={(xs1,ys1),…,(xsn,ysn)},目標域中部分帶標簽樣本Dt={(xt1,yt2),…,(xtn,ytn)},當然目標域中帶標簽的樣本是少量的,將這些樣本作為ELM的輸入矩陣。由于源域數據與目標域數據通常存在一定關聯性,所以得到的分類器會在目標域中有較好的分類效果。這種方法稱為TransELM算法。
ELM算法的判別函數可以簡化為f(x)=Hβ,本文算法的理論依據是:若兩領域相關,則兩域分類器各自的β值應相近。通過計算||βt-βs||2項來實現兩域間遷移學習,其中,βs為源域帶標簽數據應用ELM算法得到的輸出權值矩陣,βt為目標域帶標簽樣本應用ELM算法得到的輸出權值矩陣。||βt-βs||2表示兩域分類器的差異程度,該值越大則兩領域間的差異越大,反之越小。已知目標域Htβt=Yt,源域Hsβs=Ys,假設目標域與源域是同一種事物的不同表示,即Yt=Ys,則:
Htβt=Hsβs
(4)
(5)

(6)
為推測換乘時間,需要獲取出發站點到換乘站點的距離. 利用A*最短路徑算法,搜索出軌道任意站點OD之間的最短路徑和距離(表3),將該路徑作為乘客出行路徑,添加TRACE字段以記錄該路徑.
TransELM算法流程:
1) 設定閾值μ,N;
2) 從源域數據集Ds中隨機選取M個樣本組成的子集Hs,從目標域數據集Dt中隨機選取M個樣本組成的子集Ht;

4) 重復第二步和第三步直至得到N個Hs;
5) 刪除Hs中相同的樣本,并與Ht融合形成新的目標域;
6) 結束。
本文實驗使用的三維模型庫是Princeton 3D Shape Benchmark Database(PSB),如圖1所示。PSB模型庫有161個子類共1 814個三維模型,每個類別至少包含4個模型。

圖1 PSB模型庫Fig.1 PSB model database
實驗選擇了Car Vehicle、Car Vehicle、Spaceship Aircraft以及Desk Furniture這四種模型樣本進行分類識別,其中Desk Furniture這一類只有4個樣本,明顯少于其他三類的樣本數,所以這是一個類不平衡問題。由于Table Furniture和Desk Furniture屬于同一級語義粒度所細分的兩個小類,可以通過遷移Table Furniture的知識來對Desk Furniture進行分類。
為了證明本文所提算法的有效性,實驗設置5個對照組,分別為S-ELM、G-ELM、ST-ELM、SMOTE-ELM和TransELM。其中S-ELM表示不做任何處理,直接在目標域數據集上運用ELM算法進行分類;ST-ELM表示在目標域與輔助域合并的數據集上進行分類;G-ELM表示先對數據集進行欠抽樣再分類;SMOTE-ELM表示先用SMOTE(synthetic minority over-sampling technique)算法調整數據集樣本分布再分類;TransELM表示從輔助域遷移學習知識來對目標域進行更好的分類。其中ELM的隱含層節點數設置為20,閾值μ,N分別設為0.1和10。實驗環境: Intel Core i5-3470 CPU 3.2 GHz,4 GB RAM,Windows 7, Matlab R2010。為了體現每種算法的泛化能力和避免各算法不穩定的情況,實驗進行了3折交叉驗證,將樣本分成3份,輪流使用其中的2份作為訓練集,剩下一份作為測試集,并重復實驗10次,得到每種算法精度(Accuracy)和方差(S2)的平均值。表1和圖2顯示了5種算法在實驗數據集上的結果,其中圖2的橫坐標代表實驗次數,縱坐標代表算法精度。

圖2 算法分類效果比較Fig.2 Comparison of classification effects

表1 不同算法的分類精度與方差Tab.1 Classification accuracy and variance of different algorithm
從實驗數據可以看出,S-ELM列僅用目標域少量已標簽樣本進行分類,分類精度較低,說明少量目標域已標簽樣本不能很好反映該類樣本特性,分類效果不顯著。
ST-ELM列的分類精度優于S-ELM列,說明源域對目標域的分類可起到一定作用,但提高程度取決于兩域相關性。G-ELM對數據進行欠抽樣,使得各類的樣本數減少了,丟失了大量信息,故分類精度最低,方差也最大。SMOTE算法根據一定的規則隨機制造生成新的少數類樣本點,并將這些新合成的少數類樣本點合并到原來的數據集里,生成新的訓練集,分類精度與ST-ELM算法不相上下,算法最穩定。TransELM算法并不直接將源域和目標域合并,而是將其中相關性大的一些樣本進行合并,因此,遷移學習算法性能優于兩域合并訓練,分類效果較為理想,同時算法也較穩定。
本文提出了一種基于極限學習機的遷移學習算法。該算法利用大量已標簽的源領域數據與只有少量樣本的目標域數據之間的相關性,通過計算源域中的輸出權值βs與目標域中的輸出權值βt,利用||βt-βs||2項來實現兩域之間遷移學習,找出源領域與目標領域中相關的樣本,從而提升遷移學習對非平衡樣本的學習能力,建立分類模型。該算法應用于三維模型分類,能夠有效利用源域中的大量數據來幫助訓練,通過遷移學習三維模型庫中同一粒度集下相似模型的數據,可解決類不平衡問題。實驗結果表明,該算法在普林斯頓三維模型數據庫上的分類結果的精度和穩定性優于傳統的ELM分類方法。