曹 杰,顧斌杰,熊偉麗,潘 豐
江南大學(xué) 輕工過(guò)程先進(jìn)控制教育部重點(diǎn)實(shí)驗(yàn)室,江蘇 無(wú)錫214122
支持向量機(jī)(support vector machine,SVM)自20世紀(jì)90 年代由Vapnik[1]提出以來(lái),受到廣泛的關(guān)注。SVM的主要思想是通過(guò)最大化間隔實(shí)現(xiàn)結(jié)構(gòu)風(fēng)險(xiǎn)最小化,使得模型具有良好的學(xué)習(xí)性能和泛化性能[2-3]。目前,SVM 已經(jīng)成功運(yùn)用到特征選擇[4]、文本分類(lèi)[5]、時(shí)間序列預(yù)測(cè)[6]、目標(biāo)跟蹤[7]和行人檢測(cè)[8]等領(lǐng)域。之后,Collobert 等人[9]把支持向量機(jī)的思想用于解決回歸問(wèn)題,提出了支持向量回歸機(jī)(support vector regression,SVR)。
近年來(lái),SVM 又衍生出了新的算法。2007 年,Jayadeva等人[10]提出了孿生支持向量機(jī)(twin support vector machine,TSVM)。TSVM 通過(guò)求解兩個(gè)小規(guī)模的二次規(guī)劃問(wèn)題,構(gòu)建兩個(gè)非平行超平面,訓(xùn)練時(shí)間縮短到原SVM的1/4左右,并且同樣具有很好的泛化性能。2010 年,Peng[11]基于TSVM 的思想,提出了孿生支持向量回歸機(jī)(twin support vector regression,TSVR),通過(guò)尋找兩個(gè)非平行的超平面,構(gòu)建回歸模型。實(shí)驗(yàn)結(jié)果表明,TSVR在訓(xùn)練速度以及泛化性能方面均優(yōu)于傳統(tǒng)SVR。因此,TSVR迅速成為了支持向量機(jī)領(lǐng)域的研究熱點(diǎn)。同年,Singh 等人[12]提出了約簡(jiǎn)孿生支持向量回歸機(jī),通過(guò)隨機(jī)選擇部分支持向量構(gòu)成行列不等的核矩陣,獲得稀疏解,加快了訓(xùn)練和預(yù)測(cè)的速度,但預(yù)測(cè)精度有所降低。2013 年,Shao 等人[13]提出了ε-孿生支持向量回歸機(jī),不僅改進(jìn)了損失函數(shù),還通過(guò)添加正則化項(xiàng)實(shí)現(xiàn)了結(jié)構(gòu)風(fēng)險(xiǎn)的最小化。2014年,盧振興等人[14]提出了最小二乘孿生支持向量回歸機(jī),用等式約束代替不等約束,極大地加快了訓(xùn)練的速度。2016 年,Rastogi 等人[15]提出了v型孿生支持向量回歸機(jī),通過(guò)在目標(biāo)函數(shù)中引入vε項(xiàng),把不敏感參數(shù)ε作為變量,實(shí)現(xiàn)了自動(dòng)控制ε的目的。
然而,以上方法都是關(guān)于離線訓(xùn)練算法的研究。在實(shí)際應(yīng)用中,由于數(shù)據(jù)的更新會(huì)使舊模型失效,無(wú)法滿足實(shí)際的需要。而增量學(xué)習(xí)算法能夠充分利用歷史的訓(xùn)練結(jié)果,減少模型更新所需要的時(shí)間,能夠很好地解決時(shí)變問(wèn)題。目前為止,在增量式SVM 以及增量式SVR 的研究上,學(xué)者們?nèi)〉昧撕芏嘌芯砍晒?,如Cauwenberghs 等人[16]提出的增量式與減量式SVM,何麗等人[17]提出的自適應(yīng)SVM 增量算法,Ma等人[18]提出的精確在線支持向量回歸機(jī),以及顧斌杰等人[19]提出的精確增量式在線ν型支持向量回歸機(jī),都是在原有模型的基礎(chǔ)上通過(guò)少量迭代,更新模型,使得所有樣本滿足KKT條件。此外,張浩然等人[20]提出了最小二乘支持向量回歸機(jī)的增量學(xué)習(xí)算法,Zhao 等人[21]提出了在線不相關(guān)約簡(jiǎn)最小二乘支持向量回歸機(jī),避免了求解二次規(guī)劃問(wèn)題,算法的實(shí)時(shí)性得到很大的提升,并且后者能夠獲得稀疏解,使得預(yù)測(cè)速度也得到了提升。
目前為止,關(guān)于增量式孿生支持向量回歸機(jī)的研究并不多見(jiàn)。2016年,郝運(yùn)河等人[22]提出了增量式最小二乘孿生支持向量回歸機(jī)。該方法基于最小二乘孿生支持向量回歸機(jī)模型,在增量之前,隨機(jī)選取部分支持向量生成預(yù)訓(xùn)練模型,在接下來(lái)的增量過(guò)程中,只增加核矩陣的行向量而不增加核矩陣的列向量,因此求解過(guò)程中逆矩陣的維數(shù)不變,加快了增量更新模型的速度,并且使得模型解的規(guī)模不變。但是這樣獲得的核矩陣可能會(huì)忽略掉原核矩陣中的線性無(wú)關(guān)的列向量,使得核矩陣無(wú)法很好地逼近原核矩陣,導(dǎo)致模型的泛化性能與離線算法相比大大下降。為此,本文提出一種增量式約簡(jiǎn)最小二乘孿生支持向量回歸機(jī)算法(incremental reduced least squares twin support vector regression,IRLSTSVR)。IRLSTSVR
算法嘗試?yán)眉s簡(jiǎn)方法,選取使核矩陣中列向量線性無(wú)關(guān)的樣本作為支持向量,構(gòu)建行列不等的核矩陣,并且通過(guò)分塊矩陣求逆引理,充分利用已知計(jì)算結(jié)果高效更新逆矩陣,在保證模型解的稀疏性的同時(shí),更好地逼近離線算法的泛化性能。最后通過(guò)實(shí)驗(yàn),驗(yàn)證算法的可行性和有效性。
最小二乘孿生支持向量回歸機(jī)用等式約束替代不等約束,并加入正則項(xiàng),把經(jīng)驗(yàn)風(fēng)險(xiǎn)與結(jié)構(gòu)風(fēng)險(xiǎn)相結(jié)合,尋找下界回歸函數(shù)和上界回歸函數(shù),其中,ω1,ω2∈Rm為權(quán)重向量,b1,b2∈R 為偏置,即得到兩個(gè)非平行的超平面。因此,線性回歸問(wèn)題可以表示為如下約束最優(yōu)化問(wèn)題[14]:
其中,C1,C2>0 為正則化常數(shù),ε1,ε2>0 為不敏感因子,ξ,η∈Rn為松弛向量,e為相應(yīng)維數(shù)元素全為1的列向量。
其中,I為相應(yīng)維數(shù)的單位陣。
因此,對(duì)于某一測(cè)試輸入x,可以通過(guò)式(7)預(yù)測(cè)其對(duì)應(yīng)輸出:
在解決非線性回歸問(wèn)題時(shí),需要借助核函數(shù)K(·,·),將樣本從原始空間映射到一個(gè)更高維度的特征空間,則此時(shí)的下界回歸函數(shù)為f1(x)=K(xT,AT)ω1+b1,上界回歸函數(shù)為f2(x)=K(xT,AT)ω2+b2,其中ω1,ω2∈Rn,b1,b2∈R。
令G=[e K(A,AT)],則非線性回歸問(wèn)題目標(biāo)函數(shù)的解也可以表示為式(5)和式(6)的形式。對(duì)于某一測(cè)試輸入x,其對(duì)應(yīng)輸出如下:
對(duì)于線性回歸問(wèn)題,模型解的規(guī)模只和樣本的特征數(shù)有關(guān),即輸入量的維數(shù)。如果輸入量維數(shù)過(guò)高,可以預(yù)先進(jìn)行降維,再通過(guò)文獻(xiàn)[22]中的方法進(jìn)行增量訓(xùn)練,本文不再贅述。然而,對(duì)于非線性回歸問(wèn)題,隨著樣本個(gè)數(shù)的增加,支持向量的個(gè)數(shù)和解的維數(shù)會(huì)不斷增加,導(dǎo)致一次增量更新所需的時(shí)間和模型預(yù)測(cè)所需的時(shí)間快速增長(zhǎng),無(wú)法滿足實(shí)際應(yīng)用中實(shí)時(shí)性的要求。此外,現(xiàn)有的增量式最小二乘孿生支持向量回歸機(jī)通過(guò)隨機(jī)選取支持向量構(gòu)建預(yù)訓(xùn)練模型的方法,可能會(huì)導(dǎo)致忽略了一些特征相異的樣本,保留了一些特征相似的樣本,使得核矩陣丟失了原核矩陣中線性無(wú)關(guān)的列向量,不能很好地逼近原核矩陣。
因此,本文針對(duì)非線性回歸問(wèn)題,嘗試?yán)眉s簡(jiǎn)方法,選擇特征相異的樣本,使得構(gòu)建的核矩陣能夠保留原核矩陣中線性無(wú)關(guān)的列向量,以便更好地逼近原核矩陣。最后以約簡(jiǎn)后的列線性無(wú)關(guān)的核矩陣為基礎(chǔ),通過(guò)增量方法,構(gòu)建約簡(jiǎn)最小二乘孿生支持向量回歸機(jī)模型。
在約簡(jiǎn)過(guò)程中,把訓(xùn)練樣本分為三個(gè)集合,分別為約簡(jiǎn)集S、約束集P和無(wú)關(guān)集O。其中,約簡(jiǎn)集S為約簡(jiǎn)后作為支持向量的樣本集合,該集合中樣本的特征差異性較大,它的樣本個(gè)數(shù)即為核矩陣的列數(shù);約束集P為約簡(jiǎn)集S中的樣本以及預(yù)測(cè)值誤差較大的樣本的集合,它的樣本個(gè)數(shù)即為核矩陣的行數(shù);無(wú)關(guān)集O為預(yù)測(cè)值誤差較小的樣本集合。在增量過(guò)程中,忽略無(wú)關(guān)集O中的樣本。
假設(shè)在t時(shí)刻模型的S集合中有l(wèi)1個(gè)m維樣本,P集合中有l(wèi)2個(gè)m維樣本,并且P集合包含S集合,即l1≤l2,S集合的樣本矩陣為ASt,P集合的樣本矩陣為APt,核矩陣為。
在t+1 時(shí)刻,新增一個(gè)樣本(xn+1,yn+1),如果把該樣本同時(shí)加入S集合和P集合中,則形成的新的核矩陣如下:
在選擇同時(shí)加入到S集合和P集合中的樣本時(shí),需要考慮的就是核矩陣Kt+1中的列向量nt+1和矩陣Nt+1中的列向量是否線性相關(guān),即式(10)是否有解:
其中,αt+1∈Rl1為線性方程組式(10)的解。
由于精確的線性相關(guān)要求會(huì)導(dǎo)致數(shù)值的不穩(wěn)定性,因此通過(guò)求解如下最小化問(wèn)題來(lái)近似判斷線性相關(guān)關(guān)系:
把式(13)代入式(12),可求得αt+1的值。
最后,將αt+1的值代入式(11)可求得目標(biāo)函數(shù)的值。
若式(11)的值約等于0,則列向量nt+1和矩陣Nt+1中的列向量線性相關(guān)。在實(shí)際算法中,設(shè)置約簡(jiǎn)常數(shù)λ∈(0,1)和δ(αt+1)進(jìn)行比較。如果δ(αt+1)>λ,則列向量nt+1和矩陣Nt+1中的列向量線性無(wú)關(guān),新增樣本(xn+1,yn+1)同時(shí)添加到S集合和P集合,否則需要通過(guò)式(14)判斷樣本是否位于t時(shí)刻模型上界函數(shù)和下界函數(shù)之間:
如果不滿足式(14)則說(shuō)明t時(shí)刻模型不滿足當(dāng)前需求,新增樣本(xn+1,yn+1)需要添加到P集合中,否則新增樣本(xn+1,yn+1)添加到O集合中,無(wú)需更新模型。
在明確當(dāng)前新增樣本的所屬集合之后,為了判斷下一次新增樣本的所屬集合,以下兩種情況需要更新Kt+1和Mt+1:
情況1新增樣本添加到S集合和P集合中,Kt+1更新同式(9),Mt+1的更新公式如下:
引理2設(shè)A是n×n的可逆矩陣,b是n×1 的向量,d是標(biāo)量,且d-bTA-1b≠0,則有:
引理2的證明見(jiàn)文獻(xiàn)[24],此處省略。
令Z=V-1v,J=q-vTZ,則由引理2可得:
式(16)中的V-1由式(13)通過(guò)引理1 求得,而J為一個(gè)標(biāo)量,因此整個(gè)更新無(wú)需矩陣求逆。
情況2新增樣本只添加到P集合中,更新公式如下:
式(18)由式(13)通過(guò)引理1 獲得,同樣,以上更新過(guò)程無(wú)需矩陣求逆。
上述約簡(jiǎn)方法主要是針對(duì)核矩陣為半正定矩陣,存在線性相關(guān)的列向量的情況,對(duì)核矩陣進(jìn)行約簡(jiǎn)。由于添加了線性相關(guān)的列向量,導(dǎo)致核矩陣中含有值為0的特征值,對(duì)應(yīng)核矩陣中的冗余信息。因此剔除線性相關(guān)的列向量,在減小核矩陣規(guī)模的同時(shí),可以獲得一個(gè)近似原核矩陣的約簡(jiǎn)核矩陣。判斷線性相關(guān)的一般方法為求解相應(yīng)的線性方程組,但是線性方程組的等式要求過(guò)于嚴(yán)格,不便于求解。約簡(jiǎn)方法采用最小化問(wèn)題替代線性方程組,度量新增列向量與核矩陣中已有列向量之間的相關(guān)程度,并且為了便于求解采用二次損失函數(shù)。如果線性相關(guān),那么最小化問(wèn)題會(huì)收斂到0 值附近,否則就會(huì)大于0值。
在實(shí)際操作中,采用非精確的線性相關(guān)性要求。當(dāng)最小化問(wèn)題目標(biāo)函數(shù)的值小于一個(gè)接近于0的約簡(jiǎn)常數(shù)時(shí),滿足線性相關(guān)要求,該新增列向量不添加到約簡(jiǎn)核矩陣中,使得原核矩陣中約等于0的特征值被剔除。但是由于剔除的特征值并非嚴(yán)格為0,因此有效樣本信息會(huì)有一定的損失。并且隨著約簡(jiǎn)常數(shù)的增大,較大的特征值也被剔除,約簡(jiǎn)核矩陣的有效樣本信息損失增大,列向量個(gè)數(shù)也會(huì)越少,相應(yīng)解的規(guī)模也會(huì)越小。對(duì)于約簡(jiǎn)常數(shù)的設(shè)置,往往需要權(quán)衡核矩陣的樣本信息損失和解的稀疏程度。
2.1 節(jié)詳細(xì)闡述了劃分S集合、P集合和O集合的方法,而非線性增量式約簡(jiǎn)最小二乘孿生支持向量回歸機(jī)就是基于S集合和P集合構(gòu)建的凸優(yōu)化問(wèn)題:
增量式約簡(jiǎn)最小二乘孿生支持向量回歸機(jī)的步驟歸納如下,其中,步驟1~步驟3為模型初始化,步驟4~步驟7為增量更新模型:
步驟1設(shè)置參數(shù)C1、C2、ε1、ε2、λ。
步驟2把已有樣本劃分為S集合、P集合和O集合,并且計(jì)算Kt和Mt(詳細(xì)方法見(jiàn)2.1節(jié))。
步驟3由式(23)和式(24)計(jì)算t時(shí)刻模型的解u1t和u2t,同時(shí)保存模型更新時(shí)所需的量。
步驟4在t+1時(shí)刻,讀入一個(gè)新的樣本(xn+1,yn+1)。
步驟5由式(11)~式(13)可求得δ(αt+1)。
步驟6如果δ(αt+1)>λ,則先由式(9)、式(15)和式(16)更新Kt+1和Mt+1,再由式(25)~式(30)求得u1(t+1)以及下一次增量更新所需的值,同理可得u2(t+1)及下一次增量更新所需的值;否則,判斷式(14)是否成立,如果成立,則直接舍棄樣本(xn+1,yn+1);不成立則先由式(17)、式(18)更新Kt+1和Mt+1,再由式(31)~式(34)求得u1(t+1)以及更新下一次增量所需的值,同理可得u2(t+1)及下一次增量更新所需的值。
步驟7如果繼續(xù)讀入一個(gè)新樣本,則重復(fù)步驟4~步驟6;否則,算法結(jié)束。
針對(duì)2.1 節(jié)和2.2 節(jié)中闡述的增量過(guò)程,下面詳細(xì)分析本文算法新增一個(gè)樣本所需的時(shí)間復(fù)雜度。考慮到乘法的時(shí)間復(fù)雜度遠(yuǎn)高于加法,因此以下時(shí)間復(fù)雜度的分析只考慮算法所需乘法次數(shù)。此外,由于構(gòu)造核矩陣的時(shí)間消耗是所有算法都不可避免的部分,本文算法并沒(méi)有對(duì)此部分進(jìn)行改進(jìn),故以下分析中不考慮構(gòu)造核矩陣的時(shí)間復(fù)雜度。
綜上可知,使用矩陣求逆引理進(jìn)行增量求逆的時(shí)間復(fù)雜度為平方階,而直接求解逆矩陣的時(shí)間復(fù)雜度為立方階,因此使用矩陣求逆引理降低了算法的時(shí)間復(fù)雜度。此外,本文算法需要存儲(chǔ)三個(gè)逆矩陣,逆矩陣的大小與S集合的大小有關(guān)。并且增量求逆方法對(duì)于近似奇異矩陣的求逆精度會(huì)有所下降,需要保證矩陣的正定性。
另一方面,本文算法的時(shí)間復(fù)雜度和l1、l2有關(guān),而l1、l2大小能夠分別由約簡(jiǎn)方法中的參數(shù)λ和ε1、ε2進(jìn)行控制。本文算法能夠在盡可能地降低精度損失的前提下,通過(guò)調(diào)節(jié)這三個(gè)參數(shù)進(jìn)一步降低算法的時(shí)間復(fù)雜度。
為了驗(yàn)證算法的可行性和有效性,選取離線最小二乘支持向量回歸機(jī)(least squares support vector regression,LSSVR)[25]、離線最小二乘孿生支持向量回歸機(jī)(least squares twin support vector regression,LSTSVR)[14]、增量式最小二乘孿生支持向量回歸機(jī)(incremental least squares twin support vector regression,ILSTSVR)[22]和本文算法IRLSTSVR,在基準(zhǔn)測(cè)試數(shù)據(jù)集上進(jìn)行對(duì)比。所有實(shí)驗(yàn)在Intel i5-8300H(@2.30 GHz)處理器,8 GB 內(nèi)存的計(jì)算機(jī),Matlab2014a 軟件平臺(tái)上完成。
實(shí)驗(yàn)中使用的基準(zhǔn)測(cè)試數(shù)據(jù)集如表1所示,其中最小規(guī)模為167,最大規(guī)模為9 568。Servo、Boston Housing、Concrete CS、Airfoil Self Noise、Abalone、Triazines 和CCPP 來(lái) 自 于UCI 數(shù) 據(jù) 庫(kù),PM10 和Space_ga來(lái)自于StatLib數(shù)據(jù)庫(kù)。
Table 1 9 benchmark datasets used in experiment表1 實(shí)驗(yàn)中使用的9個(gè)基準(zhǔn)測(cè)試數(shù)據(jù)集
首先把每組數(shù)據(jù)集的輸入數(shù)據(jù)歸一化為[0,1],然后劃分訓(xùn)練集和測(cè)試集,在訓(xùn)練集上采用5次五折交叉驗(yàn)證的方式,共25 次實(shí)驗(yàn)的平均值進(jìn)行參數(shù)尋優(yōu),最終以訓(xùn)練集上的最優(yōu)模型在測(cè)試集上的表現(xiàn)來(lái)評(píng)判該模型的好壞。采用如下性能評(píng)價(jià)指標(biāo):
其中,RMSE為均方根誤差;MAE為平均絕對(duì)誤差;ρ和ψ分別表示RMSE和MAE的損失程度;φ為解的稀疏率;為第i個(gè)樣本的預(yù)測(cè)值;yi為第i個(gè)樣本的實(shí)際輸出值;N為訓(xùn)練樣本的個(gè)數(shù);Ron為增量算法的RMSE;Roff為相應(yīng)離線算法的RMSE;Mon為增量算法的MAE;Moff為相應(yīng)離線算法的MAE;NS為S集合中樣本的個(gè)數(shù)。
此外,還統(tǒng)計(jì)了S集合的樣本個(gè)數(shù)NS和P集合的樣本個(gè)數(shù)NP,平均一次增量所需的訓(xùn)練時(shí)間和最終模型對(duì)測(cè)試集進(jìn)行預(yù)測(cè)所需的預(yù)測(cè)時(shí)間作為性能評(píng)價(jià)指標(biāo)。
為克服離線算法參數(shù)尋優(yōu)的困難,在本文實(shí)驗(yàn)中,離線LSSVR 的參數(shù)C=2i,在i∈[-10,10]的范圍內(nèi)尋找最優(yōu)值。離線LSTSVR的參數(shù)C1=C2=2i,在i∈[-10,10]的范圍內(nèi)尋找最優(yōu)值,考慮到不敏感因子ε1、ε2對(duì)離線LSTSVR的影響較小[26-28]以及為了與離線LSSVR進(jìn)行公平對(duì)比,取ε1=ε2=0.01。
對(duì)于本文算法,參數(shù)λ=10i,i∈[-5,-1],在保證解的稀疏率的前提下,選擇具有較優(yōu)RMSE和MAE指標(biāo)的情況。由于ε1、ε2的大小會(huì)對(duì)P集合的規(guī)模產(chǎn)生影響,并且ε1、ε2的設(shè)置不能夠太大,實(shí)驗(yàn)中在相同λ下,選擇ε1=ε2=0 的情況和ε1=ε2≠0 且使P集合的規(guī)模產(chǎn)生顯著變化的情況,其他參數(shù)使用相應(yīng)離線算法的尋優(yōu)參數(shù)。對(duì)于ILSTSVR算法,隨機(jī)選取和本文算法S集合大小相同的樣本訓(xùn)練預(yù)訓(xùn)練模型,其他參數(shù)使用相應(yīng)離線算法的尋優(yōu)參數(shù)。核函數(shù)統(tǒng)一選取高斯徑向基函數(shù)K(xi,xj)=exp(-||xi-xj||2/2σ2),核參數(shù)σ=2i在i∈[-5,5]的范圍內(nèi)尋優(yōu)。
表2 所示為選取的四種不同算法在基準(zhǔn)測(cè)試數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,其中IRLSTSVR 列舉了兩種情況,一種是ε=ε1=ε2=0 的情況,另一種是ε=ε1=ε2≠0 的情況,“—”表示該處指標(biāo)無(wú)意義,粗體表示最優(yōu)指標(biāo)。
從表2 可以看出,對(duì)于本文算法,當(dāng)ε=0 時(shí),ρ最大為4.4%,Ψ最大為4.1%,φ最小為3.8%,最大為57%。當(dāng)ε≠0 時(shí),ρ最大為5.6%,Ψ最大為13%,φ最小為3.7%,最大為54%。對(duì)于ILSTSVR算法,ρ最大為135%,Ψ最大為97%,φ最小為3.8%,最大為57%。與離線LSSVR 和離線LSTSVR 相比,本文算法具有相近的泛化性能,解的稀疏性大為提高,預(yù)測(cè)時(shí)間減少以及平均一次增量更新所需的時(shí)間大為減少。與ILSTSVR相比,本文算法的泛化性能更好,更加接近離線算法,但是平均一次增量更新所需的時(shí)間略大。原因是本文算法在添加新樣本時(shí),進(jìn)行了約簡(jiǎn),考慮了核矩陣列向量之間的線性相關(guān)性。由于特征相似樣本的添加會(huì)導(dǎo)致核矩陣中含有線性相關(guān)的列向量,利用凸優(yōu)化問(wèn)題來(lái)近似判斷列向量之間的線性相關(guān)性,就能夠排除特征相似的樣本作為支持向量,獲得一個(gè)與原核矩陣近似的約簡(jiǎn)核矩陣,有效減小模型解的規(guī)模獲得稀疏解,減少預(yù)測(cè)時(shí)間。同時(shí)該約簡(jiǎn)核矩陣列向量對(duì)應(yīng)的特征值都遠(yuǎn)大于0,含有原核矩陣絕大部分的信息,能獲得和基于原核矩陣的離線算法相近的泛化性能;并且充分利用前一次更新時(shí)的計(jì)算結(jié)果,對(duì)矩陣求逆進(jìn)行高效更新;此外和ILSTSVR不同,本文算法并不是只增加核矩陣的行數(shù),當(dāng)新添加的列向量線性無(wú)關(guān)時(shí),需要計(jì)算添加了列向量與行向量后的逆矩陣,此時(shí)計(jì)算復(fù)雜度要高于只添加行向量的情況,而且多了約簡(jiǎn)部分的計(jì)算,因此本文算法更新時(shí)間會(huì)較長(zhǎng)。
Table 2 Experimental results of four different algorithms on benchmark datasets表2 四種不同算法在基準(zhǔn)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果
對(duì)于本文算法,與當(dāng)ε=0 時(shí)的情況相比,當(dāng)ε≠0 時(shí),P集合的個(gè)數(shù)減少,也就意味著減少了樣本的更新次數(shù),導(dǎo)致平均一次增量更新的時(shí)間會(huì)減少,但由于ε1、ε2的設(shè)置使樣本偏離模型有了上限,因此依然能獲得相近的泛化性能。
為了更好地說(shuō)明增量過(guò)程中RMSE、MAE、總訓(xùn)練時(shí)間三種指標(biāo)的變化,圖1 給出了在Abalone 數(shù)據(jù)集上,隨著訓(xùn)練樣本個(gè)數(shù)的增加,三種指標(biāo)的變化過(guò)程,其中離線算法只給出最終模型的RMSE和MAE,作為增量算法的對(duì)比基準(zhǔn)。從圖1(a)和圖1(b)中可以看出,本文算法在RMSE和MAE的下降趨勢(shì)方面要明顯優(yōu)于ILSTSVR,這是因?yàn)榕cILSTSVR 算法中隨機(jī)選取支持向量相比,本文算法通過(guò)約簡(jiǎn)方法,在樣本增加過(guò)程中,能夠更有效地保留原核矩陣中的大部分信息,獲得更加近似于原核矩陣的約簡(jiǎn)核矩陣;并且當(dāng)ε=0 時(shí)的模型指標(biāo)要略勝于當(dāng)ε≠0 時(shí)的模型指標(biāo),這是由于當(dāng)ε≠0 時(shí)模型允許少量的誤差存在,使得參與模型更新的樣本減少,模型的性能通常也會(huì)有一定的損失。
Fig.1 Performance comparison of different algorithms on Abalone dataset圖1 Abalone數(shù)據(jù)集上不同算法的性能對(duì)比
從圖1(c)中可以看出,ILSTSVR 算法的總訓(xùn)練時(shí)間要小于IRLSTSVR 算法,而且大致呈線性增長(zhǎng)。這是由于ILSTSVR 算法每次增加樣本時(shí),僅添加核矩陣的行數(shù),每次更新的時(shí)間復(fù)雜度是固定的。相當(dāng)于每次更新僅需做2.4節(jié)所述情況2中模型解的更新部分,具體的時(shí)間復(fù)雜度為4(l1+1)2+3(l1+1),而l1是由預(yù)訓(xùn)練模型提前確定的,在增量過(guò)程中不會(huì)增長(zhǎng),因此ILSTSVR 算法的時(shí)間復(fù)雜度要小于IRLSTSVR 算法,且總訓(xùn)練時(shí)間呈線性增長(zhǎng)。而IRLSTSVR算法增加了約簡(jiǎn)過(guò)程,并且添加核矩陣列向量和行向量的時(shí)間復(fù)雜度要高于只添加行向量的時(shí)間復(fù)雜度,即2.4節(jié)中所述,情況1時(shí)的時(shí)間復(fù)雜度要高于情況2時(shí)的時(shí)間復(fù)雜度,因此本文算法的總訓(xùn)練時(shí)間要大于ILSTSVR 算法。而當(dāng)ε≠0 時(shí)模型的總訓(xùn)練時(shí)間要大于當(dāng)ε=0 時(shí),原因是模型允許誤差存在使得參與模型更新的樣本減少,由2.4 節(jié)可知,本文算法的時(shí)間復(fù)雜度由l1、l2決定,參與模型更新的樣本減少,即l2減小,總的時(shí)間復(fù)雜度也會(huì)相應(yīng)地減小,也就是說(shuō)參數(shù)ε能夠起到控制總訓(xùn)練時(shí)間的作用。
本文結(jié)合約簡(jiǎn)孿生支持向量回歸機(jī)和最小二乘孿生支持向量回歸機(jī)的思想,提出了一種增量式約簡(jiǎn)最小二乘孿生支持向量回歸機(jī)算法。該算法通過(guò)約簡(jiǎn)支持向量以及矩陣求逆引理,在不進(jìn)行矩陣求逆的前提下,獲得約簡(jiǎn)最小二乘孿生支持向量回歸機(jī)模型,實(shí)現(xiàn)了解的稀疏化以及高效增量更新。實(shí)驗(yàn)結(jié)果表明,本文算法獲得的模型和離線訓(xùn)練模型具有相近的回歸精度并且能夠獲得稀疏解,與增量式最小二乘孿生支持向量回歸機(jī)相比,泛化性能更加接近離線算法,因此本文算法具備可行性和有效性。