桂洪冠,位凱
(1.達(dá)而觀信息科技(上海)有限公司,上海 201203;2.上海海事大學(xué),上海 200135)
目標(biāo)識(shí)別在智能駕駛、智慧交通、智慧安防等多個(gè)領(lǐng)域有廣泛的應(yīng)用,是實(shí)現(xiàn)系統(tǒng)智能決策的重要基礎(chǔ)。為了進(jìn)一步準(zhǔn)確地識(shí)別目標(biāo),需要使用標(biāo)注數(shù)據(jù)預(yù)先訓(xùn)練一個(gè)分類模型。在識(shí)別模型訓(xùn)練過(guò)程中,需要對(duì)大量的識(shí)別目標(biāo)進(jìn)行特征選擇,所選特征的數(shù)量及其重要程度直接影響到分類準(zhǔn)確率,進(jìn)而影響目標(biāo)識(shí)別的識(shí)別效果?,F(xiàn)有的特征聚類算法以聯(lián)合非負(fù)矩陣分解(Joint Nonnegative Matrix Factorization,JNMF)為主,該算法對(duì)噪聲較為敏感。聯(lián)合稀疏典型相關(guān)分析(Joint Sparse Canonical Correlation Analysis,JSCCA)是一種具有代表性的特征選擇算法,但JSCCA 及其改進(jìn)算法大多為無(wú)監(jiān)督方法,無(wú)法在不同組別之間同時(shí)執(zhí)行并尋找組別之間的特征差異。
本文提出一種未知目標(biāo)與已有知識(shí)圖譜中的目標(biāo)之間的高效特征關(guān)聯(lián)與選擇的方法,旨在提高目標(biāo)識(shí)別模型的分類準(zhǔn)確率。首先基于JCB-SNMF(Joint Connectivity-based Sparse Nonnegative Matrix Factorization,JCB-SNMF)模型將兩個(gè)數(shù)據(jù)集中的顯著特征聚類,再將選出的特征放入MTSCCALR(Multi Task-Sparse Canonical Correlation Analysis Linear Regression,MT-SCCALR)模型進(jìn)行特征關(guān)聯(lián)分析。在模擬數(shù)據(jù)集的實(shí)驗(yàn)表明,該方法可以有效解決目標(biāo)識(shí)別領(lǐng)域訓(xùn)練數(shù)據(jù)集特征冗余以及分類準(zhǔn)確率低下的技術(shù)問(wèn)題。
現(xiàn)有的特征聚類算法以聯(lián)合非負(fù)矩陣分解(Joint Nonnegative Matrix Factorization,JNMF)為主,JNMF 算法通過(guò)將不同模態(tài)數(shù)據(jù)的矩陣進(jìn)行拼接,然后再進(jìn)行分解來(lái)達(dá)到降維的目的。降維后得到的基矩陣存放樣本信息,系數(shù)矩陣存放特征信息。對(duì)于特征共表達(dá)模塊的選擇,一般對(duì)系數(shù)矩陣的每一行采用z-score 標(biāo)準(zhǔn)化后與人為設(shè)定的閾值進(jìn)行比較,當(dāng)標(biāo)準(zhǔn)值大于閾值,則認(rèn)為該特征有資格進(jìn)入到該模塊。在JNMF 基礎(chǔ)上,將先驗(yàn)知識(shí)加入能夠有效提高模型的特征關(guān)聯(lián)分析性能。但是,大多數(shù)改進(jìn)算法對(duì)數(shù)據(jù)中存在的噪聲較為敏感,在噪聲較大的情況下無(wú)法正確選擇重要特征。聯(lián)合稀疏典型相關(guān)分析(Joint Sparse Canonical Correlation Analysis,JSCCA)是一種具有代表性的特征選擇算法。JSCCA 通過(guò)得到兩種數(shù)據(jù)特征之間最大相關(guān)性的線性組合挖掘更顯著的特征。在JSCCA 基礎(chǔ)上,也可加入各種先驗(yàn)知識(shí)以增強(qiáng)數(shù)據(jù)之間的相關(guān)性。但是JSCCA 及其改進(jìn)算法大多為無(wú)監(jiān)督方法,無(wú)法在不同組別之間同時(shí)執(zhí)行并尋找組別之間的特征差異。
當(dāng)前技術(shù)的特征關(guān)聯(lián)分析與選擇方法還存在準(zhǔn)確率和召回率不高的問(wèn)題,尚無(wú)法達(dá)到實(shí)際應(yīng)用的需要。如何高效利用已有的知識(shí)圖譜中的目標(biāo)數(shù)據(jù)集信息進(jìn)行有效的特征聚類與選擇,進(jìn)而訓(xùn)練出準(zhǔn)確率高、召回率高的識(shí)別模型,目前尚未提出有效的技術(shù)方案。
本文提出的面向目標(biāo)識(shí)別的知識(shí)圖譜輔助特征聚類與選擇方法包括兩部分,第一部分提出一種JCB-SNMF 的特征聚類方法,該方法能夠?qū)⒛繕?biāo)識(shí)別的訓(xùn)練數(shù)據(jù)集和對(duì)應(yīng)的知識(shí)圖譜中的目標(biāo)特征投影到同一個(gè)公共特征空間,通過(guò)這種方法可以實(shí)現(xiàn)將顯著特征聚類到顯著共表達(dá)模塊。第二部分提出一種MT-SCCALR 的特征關(guān)聯(lián)與選擇方法,該方法能夠?qū)⒌谝徊糠趾Y選出的訓(xùn)練數(shù)據(jù)集和目標(biāo)數(shù)據(jù)集顯著特征進(jìn)行關(guān)聯(lián)分析,進(jìn)而按需求選出其中的Top 特征用于后續(xù)分類。方法過(guò)程如圖1所示。
圖1 特征聚類與選擇過(guò)程
2.1.1 特征預(yù)處理
訓(xùn)練數(shù)據(jù)樣本集指在目標(biāo)識(shí)別之前預(yù)先訓(xùn)練的已有標(biāo)注的樣本,根據(jù)標(biāo)注信息,可在知識(shí)圖譜中找到與其對(duì)應(yīng)的目標(biāo)類型和全部特征信息。根據(jù)訓(xùn)練數(shù)據(jù)的標(biāo)注信息對(duì)訓(xùn)練數(shù)據(jù)按標(biāo)注類型排序,對(duì)應(yīng)于訓(xùn)練數(shù)據(jù)的特征(如飛行目標(biāo)的速度、高度、航向角等),形成一個(gè)每行為一個(gè)樣本,每一列為一個(gè)樣本特征的數(shù)值矩陣。
2.1.2 JCB-SNMF 特征聚類算法
JCB-SNMF 算法是在JSNMF(JointSparseNonnegative Matrix Factorization,JSNMF)算法的基礎(chǔ)上進(jìn)行的改進(jìn)。具體為:
NMF 是傳統(tǒng)的降維方法,其一般模型為:
其中,和分別是原始特征矩陣經(jīng)分解得到的基矩陣和系數(shù)矩陣,且的維度是行列,的維度是行列,的維度是行列。、和分別代表樣本數(shù)、特征數(shù)和降維數(shù)。JNMF 算法在NMF 算法的基礎(chǔ)上擴(kuò)展了輸入數(shù)據(jù)的種類,即可對(duì)多個(gè)不同模態(tài)數(shù)據(jù)的特征矩陣同時(shí)進(jìn)行分解,其目標(biāo)函數(shù)為:
X∈R(=1,2,…)代表不同數(shù)據(jù)的特征矩陣,行數(shù)相同,列數(shù)不同?!?span id="j5i0abt0b" class="emphasis_italic">R代表分解后的公共基矩陣。H∈R代表分解后的對(duì)應(yīng)于原始矩陣的多個(gè)具有很強(qiáng)獨(dú)立性的系數(shù)矩陣,實(shí)際使用中<<,有學(xué)者提出了JSNMNMF,文中為了改善數(shù)據(jù)之間關(guān)聯(lián)較弱,假設(shè)為相互作用鄰接矩陣,JSMNMNMF 采用了范數(shù)和范數(shù)分別控制和H的稀疏性以實(shí)現(xiàn)數(shù)據(jù)的稀疏化。因此,其目標(biāo)函數(shù)為:
、、分別代表鄰接矩陣的權(quán)重,用于控制的稀疏度,用于控制H的稀疏度。
、分別代表、的拉普拉斯矩陣。給出所提出算法的目標(biāo)函數(shù)為:
關(guān)于和H的偏導(dǎo)為:
根據(jù)式(9)的迭代規(guī)則,最終將和分解成基矩陣和系數(shù)矩陣、。為了找到的每一行的顯著特征對(duì)應(yīng)的權(quán)重值,使用z-score 來(lái)提取H矩陣每一行的系數(shù)。它的定義為:
其中h代表H中的元素,μ代表中H特征的平均值,σ代表標(biāo)準(zhǔn)差。為了確定模塊成員資格,須人為設(shè)置一個(gè)閾值,如果它的z-score 值比給定的閾值大,則有資格分配到模塊。
接下來(lái),評(píng)估每個(gè)模塊的顯著性。具體來(lái)說(shuō),假設(shè)A=[,,…,]、B=[,,…,]。其中,a、b分別是從、中選出的列向量。然后,使用式(9)計(jì)算同一模塊中元素的平均關(guān)聯(lián)性。
在本專利中,、分別代表訓(xùn)練數(shù)據(jù)和知識(shí)圖譜中對(duì)應(yīng)的目標(biāo)樣本集,根據(jù)實(shí)際樣本數(shù)量和特征數(shù)量確定模塊數(shù),一般<<。通過(guò)式(8)隨機(jī)初始化、、,通過(guò)多次迭代,使其收斂到一個(gè)局部最小值。進(jìn)而得到公共基矩陣,以及分別對(duì)應(yīng)于、的系數(shù)矩陣、。然后根據(jù)式(9)計(jì)算同一模塊中元素的平均關(guān)聯(lián)性。最后根據(jù)式(10)、式(11)對(duì)所有模塊進(jìn)行顯著性分析,篩選得到最顯著的模塊,模塊中包含兩個(gè)數(shù)據(jù)集的顯著特征用于后續(xù)分析。
將2.1 章節(jié)所述的不在模塊中的特征剔除,保留兩個(gè)矩陣在模塊中的特征。將訓(xùn)練數(shù)據(jù)標(biāo)簽和兩個(gè)矩陣拼接放入MT-SCCALR 模型,該模型同時(shí)執(zhí)行多個(gè)不同類型目標(biāo)的任務(wù),對(duì)于每種目標(biāo)類型都會(huì)求出其每個(gè)特征的權(quán)重向量,對(duì)取絕對(duì)值后,按權(quán)重從大到小排列。根據(jù)需要取每一種目標(biāo)的Top 特征用于后續(xù)分類器分類。具體有以下4 個(gè)步驟:
(1)將訓(xùn)練數(shù)據(jù)樣本集和與其對(duì)應(yīng)的知識(shí)圖譜中的目標(biāo)樣本集一一對(duì)應(yīng)。其中,根據(jù)訓(xùn)練數(shù)據(jù)樣本集標(biāo)注的信息,可在知識(shí)圖譜中找到與其對(duì)應(yīng)的目標(biāo)類型和全部特征信息。進(jìn)而,分別得到訓(xùn)練樣本集和知識(shí)圖譜的特征矩陣(行為樣本,列為特征),其行數(shù)相同,列數(shù)不同。兩個(gè)矩陣中樣本應(yīng)是一一對(duì)應(yīng)的。
(2)使用JCB-SNMF 模型將兩個(gè)數(shù)據(jù)集中的顯著特征聚類。
(3)將選出特征放入MT-SCCALR 模型進(jìn)行特征關(guān)聯(lián)分析。MT-SCCALR 模型是在傳統(tǒng)的基于SCCA的無(wú)監(jiān)督方法基礎(chǔ)上實(shí)現(xiàn)的改進(jìn)。
CCA算法是一種確定兩個(gè)數(shù)據(jù)集之間關(guān)聯(lián)的算法。給定數(shù)據(jù)集∈R和∈R,其中有個(gè)特征,有個(gè)特征,共個(gè)樣本。該算法能夠找到和最大相關(guān)性的線性組合。
其中,假定和的列已經(jīng)標(biāo)準(zhǔn)化,和是和對(duì)應(yīng)的標(biāo)準(zhǔn)化后的特征權(quán)重。
SCCA 模型是在CCA 的基礎(chǔ)上加入了懲罰項(xiàng),用于控制模型的稀疏性,SCCA 模型定義為:
MT-SCCA是一種新穎的模型,它在SCCA 上加入了多任務(wù)框架。創(chuàng)新性的在其基礎(chǔ)上加入線性回歸模型,這使得不同目標(biāo)的類型標(biāo)簽可以加入。使用來(lái)表示目標(biāo)的種類。分別使用∈R和∈R表示經(jīng)JCB-SNMF 算法篩選得到的訓(xùn)練數(shù)據(jù)集中的目標(biāo)特征和對(duì)應(yīng)的知識(shí)圖譜中的目標(biāo)特征。∈R是X的權(quán)重矩陣,∈R是Y的權(quán)重矩陣。
其中,L和L分別代表和的拉普拉斯矩陣,可將其改寫(xiě)為:
然后在模型中引入線性回歸,其目標(biāo)函數(shù)為:
z代表第個(gè)任務(wù)的第個(gè)標(biāo)簽?,F(xiàn)在可以給出加入線性回歸的模型的目標(biāo)函數(shù):
然后,得到MT-SCCALR 算法的目標(biāo)函數(shù),如式(19)所示:
其中,、、、、以及是需要調(diào)整的超參數(shù),、、和用于控制模型的稀疏度。刪除常量后,得到式(20):
為了最小化目標(biāo)函數(shù)(20)以獲得最優(yōu)的和算法,使用交替凸搜索方法。首先,初始化和,然后,當(dāng)固定時(shí),修改,反之亦然。并重復(fù)上述過(guò)程直至收斂。
首先得到一個(gè)的值,當(dāng)是常數(shù)時(shí)它被最小化。由于拉普拉斯矩陣是正定矩陣,基于連通性的懲罰是凸的,可以使用基于軟閾值的坐標(biāo)進(jìn)行優(yōu)化,因此(20)的坐標(biāo)解定義為:
在得到之后,開(kāi)始對(duì)求偏導(dǎo),的目標(biāo)函數(shù)如式(22):
用這種方式,可以迭代得到權(quán)重的值,如式(24):
(4)得到訓(xùn)練樣本集各特征權(quán)重,取絕對(duì)值后按需要保留Top 特征。將步驟(3)中得到的權(quán)重向量u拼接,得到權(quán)重矩陣,對(duì)取絕對(duì)值,其中中列中的每個(gè)元素對(duì)應(yīng)于矩陣的每個(gè)特征。將每一列從大到小排序。然后根據(jù)需要找到Top 特征,用于后續(xù)分類等。
對(duì)于原始訓(xùn)練數(shù)據(jù)集,需要經(jīng)范數(shù)歸一化,目的在于:
統(tǒng)一數(shù)據(jù)單位:可以將有單位的數(shù)據(jù)轉(zhuǎn)為無(wú)單位的標(biāo)準(zhǔn)數(shù)據(jù),在目標(biāo)識(shí)別場(chǎng)景下,訓(xùn)練數(shù)據(jù)集和知識(shí)圖譜中已有目標(biāo)的各種參數(shù)可能使用了不同單位,將這些數(shù)據(jù)經(jīng)過(guò)歸一化統(tǒng)一都映射到(0,1)這個(gè)區(qū)間,這樣能夠保證所有數(shù)據(jù)的取值范圍都在同一個(gè)區(qū)間里的。
此外,歸一化可有效避免模型梯度求導(dǎo)計(jì)算時(shí)在垂直等高線的方向上走大量無(wú)畏的之字形路線,從而減小迭代計(jì)算量和迭代次數(shù),加快模型收斂速度。
對(duì)應(yīng)知識(shí)圖譜中的數(shù)據(jù)集,在知識(shí)圖譜中依據(jù)訓(xùn)練數(shù)據(jù)標(biāo)簽找出對(duì)應(yīng)的目標(biāo)全部特征,然后同樣進(jìn)行范數(shù)歸一化處理。得到與訓(xùn)練樣本集行數(shù)(樣本)相同、列數(shù)(樣本特征)不同的數(shù)值矩陣。
將預(yù)處理好的訓(xùn)練樣本數(shù)值矩陣和與其對(duì)應(yīng)的知識(shí)圖譜中的數(shù)據(jù)放入JCB-SNMF 模型中,調(diào)整模型參數(shù)、、、、。對(duì)于模塊數(shù)的選取,需要固定其他參數(shù),然后將逐漸增大,在保證<<的情況下,比較不同值下的目標(biāo)函數(shù)值,選取目標(biāo)函數(shù)值最小的作為模塊數(shù)。此外,固定以上參數(shù)后,隨機(jī)初始化100 組、、的參數(shù)組合后,計(jì)算100 組參數(shù)組合下的目標(biāo)函數(shù)值,選取最小的目標(biāo)函數(shù)值對(duì)應(yīng)的參數(shù)組合。最后利用式(8)迭代更新使得模型收斂到局部最小值。
根據(jù)式(10)(11)可以計(jì)算出個(gè)共表達(dá)模塊的顯著性值,選取最顯著的模塊(<0.01)。提取最顯著的共表達(dá)模塊中包含的特征,更新矩陣和,使用該模塊中和的特征,將其余特征刪除,進(jìn)而更新矩陣和。
將處理好的、放入MT-SCCALR 模型,調(diào)整模型中的、、、、以及。具體調(diào)整方法為:
由于盲網(wǎng)格搜索十分的耗時(shí),采用了一些相關(guān)方法來(lái)加速調(diào)整參數(shù)的過(guò)程。一方面,如果參數(shù)太小了,SCCA 和CCA 會(huì)產(chǎn)生相似的結(jié)果。另一方面,如果參數(shù)過(guò)大,SCCA將過(guò)度懲罰結(jié)果。因此,參數(shù)的選取不宜過(guò)大或者過(guò)小。用五折交叉驗(yàn)證的方法來(lái)尋找最優(yōu)參數(shù)。使得測(cè)試集結(jié)果的相關(guān)系數(shù)最高的參數(shù)組合將被定為最優(yōu)參數(shù)。公式如下。
根據(jù)式(21)(24)可以得到每種目標(biāo)在訓(xùn)練集和知識(shí)圖譜中的權(quán)重向量u和v。將得到的每一個(gè)權(quán)重向量u取絕對(duì)值,然后按從大到小的順序排列,按實(shí)際需要選取其中Top 特征,用于后續(xù)分類等。
本文提出了一種組合特征關(guān)聯(lián)與選擇方法,該方法通過(guò)JCB-SNMF 算法進(jìn)行特征聚類和關(guān)聯(lián),通過(guò)MT-SCCALR方法進(jìn)行特征選擇,獲得了更高的準(zhǔn)確率。為目標(biāo)的準(zhǔn)確檢測(cè)提供新見(jiàn)解。然而,該方法也存在一些不足。如基于SCCA 的方法具有較高的時(shí)間復(fù)雜度,對(duì)于較高維的數(shù)據(jù)特征關(guān)聯(lián)分析較為困難。因此,在未來(lái)的研究中,需要對(duì)MTSCCALR 算法的目標(biāo)函數(shù)求解進(jìn)行進(jìn)一步優(yōu)化,降低時(shí)間復(fù)雜度。此外,我們也將嘗試使用更多的數(shù)據(jù)集進(jìn)行方法有效性驗(yàn)證。