沈 浩,王士同
1.江南大學(xué)數(shù)字媒體學(xué)院,江蘇無(wú)錫 214122
2.江南大學(xué)江蘇省媒體設(shè)計(jì)與軟件技術(shù)重點(diǎn)實(shí)驗(yàn)室,江蘇無(wú)錫 214122
由于支持向量機(jī)[1](support vector machine,SVM)的提出及其相關(guān)理論的發(fā)展,核方法成為一種可以有效處理非線(xiàn)性可分?jǐn)?shù)據(jù)的方法。由于分類(lèi)算法的性能很大程度上取決于數(shù)據(jù)的表示,而核方法利用相對(duì)簡(jiǎn)單的函數(shù)運(yùn)算將樣本映射到更高的維度,避免了特征空間的設(shè)計(jì)以及特征空間中復(fù)雜的內(nèi)積計(jì)算,得益于此,核方法被應(yīng)用到機(jī)器學(xué)習(xí)的眾多領(lǐng)域中[2-4]。
然而在一些樣本分布不平坦、特征異構(gòu)或不規(guī)則的數(shù)據(jù)中,僅利用了單個(gè)特征空間的單核方法表現(xiàn)不佳;而且由于不同核函數(shù)具有各自的特性,即使在相同的應(yīng)用場(chǎng)合下,使用不同核函數(shù)取得的效果可能差別很大,從而使得核函數(shù)及其參數(shù)的選擇對(duì)于算法的性能具有重要影響。由于僅使用單個(gè)核函數(shù)并不能滿(mǎn)足一些實(shí)際應(yīng)用場(chǎng)景下的需求,因此產(chǎn)生了將多個(gè)核函數(shù)進(jìn)行組合的多核學(xué)習(xí)方法[5]。
通過(guò)多核學(xué)習(xí)產(chǎn)生的組合可以是同一種核函數(shù)取不同參數(shù)下的組合,也可以是多個(gè)不同種類(lèi)核函數(shù)的組合[6]。經(jīng)過(guò)多年研究,相較于僅使用單個(gè)核函數(shù)的方法,多核學(xué)習(xí)在數(shù)據(jù)降維[7]、文本分類(lèi)[8]、領(lǐng)域適應(yīng)學(xué)習(xí)[9]等多個(gè)領(lǐng)域內(nèi)已被證明是一類(lèi)靈活性更強(qiáng)、可解釋性更高而且性能更優(yōu)的基于核的學(xué)習(xí)方法[10-11],并且研究出了多種針對(duì)支持向量機(jī)的多核學(xué)習(xí)算法及性能優(yōu)化方法。
雖然多核學(xué)習(xí)算法充分結(jié)合了不同核函數(shù)對(duì)于數(shù)據(jù)的映射能力,但其本質(zhì)上仍然是僅利用了如相似性、距離等在內(nèi)的樣本的物理特征,并沒(méi)有考慮到現(xiàn)實(shí)情境中存在的風(fēng)格化數(shù)據(jù)集內(nèi)隱含的信息。在實(shí)際應(yīng)用中,除代表的內(nèi)容信息之外,數(shù)據(jù)集中往往包含著各種風(fēng)格信息,并且具有相同風(fēng)格的樣本往往會(huì)以組的形式存在。例如,對(duì)圖1(a)中的字母數(shù)據(jù)存在兩種劃分形式,分別為圖1(b)中所示的按內(nèi)容劃分和圖1(c)中所示的按字體劃分。此處每種字體被視為一種風(fēng)格,此類(lèi)數(shù)據(jù)被視為風(fēng)格化數(shù)據(jù)?,F(xiàn)實(shí)情境中更多此類(lèi)的例子包括:語(yǔ)音數(shù)據(jù)集中來(lái)自不同地域或個(gè)體的樣本中往往包含著不同的口音和聲調(diào)等特征,人臉圖像樣本中包含著不同的姿態(tài)特征等。對(duì)風(fēng)格化數(shù)據(jù)中所包含的除物理特征之外的風(fēng)格信息進(jìn)行挖掘及對(duì)于算法性能的提高具有重要意義。
Fig.1 Example of stylistic data圖1 風(fēng)格化數(shù)據(jù)示例
為挖掘數(shù)據(jù)的風(fēng)格信息,學(xué)者們進(jìn)行了許多研究。文獻(xiàn)[12]提出的二階統(tǒng)計(jì)模型應(yīng)用在數(shù)字識(shí)別問(wèn)題中,但僅對(duì)服從高斯分布的數(shù)據(jù)效果較好,導(dǎo)致算法的適用情景受到較大限制。文獻(xiàn)[13]提出的雙線(xiàn)性判別模型在行為識(shí)別數(shù)據(jù)中取得了良好的效果,但算法計(jì)算過(guò)程開(kāi)銷(xiāo)較大。文獻(xiàn)[14]提出的域貝葉斯算法改進(jìn)了樸素貝葉斯算法,對(duì)樣本組中的風(fēng)格信息進(jìn)行識(shí)別,但需要預(yù)先為算法指定一種明確的數(shù)據(jù)分布類(lèi)型,然而現(xiàn)實(shí)情景中數(shù)據(jù)的分布情況常常是較為復(fù)雜且較難事先明確的。文獻(xiàn)[15-16]提出的算法利用單種映射挖掘了樣本的風(fēng)格信息并在回歸和分類(lèi)問(wèn)題中取得了優(yōu)良的效果,但對(duì)樣本物理特征的利用有限。文獻(xiàn)[17]提出的挖掘樣本歷史信息的時(shí)間序列風(fēng)格模型以及文獻(xiàn)[18]提出利用了用戶(hù)的年齡和性別信息的雙層聚類(lèi)模型,在無(wú)監(jiān)督問(wèn)題中有效利用了數(shù)據(jù)中的風(fēng)格信息,但算法僅針對(duì)特定的領(lǐng)域,且利用的風(fēng)格信息有限。
受以上學(xué)者工作啟發(fā),本文提出基于多核學(xué)習(xí)的風(fēng)格正則化最小二乘支持向量機(jī)(style regularized least squares support vector machine based on multiple kernel learning,MK-SRLSSVM)對(duì)樣本點(diǎn)之間的物理相似性及樣本中隱含的風(fēng)格信息進(jìn)行挖掘和利用。算法在利用了各基本核函數(shù)對(duì)于數(shù)據(jù)映射的物理特性來(lái)表達(dá)樣本之間的相似性之外,使用風(fēng)格轉(zhuǎn)換矩陣表示并挖掘數(shù)據(jù)集中包含的各種風(fēng)格信息,并將其考慮進(jìn)目標(biāo)函數(shù)中。在訓(xùn)練過(guò)程中使用交替優(yōu)化策略,除分類(lèi)器參數(shù)之外,同時(shí)更新風(fēng)格轉(zhuǎn)換矩陣,并且使用挖掘出的風(fēng)格信息對(duì)核矩陣進(jìn)行同步更新。為在預(yù)測(cè)過(guò)程中利用訓(xùn)練得到的樣本風(fēng)格信息,在傳統(tǒng)多核最小二乘支持向量機(jī)的預(yù)測(cè)方法之上添加了兩個(gè)新的預(yù)測(cè)規(guī)則。由于在訓(xùn)練和預(yù)測(cè)過(guò)程中都有效利用了樣本中包含的風(fēng)格信息,在多數(shù)風(fēng)格化數(shù)據(jù)集的實(shí)驗(yàn)中顯示出MK-SRLSSVM較新近以及經(jīng)典的多核支持向量機(jī)算法的有效性。
設(shè)x和z為樣本向量,Φ為從輸入空間到特征空間的映射,若有函數(shù)k(·,·)可使:
則稱(chēng)k(·,·)為核函數(shù)。
多核學(xué)習(xí)期望通過(guò)對(duì)不同的核函數(shù)進(jìn)行組合,以取得更佳的映射性能,組合的方式有多種[5]。
本文使用如下求組合核函數(shù)的方式,設(shè)有M個(gè)基本核函數(shù)ki(·,·),μi為每個(gè)基本核函數(shù)的權(quán)重系數(shù),則合成核函數(shù)為:
由Mercer理論可知,通過(guò)以上方法生成的組合核函數(shù)仍滿(mǎn)足Mercer條件。
設(shè)D={(x1,y1),(x2,y2),…,(xn,yn)}為訓(xùn)練樣本集合,xj∈Rd為其中的一個(gè)樣本,yj∈{+1,-1}為xj對(duì)應(yīng)的標(biāo)簽。Suykens[19]在支持向量機(jī)(SVM)的基礎(chǔ)上提出的最小二乘支持向量機(jī)(least squares support vector machines,LSSVM)的目標(biāo)函數(shù)為:
其中,Φ(xj)為映射到高維后的樣本;w、b為分類(lèi)超平面參數(shù);ej(j=1,2,…,n)為誤差項(xiàng);λ為正則化參數(shù)。
對(duì)式(4)引入拉格朗日乘子α,由Slater約束規(guī)范進(jìn)一步可得其對(duì)偶形式:
其中,K∈Rn×n為核矩陣,通過(guò)求解式(5)可得:
對(duì)式(5)中的核矩陣K引入式(2)和式(3)的多核學(xué)習(xí)方法[20],可得基于多核學(xué)習(xí)的最小二乘支持向量機(jī)(least squares support vector machine based on multiple kernel learning,MK-LSSVM):
此式為半無(wú)限線(xiàn)性規(guī)劃(semi-infinite linear program,SILP)問(wèn)題,可用現(xiàn)有的很多成熟的優(yōu)化工具包來(lái)解決,并由2.3節(jié)的算法1得出μ和{w,b}。MK-LSSVM對(duì)未知樣本x的判別式[21]為:
算法1MK-LSSVM
輸入:數(shù)據(jù)集D,閾值σ,基本核矩陣,算法參數(shù)λ。
輸出:基本核矩陣權(quán)重和分類(lèi)器參數(shù){μ,w,b}。
步驟1核函數(shù)權(quán)重μi=1/M(i=1,2,…,M)。
步驟2初始化循環(huán)次數(shù)iter=1,循環(huán):
步驟2.1計(jì)算合成核矩陣并由式(6)得{α,b};
步驟2.2固定α,由式(8)更新μ;
步驟2.3判斷是否有|1-fiter(μ,α)/fiter-1(μ,α)|≤σ,若是則跳至步驟3,否則跳至步驟2.1。
步驟3利用{μ,α}計(jì)算得分類(lèi)器參數(shù)w。
為利用不同核函數(shù)對(duì)于數(shù)據(jù)映射的不同特性來(lái)表達(dá)樣本之間物理相似性,同時(shí)挖掘數(shù)據(jù)集中樣本包含的風(fēng)格信息,將數(shù)據(jù)集內(nèi)具有相同風(fēng)格的樣本劃為一組,使用風(fēng)格轉(zhuǎn)換矩陣表示每組內(nèi)樣本包含的風(fēng)格信息,并利用風(fēng)格轉(zhuǎn)換矩陣對(duì)樣本的風(fēng)格進(jìn)行轉(zhuǎn)換以使其接近標(biāo)準(zhǔn)風(fēng)格,利用風(fēng)格變換之后的樣本對(duì)合成核矩陣進(jìn)行更新,此時(shí)得到的核矩陣中的每個(gè)元素由經(jīng)過(guò)了風(fēng)格轉(zhuǎn)換后的樣本映射而成,并使用更新后的核矩陣對(duì)分類(lèi)器參數(shù)進(jìn)行學(xué)習(xí)。為將對(duì)樣本進(jìn)行風(fēng)格轉(zhuǎn)換的程度控制在適當(dāng)范圍內(nèi),在目標(biāo)函數(shù)中利用正則化方法對(duì)風(fēng)格轉(zhuǎn)換矩陣進(jìn)行限制。根據(jù)上述思路,訓(xùn)練分類(lèi)器參數(shù)和風(fēng)格轉(zhuǎn)換矩陣的過(guò)程不僅保留了多核學(xué)習(xí)方法的優(yōu)點(diǎn),同時(shí)充分挖掘并利用了數(shù)據(jù)集中包含的風(fēng)格信息。由以上思想,提出MK-SRLSSVM的模型定義:
JMK-SRLSSVM中的前兩個(gè)子式為標(biāo)準(zhǔn)MK-LSSVM表達(dá)式,第三個(gè)子式為一個(gè)使用Frobenius范數(shù)的懲罰項(xiàng),用于控制風(fēng)格轉(zhuǎn)化矩陣對(duì)樣本的風(fēng)格變換程度,其中參數(shù)γ∈R且γ>0。顯然,當(dāng)γ越大時(shí),經(jīng)過(guò)風(fēng)格轉(zhuǎn)換之后的樣本與其原始風(fēng)格偏離越小,否則越大;特別的當(dāng)設(shè)置γ→+∞時(shí),則有
算法目標(biāo)是令JMK-SRLSSVM值最小化,直接對(duì)目標(biāo)函數(shù)進(jìn)行優(yōu)化較為困難,可以使用交替優(yōu)化方法得到一個(gè)足夠可用的局部最優(yōu)解。當(dāng)分別給定Aj和{wi,b,μi}時(shí),則目標(biāo)函數(shù)分別為關(guān)于{wi,b,μi}和Aj的優(yōu)化問(wèn)題,重復(fù)以上兩個(gè)過(guò)程,直到收斂或超過(guò)最大迭代次數(shù)。具體步驟為:
(1)當(dāng)優(yōu)化{wi,b,μi}時(shí):固定Aj(j=1,2,…,N),則式(10)的優(yōu)化問(wèn)題轉(zhuǎn)化為:
(2)當(dāng)優(yōu)化Aj(j=1,2,…,N)時(shí):固定{μi,wi,b}時(shí),則式(10)的優(yōu)化問(wèn)題轉(zhuǎn)化為:
上式是關(guān)于Aj的線(xiàn)性約束的二次規(guī)劃問(wèn)題,可以轉(zhuǎn)化為N個(gè)分別關(guān)于每個(gè)Aj的獨(dú)立問(wèn)題進(jìn)行求解。此時(shí)合成核矩陣與分類(lèi)器參數(shù)已經(jīng)固定,與原始LSSVM相似,對(duì)式(12)引入拉格朗日乘子后可得其對(duì)偶形式:
令?L/?Aj=0可得:
通過(guò)交替優(yōu)化的過(guò)程可知,在訓(xùn)練分類(lèi)器參數(shù)的過(guò)程中,將經(jīng)風(fēng)格轉(zhuǎn)換矩陣轉(zhuǎn)換后的樣本作為訓(xùn)練數(shù)據(jù)。在第一輪迭代中,風(fēng)格轉(zhuǎn)換矩陣被初始化為單位矩陣,此時(shí)被風(fēng)格轉(zhuǎn)換之后的樣本與原始樣本相同,并沒(méi)有產(chǎn)生風(fēng)格變換,因此MK-SRLSSVM首輪訓(xùn)練得到的分類(lèi)器參數(shù)與原始MK-LSSVM得到的分類(lèi)器參數(shù)相同。在之后的迭代過(guò)程中,由于風(fēng)格轉(zhuǎn)換矩陣的優(yōu)化,各風(fēng)格組中的樣本經(jīng)過(guò)風(fēng)格轉(zhuǎn)換矩陣的變換,逐漸逼近標(biāo)準(zhǔn)風(fēng)格,此時(shí)訓(xùn)練出的分類(lèi)器參數(shù)充分考慮了樣本整體包含的風(fēng)格信息。同時(shí),從式(14)可得求解風(fēng)格轉(zhuǎn)換矩陣的過(guò)程不僅利用了訓(xùn)練得出的樣本的物理特性,且有效利用了數(shù)據(jù)中的風(fēng)格信息,此時(shí)訓(xùn)練出的風(fēng)格轉(zhuǎn)換矩陣包含了各風(fēng)格組中的風(fēng)格信息。根據(jù)以上分析,訓(xùn)練分類(lèi)器參數(shù)和風(fēng)格轉(zhuǎn)換矩陣的過(guò)程都充分利用了樣本包含的風(fēng)格信息,且兩個(gè)過(guò)程相互促進(jìn)。
由于樣本被映射到高維空間之后的維度可能是無(wú)窮的,導(dǎo)致無(wú)法直接得到經(jīng)過(guò)風(fēng)格轉(zhuǎn)換后的樣本值,此時(shí)可以借助核方法,對(duì)合成核矩陣中的每個(gè)元素進(jìn)行更新,得到風(fēng)格轉(zhuǎn)換后的合成核矩陣。
MK-SRLSSVM算法的框架如圖2所示。先使用多個(gè)預(yù)定義的基本核函數(shù)訓(xùn)練出權(quán)重系數(shù)μ,并生成合成核矩陣,使用合成核矩陣訓(xùn)練得到分類(lèi)器參數(shù){w,b}與風(fēng)格轉(zhuǎn)換矩陣{Aj}(j=1,2,…,N),將未知樣本進(jìn)行風(fēng)格轉(zhuǎn)換之后使用分類(lèi)器得到最終的預(yù)測(cè)結(jié)果。
Fig.2 Algorithm framework圖2 算法框架
算法2MK-SRLSSVM
輸入:訓(xùn)練數(shù)據(jù)集D,最大迭代次數(shù)maxIter,收斂閾值ε,算法參數(shù)λ和γ。
輸出:權(quán)重μi、分類(lèi)器參數(shù){w,b}、風(fēng)格轉(zhuǎn)換矩陣{Aj}。
步驟1初始化風(fēng)格轉(zhuǎn)換矩陣Aj=I(j=1,2,…,N),核函數(shù)權(quán)重μi=1/M(i=1,2,…,M)。
步驟2初始化循環(huán)次數(shù)iter=1。
步驟3循環(huán):
步驟3.1計(jì)算目標(biāo)函數(shù)值Viter;
步驟3.2由式(11)更新μi和{w,b};
步驟3.3由式(14)更新Aj并由式(17)更新合成核矩陣;
步驟3.4計(jì)算目標(biāo)函數(shù)值Viter+1并判斷是否達(dá)到收斂條件或超過(guò)最大迭代次數(shù),若是則停止循環(huán);否則令iter=iter+1,循環(huán)繼續(xù)。
MK-SRLSSVM使用交替優(yōu)化方法對(duì)問(wèn)題進(jìn)行求解,可以分為兩個(gè)步驟。第一步優(yōu)化核矩陣權(quán)重系數(shù)和分類(lèi)器參數(shù)的步驟又可以分為兩個(gè)子過(guò)程,分別為求解核權(quán)重的SILP問(wèn)題和求解分類(lèi)器參數(shù)的線(xiàn)性規(guī)劃問(wèn)題,同時(shí)更新合成核矩陣,二者的時(shí)間復(fù)雜度分別為O(M2n3)和O(n),由于M≥1,故這一步總的時(shí)間復(fù)雜度可視為O(M2n3)。第二步為優(yōu)化風(fēng)格標(biāo)準(zhǔn)化矩陣的過(guò)程,這一步的時(shí)間復(fù)雜度為O(N2n2)。因此算法訓(xùn)練過(guò)程總的時(shí)間復(fù)雜度為O(iter·(M2n3+N2n2)),其中M為預(yù)定義的基本核矩陣的個(gè)數(shù),n為樣本總數(shù),N為數(shù)據(jù)集中的風(fēng)格數(shù)量,iter為算法迭代次數(shù)。
相比典型的多核支持向量機(jī)(multiple kernel support vector machine,MKL-SVM)算法,MK-SRLSSVM在訓(xùn)練過(guò)程中雖然用風(fēng)格轉(zhuǎn)換矩陣對(duì)樣本進(jìn)行了風(fēng)格正則化處理,但多核支持向量機(jī)類(lèi)算法在求解基本核函數(shù)權(quán)重系數(shù)的過(guò)程中需要調(diào)用原始SVM進(jìn)行求解,而本文算法則使用原始LSSVM進(jìn)行求解,由于SVM的訓(xùn)練過(guò)程本質(zhì)上是在求解二次規(guī)劃問(wèn)題,而LSSVM的訓(xùn)練過(guò)程的本質(zhì)為線(xiàn)性規(guī)劃問(wèn)題的求解,故MK-SRLSSVM在此步驟的計(jì)算復(fù)雜度遠(yuǎn)小于典型MKL-SVM算法。本文算法通過(guò)求解SILP問(wèn)題優(yōu)化權(quán)重系數(shù),優(yōu)于通過(guò)求解SDP(semi-definite programming)問(wèn)題或QCQP(quadratical constraint quadratic programming)等問(wèn)題優(yōu)化權(quán)重系數(shù)的支持向量機(jī)類(lèi)算法,與使用SILP等問(wèn)題求解權(quán)重系數(shù)的多核支持向量機(jī)算法相當(dāng)。故MK-SRLSSVM具有與典型支持向量機(jī)類(lèi)算法相當(dāng)?shù)膹?fù)雜度。
為利用訓(xùn)練得到的權(quán)重和分類(lèi)器參數(shù){μi,w,b}以及風(fēng)格轉(zhuǎn)換矩陣Aj(j=1,2,…,N),在MK-LSSVM的基礎(chǔ)上定義了兩種新的預(yù)測(cè)規(guī)則。由于在現(xiàn)實(shí)應(yīng)用中,樣本的風(fēng)格可能已在訓(xùn)練過(guò)程中出現(xiàn)過(guò),也可能未在訓(xùn)練過(guò)程中出現(xiàn),因此在傳統(tǒng)的預(yù)測(cè)方法之上增加了兩條新的預(yù)測(cè)規(guī)則規(guī)則2和規(guī)則3分別處理這兩種情況。
規(guī)則1傳統(tǒng)預(yù)測(cè)方法
傳統(tǒng)預(yù)測(cè)方法僅使用權(quán)重μi和分類(lèi)器參數(shù)w和b對(duì)測(cè)試集中的樣本進(jìn)行預(yù)測(cè),得到對(duì)應(yīng)的標(biāo)簽
規(guī)則2測(cè)試樣本風(fēng)格已知
若測(cè)試樣本的風(fēng)格已在訓(xùn)練集中存在,則可以直接利用訓(xùn)練過(guò)程中學(xué)習(xí)得到的對(duì)應(yīng)的風(fēng)格轉(zhuǎn)換矩陣對(duì)樣本進(jìn)行風(fēng)格轉(zhuǎn)換處理,使樣本接近標(biāo)準(zhǔn)風(fēng)格。然后對(duì)已處理的樣本使用傳統(tǒng)預(yù)測(cè)規(guī)則得到預(yù)測(cè)標(biāo)簽,即:
規(guī)則3測(cè)試樣本風(fēng)格未知
若樣本組X0的風(fēng)格不存在于訓(xùn)練集中,為有效利用訓(xùn)練所得的風(fēng)格信息,使用直推式學(xué)習(xí)的思想,將同風(fēng)格的樣本組中包含的信息視為新的風(fēng)格,在預(yù)測(cè)過(guò)程中使用訓(xùn)練集得到的分類(lèi)器參數(shù)對(duì)樣本標(biāo)簽進(jìn)行初步預(yù)測(cè),并在迭代過(guò)程中逐步修正分類(lèi)器參數(shù),同時(shí)優(yōu)化新的風(fēng)格轉(zhuǎn)換矩陣。使用最終得到的優(yōu)化后的新分類(lèi)器參數(shù)和新風(fēng)格轉(zhuǎn)換矩陣對(duì)樣本組標(biāo)簽進(jìn)行最終預(yù)測(cè)。詳細(xì)步驟如下:
步驟1使用預(yù)測(cè)規(guī)則1得到測(cè)試集X0的臨時(shí)標(biāo)簽
步驟2將樣本組X0及其臨時(shí)標(biāo)簽Ytemp與訓(xùn)練數(shù)據(jù)集合并后進(jìn)行訓(xùn)練,得到新的權(quán)重、分類(lèi)器參數(shù)及風(fēng)格轉(zhuǎn)換矩陣
步驟3使用對(duì)測(cè)試集X0進(jìn)行預(yù)測(cè),得到正式的預(yù)測(cè)標(biāo)簽
由于現(xiàn)實(shí)場(chǎng)景中的大多數(shù)據(jù)均隱含或明顯地包含一定的風(fēng)格特征,而MK-SRLSSVM中增加的新預(yù)測(cè)方法考慮到了風(fēng)格已知和風(fēng)格未知的情況。直接使用與預(yù)測(cè)樣本對(duì)應(yīng)的風(fēng)格信息對(duì)已知風(fēng)格的樣本進(jìn)行預(yù)測(cè);利用直推式方法對(duì)未知風(fēng)格的樣本進(jìn)行預(yù)測(cè),均有效地利用了訓(xùn)練出的風(fēng)格信息,因此算法有較好的普適性。
與傳統(tǒng)支持向量機(jī)類(lèi)算法僅根據(jù)原始數(shù)據(jù)的物理分布尋找最優(yōu)分類(lèi)超平面不同,MK-SRLSSVM算法不僅考慮了數(shù)據(jù)中包含的物理特征,同時(shí)挖掘了數(shù)據(jù)的風(fēng)格特征。本文算法利用整體訓(xùn)練樣本優(yōu)化分類(lèi)器參數(shù)的同時(shí),對(duì)具有不同風(fēng)格的數(shù)據(jù)組分別進(jìn)行處理。借助于多核學(xué)習(xí)對(duì)數(shù)據(jù)映射的優(yōu)勢(shì),本文算法可以對(duì)包含較為復(fù)雜風(fēng)格的數(shù)據(jù)進(jìn)行表示和處理,并在訓(xùn)練和測(cè)試方法中都充分利用了訓(xùn)練出的風(fēng)格信息對(duì)原始樣本進(jìn)行風(fēng)格正則化處理,使經(jīng)風(fēng)格轉(zhuǎn)換后的數(shù)據(jù)分布更易于劃分。較傳統(tǒng)支持向量機(jī)及多核支持向量機(jī)類(lèi)算法,MK-SRLSSVM可對(duì)風(fēng)格化數(shù)據(jù)中包含的信息更加充分地利用以提高分類(lèi)性能。
為檢驗(yàn)本文算法的分類(lèi)效果,在4個(gè)風(fēng)格化數(shù)據(jù)集中進(jìn)行了多個(gè)實(shí)驗(yàn),分別為:在來(lái)自劍橋大學(xué)(http://www-prima.inrialpes.fr/Pointing04/data-face.html)的人臉(Face Pointing)數(shù)據(jù)集中進(jìn)行人臉?lè)诸?lèi)實(shí)驗(yàn);在來(lái)自UCI數(shù)據(jù)庫(kù)(http://archive.ics.uci.edu/ml/index.php)的語(yǔ)音(Parkinson Speech)數(shù)據(jù)集中進(jìn)行語(yǔ)音分類(lèi)實(shí)驗(yàn);在來(lái)自CASIA(http://www.nlpr.ia.ac.cn)的英文手寫(xiě)字母(English Handwriting)數(shù)據(jù)集中進(jìn)行字母分類(lèi)實(shí)驗(yàn);在來(lái)自波恩大學(xué)(http://www.meb.uni-bonn.de/epileptologie/science/physik/eegdata.html)的癲癇腦信號(hào)(Epileptic EEG)數(shù)據(jù)集中進(jìn)行EEG信號(hào)識(shí)別實(shí)驗(yàn)。
為了檢測(cè)算法相對(duì)于多核學(xué)習(xí)算法的效果,對(duì)于所有數(shù)據(jù)集,選取8個(gè)包括新近以及經(jīng)典的多核學(xué)習(xí)SVM算法進(jìn)行比較,分別為GMKL(more generality MKL)[22]、非線(xiàn)性組合算法NLMKL(non-linear MKL)[23]、LMKL(localized MKL)[24]、RBMKL(rule-based MKL)[25]、GLMKL(group Lasso MKL)[26]、CABMKL(centered-alignment-based MKL)[27]、simpleMKL[28]以及新近的easyMKL[29]。另對(duì)于Epileptic EEG數(shù)據(jù)集,增加了兩種常用于EEG檢測(cè)的算法進(jìn)行對(duì)比,分別是樸素貝葉斯算法(naive Bayes,NB)和決策樹(shù)算法(decision tree,DT)。
對(duì)所有多核算法設(shè)置3種基本核函數(shù),具體為:1個(gè)線(xiàn)性核函數(shù)k(x,z)=xTz,11個(gè)核帶寬分別為σ={e-5,e-4,…,e5}的高斯核函數(shù)k(x,z)=exp(-||x-z||2/2σ2),3個(gè)次數(shù)分別為d={1,2,3}的多項(xiàng)式核函數(shù)k(x,z)=(xTz+r)d,其中r=1。
在運(yùn)行算法之前,需要對(duì)參數(shù)進(jìn)行設(shè)置,所有算法的參數(shù)設(shè)置方法如下:先參考對(duì)應(yīng)文獻(xiàn)中推薦的參數(shù)設(shè)置,為選取最優(yōu)參數(shù),采用網(wǎng)格尋優(yōu)策略在推薦值附近進(jìn)行尋優(yōu)。為保證對(duì)比公平性,對(duì)MKSRLSSVM的正則化參數(shù)λ和對(duì)比算法的正則化參數(shù)C設(shè)置相同的尋優(yōu)范圍均為{e-5,e-4,…,e5},MKSRLSSVM中另一個(gè)參數(shù)γ的尋優(yōu)范圍為{e-5,e-4,…,e5},easyMKL算法參數(shù)λe的尋優(yōu)范圍為{0.1,0.2,…,1.0}。所有多核學(xué)習(xí)算法的收斂閾值均設(shè)置為0.01,最大迭代次數(shù)設(shè)置為200。對(duì)于需要設(shè)置核組合規(guī)則的算法均采用默認(rèn)值,具體為:RBMKL為平均組合,CABMKL為線(xiàn)性組合,LMKL為softmax。GMKL和NLMKL均取默認(rèn)的L1范數(shù)。所有實(shí)驗(yàn)均在選取樣本的全部特征的情況下進(jìn)行。
由于大多數(shù)多核學(xué)習(xí)算法聚焦于二分類(lèi)問(wèn)題,對(duì)于多分類(lèi)數(shù)據(jù)集,本文選取廣泛使用的“一對(duì)一”(one vs.one,OvO)策略將多分類(lèi)任務(wù)分解為多個(gè)二分類(lèi)任務(wù)進(jìn)行實(shí)驗(yàn)。
所有實(shí)驗(yàn)進(jìn)行之前對(duì)數(shù)據(jù)進(jìn)行兩項(xiàng)預(yù)處理,分別為對(duì)原始數(shù)據(jù)的線(xiàn)性歸一化處理和對(duì)基本核矩陣進(jìn)行的標(biāo)準(zhǔn)化處理。線(xiàn)性歸一化方法為:
核矩陣標(biāo)準(zhǔn)化方法為:
所有實(shí)驗(yàn)均在Matlab平臺(tái)下進(jìn)行,詳細(xì)實(shí)驗(yàn)環(huán)境為:處理器CoreTMi5,2.80 GHz,內(nèi)存12 GB,硬盤(pán)500 GB,操作系統(tǒng)為Windows 10專(zhuān)業(yè)版,Matlab版本為R2016b。
4.2.1 Face Pointing人臉數(shù)據(jù)集
Face Pointing數(shù)據(jù)集采集了不同姿態(tài)下的人臉圖像,本小節(jié)選取垂直角度為0的圖像進(jìn)行實(shí)驗(yàn)。數(shù)據(jù)集中共有15個(gè)參與者的人臉數(shù)據(jù),對(duì)每個(gè)人在水平角度下從-90°到90°每間隔15°采集一張圖片,即包括每個(gè)人的各13張不同角度姿態(tài)的照片,因此實(shí)驗(yàn)數(shù)據(jù)集中總共包括195張人臉圖像。
為體現(xiàn)出數(shù)據(jù)集中樣本的風(fēng)格差異,將部分代表性樣本提取在圖3中,圖中共有10人,每人有3種姿態(tài),每種姿態(tài)被視為一種風(fēng)格,即每行的樣本擁有同一種風(fēng)格,圖中共有3種風(fēng)格的10類(lèi)樣本。
Fig.3 Part of face samples圖3 部分人臉樣本示例
實(shí)驗(yàn)中首先將每張圖片縮放至36×48像素,再經(jīng)過(guò)主成分分析[30](principal component analysis,PCA)技術(shù)保留95%的信息后,將維度降到67維。選取每個(gè)人前7個(gè)姿態(tài)共105個(gè)樣本作為訓(xùn)練數(shù)據(jù),后6個(gè)姿態(tài)共90個(gè)樣本作為測(cè)試數(shù)據(jù)。由于測(cè)試數(shù)據(jù)的風(fēng)格相對(duì)于訓(xùn)練數(shù)據(jù)是未知的,因此使用規(guī)則3進(jìn)行預(yù)測(cè),實(shí)驗(yàn)結(jié)果如表1所示。
Table 1 Experimental results of Face Pointing dataset表1 Face Pointing數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
從表1的實(shí)驗(yàn)結(jié)果中可以得出,在對(duì)比算法中NLMKL、RBMKL以及新近的easyMKL取得了精確度為0.893 3的良好效果,較其他多核學(xué)習(xí)算法在本數(shù)據(jù)集中的效果較好。而本文算法MK-SRLSSVM在與多核學(xué)習(xí)SVM算法的比較中取得了最好的分類(lèi)效果,這是由于算法不僅利用了各基本核函數(shù)組成的合成核的映射優(yōu)勢(shì)學(xué)習(xí)得到分類(lèi)器參數(shù),而且挖掘了不同姿態(tài)的圖像中包含的風(fēng)格信息,并在對(duì)未知樣本的預(yù)測(cè)過(guò)程中使用了學(xué)習(xí)得到的風(fēng)格信息,相比只利用了數(shù)據(jù)集中的樣本物理相似性信息的算法,MK-SRLSSVM有效提高了分類(lèi)的效果。
4.2.2 Parkinson Speech語(yǔ)音數(shù)據(jù)集
本小節(jié)實(shí)驗(yàn)的語(yǔ)音數(shù)據(jù)集Parkinson Speech中包含了由帕金森患者和健康者提供的兩類(lèi)語(yǔ)音數(shù)據(jù)。其中訓(xùn)練集包含了來(lái)自于40個(gè)參與者的共1 040條語(yǔ)音數(shù)據(jù),包括字母、數(shù)字、單詞和短句;測(cè)試集中的數(shù)據(jù)全部來(lái)自帕金森患者,其中有168個(gè)元音樣本,每個(gè)樣本有28個(gè)維度,出自每個(gè)語(yǔ)音提供者的樣本被視為具有同一種風(fēng)格,實(shí)驗(yàn)結(jié)果如表2所示。
Table 2 Experimental results of Parkinson Speech dataset表2 Parkinson Speech數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
根據(jù)表2的實(shí)驗(yàn)結(jié)果可得,在所有對(duì)比算法中NLMKL取得了較好的效果,而CABMKL相對(duì)較差,體現(xiàn)出多核學(xué)習(xí)算法中不同的核權(quán)重系數(shù)優(yōu)化算法在性能上的差別。本文算法MK-SRLSSVM在所有算法中取得最好的分類(lèi)效果,可見(jiàn)算法有效利用了各核函數(shù)在樣本映射方法中對(duì)于樣本物理相似性關(guān)系的不同表示的特點(diǎn),而且挖掘了患者和健康人的語(yǔ)音樣本中包含的不同的風(fēng)格特征,分類(lèi)效果的提高體現(xiàn)出本文算法對(duì)于語(yǔ)音數(shù)據(jù)中的風(fēng)格信息進(jìn)行挖掘利用的有效性。
4.2.3 English Handwriting手寫(xiě)英文字母數(shù)據(jù)集
本實(shí)驗(yàn)中English Handwriting數(shù)據(jù)集中的樣本出自不同書(shū)寫(xiě)者,每個(gè)樣本包含有筆跡、筆尖朝向、筆觸壓力等信息。由于每個(gè)書(shū)寫(xiě)者有著不同的書(shū)寫(xiě)習(xí)慣,這些書(shū)寫(xiě)習(xí)慣均體現(xiàn)在樣本數(shù)據(jù)中,實(shí)驗(yàn)中來(lái)自每個(gè)書(shū)寫(xiě)者的樣本被視為具有同一種風(fēng)格。由于數(shù)據(jù)集中不同書(shū)寫(xiě)者的樣本采集自不同的時(shí)間段(TIME),而書(shū)寫(xiě)者的時(shí)間段信息為無(wú)關(guān)因素,因此在本實(shí)驗(yàn)中不選取此屬性。
為體現(xiàn)出數(shù)據(jù)集中包含的不同風(fēng)格,提取了如圖4所示的部分書(shū)寫(xiě)者的筆跡,圖中包括3個(gè)書(shū)寫(xiě)人的手寫(xiě)樣本,從中可以看出不同書(shū)寫(xiě)者具有不同的書(shū)寫(xiě)風(fēng)格。
Fig.4 Examples of English Handwriting dataset圖4 部分手寫(xiě)英文字體數(shù)據(jù)集示例
本小節(jié)選取數(shù)據(jù)集中前5個(gè)(no.1~5)書(shū)寫(xiě)者的各前1 000個(gè)樣本點(diǎn)共20個(gè)類(lèi)別的數(shù)據(jù)進(jìn)行實(shí)驗(yàn),其中前80%為訓(xùn)練數(shù)據(jù),后20%為測(cè)試數(shù)據(jù)。即數(shù)據(jù)集中共有5 000個(gè)樣本,其中訓(xùn)練集的樣本數(shù)量為4 000,測(cè)試集的樣本數(shù)量為1 000,共20個(gè)類(lèi)別,樣本維度為6。
從表3的實(shí)驗(yàn)結(jié)果中可以得出,本文算法相對(duì)于傳統(tǒng)多核學(xué)習(xí)SVM算法的有效性。在對(duì)比算法中NLMKL和GLMKL取得了較好的效果,但相對(duì)于其他對(duì)比算法的優(yōu)勢(shì)較小,在本小節(jié)的實(shí)驗(yàn)中表現(xiàn)出相似的性能。而本文的MK-SRLSSVM算法則有效地挖掘了手寫(xiě)字母樣本中的包括筆跡以及筆尖朝向等風(fēng)格信息,并且在預(yù)測(cè)方法中有效利用預(yù)測(cè)規(guī)則對(duì)經(jīng)過(guò)風(fēng)格轉(zhuǎn)換后的樣本進(jìn)行預(yù)測(cè)。而傳統(tǒng)的多核學(xué)習(xí)方法雖然將多個(gè)核函數(shù)進(jìn)行了結(jié)合,有效利用了樣本之間的物理相似性,但是由于沒(méi)有考慮到樣本風(fēng)格特征,因此較本文算法在分類(lèi)精確度上有所差距。
Table 3 Experimental results of English Handwriting dataset表3 English Handwriting數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
4.2.4 Epileptic EEG數(shù)據(jù)集
本小節(jié)中的EEG數(shù)據(jù)集由5組采集自2類(lèi)人群的樣本組成,詳細(xì)信息如表4所示,從每組中隨機(jī)抽取的樣本如圖5所示。從圖5中可以看出,來(lái)自不同組別的樣本的波動(dòng)性具有很大差別,例如A組中的患者和E組中的健康者的信號(hào)波動(dòng)性差異明顯;同為患者的C、E兩組在不同情況下的信號(hào)波動(dòng)性也相差較大。
Table 4 Description of Epileptic EEG dataset表4 Epileptic EEG數(shù)據(jù)集描述
Fig.5 Raw EEG signal圖5 原始EEG信號(hào)
研究[31]表明,預(yù)先對(duì)原始EEG數(shù)據(jù)進(jìn)行特征提取可以有效提高分類(lèi)性能,本文使用核主函數(shù)分析技術(shù)(kernel principal component analysis,KPCA)[4]對(duì)原始數(shù)據(jù)進(jìn)行特征提取工作,提取后的樣本維度為70,隨機(jī)選取提取后的樣本如圖6所示。
Fig.6 Extracted featured EEG signal圖6 抽取的特征EEG信號(hào)
本小節(jié)使用降維后的數(shù)據(jù)進(jìn)行實(shí)驗(yàn),由上述可知數(shù)據(jù)集中樣本數(shù)為500,類(lèi)別數(shù)為2,樣本維度為70,來(lái)自于同一組的樣本被視為具有相同的風(fēng)格。
為驗(yàn)證本文算法的有效性,對(duì)不同組別的數(shù)據(jù)進(jìn)行選擇以構(gòu)成兩種類(lèi)型的數(shù)據(jù)集。第一類(lèi)數(shù)據(jù)為測(cè)試集中包含的所有風(fēng)格同時(shí)存在于訓(xùn)練集中;第二類(lèi)數(shù)據(jù)為測(cè)試集存在訓(xùn)練集中所沒(méi)有的風(fēng)格,構(gòu)造數(shù)據(jù)集的詳細(xì)信息如表5所示。
數(shù)據(jù)集DS.1和DS.2為第一類(lèi)數(shù)據(jù),DS.3和DS.4為第二類(lèi)數(shù)據(jù),所有數(shù)據(jù)均為隨機(jī)選取,并在同一組參數(shù)下進(jìn)行10次實(shí)驗(yàn),對(duì)結(jié)果取均值。對(duì)于兩類(lèi)數(shù)據(jù)結(jié)合使用規(guī)則2和規(guī)則3進(jìn)行預(yù)測(cè),實(shí)驗(yàn)結(jié)果及所有算法的參數(shù)如表6所示,同時(shí)在圖7中繪出各算法在兩類(lèi)數(shù)據(jù)集中分類(lèi)精確度的波動(dòng)性。
Table 5 Detail of experimental datasets表5 實(shí)驗(yàn)數(shù)據(jù)集的詳細(xì)信息
Fig.7 Accuracy volatility of EEG datasets圖7 EEG數(shù)據(jù)集精確度波動(dòng)
從表6的實(shí)驗(yàn)結(jié)果可以得出,在數(shù)據(jù)集DS.1中決策樹(shù)算法取得最好的波動(dòng)信號(hào)識(shí)別效果,在數(shù)據(jù)集DS.2中NLMKL算法有著最好的分類(lèi)精度,領(lǐng)先于包括本文算法在內(nèi)的其他所有的算法。而本文算法在前兩個(gè)數(shù)據(jù)集中取得的效果雖然不如DT和NLMKL,但是相差較小。
從圖7可以得出,在第二類(lèi)數(shù)據(jù)集DS.3和DS.4中,當(dāng)測(cè)試集中的樣本風(fēng)格未在訓(xùn)練集中出現(xiàn)時(shí),對(duì)比算法中無(wú)論是多核學(xué)習(xí)算法還是常用于EEG信號(hào)識(shí)別的兩種非多核學(xué)習(xí)算法的識(shí)別精確度相對(duì)于在第一類(lèi)數(shù)據(jù)中的分類(lèi)效果都有較大的降低,而MKSRLSSVM算法則保持了較高的分類(lèi)精確度,在兩類(lèi)數(shù)據(jù)中的分類(lèi)精度波動(dòng)較小。通過(guò)以上結(jié)果可以看出本文算法對(duì)于各組樣本中包含的不同波動(dòng)特征的挖掘和利用對(duì)EEG信號(hào)識(shí)別精確度提高的有效性和穩(wěn)定性。
4.2.5 參數(shù)敏感性分析
為進(jìn)一步了解參數(shù)取值對(duì)于本文算法性能的影響,以在Epileptic EEG數(shù)據(jù)集中進(jìn)行的4個(gè)實(shí)驗(yàn)為例,研究正則化參數(shù)λ和風(fēng)格轉(zhuǎn)換矩陣懲罰參數(shù)γ對(duì)算法性能的影響,如圖8所示。
從圖8中可得,當(dāng)固定參數(shù)γ、λ取不同值時(shí),算法的精確度在0.55~1.00之間波動(dòng),波動(dòng)范圍較大。在數(shù)據(jù)集DS.1和DS.2中算法的精確度隨λ的增加而增加,而對(duì)于數(shù)據(jù)集DS.3和DS.4,算法的精確度在λ<1時(shí)呈現(xiàn)遞增的趨勢(shì),但是在之后逐漸降低。當(dāng)固定參數(shù)λ,γ取不同值時(shí),本文算法取得的精確度在0.75~0.95之間且隨γ的增大而降低,波動(dòng)幅度較小??梢?jiàn)相對(duì)于γ,λ的取值對(duì)于本文算法性能的影響較大,需要利用交叉驗(yàn)證結(jié)合網(wǎng)格搜索對(duì)其進(jìn)行尋優(yōu)。
Table 6 Experimental results of Epileptic EEG dataset表6 Epileptic EEG數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
Fig.8 Sensitivity analysis of parameters圖8 參數(shù)敏感性分析
為利用樣本中包含的風(fēng)格信息,本文提出基于多核學(xué)習(xí)的風(fēng)格正則化最小二乘支持向量機(jī)(MKSRLSSVM)。該算法在利用了多核學(xué)習(xí)對(duì)于樣本之間物理相似性表達(dá)的優(yōu)勢(shì)之外,同時(shí)挖掘并利用了樣本包含的風(fēng)格信息以提升算法的分類(lèi)精確度。MK-SRLSSVM將樣本包含的風(fēng)格信息考慮進(jìn)目標(biāo)函數(shù)中,使用風(fēng)格轉(zhuǎn)換矩陣對(duì)樣本進(jìn)行標(biāo)準(zhǔn)化處理,并利用正則化方法對(duì)風(fēng)格轉(zhuǎn)換的程度進(jìn)行限制,在訓(xùn)練過(guò)程中同時(shí)優(yōu)化分類(lèi)器參數(shù)和風(fēng)格轉(zhuǎn)換矩陣。并在傳統(tǒng)的預(yù)測(cè)方法之上添加了可以利用訓(xùn)練出的風(fēng)格信息的新預(yù)測(cè)規(guī)則。通過(guò)風(fēng)格化數(shù)據(jù)集中的實(shí)驗(yàn)表明了算法的有效性和一定的實(shí)用性。