賀忠海,曹功偉,賈 瓊,張曉芳
(1.東北大學(xué)秦皇島分校 控制工程學(xué)院,河北 秦皇島 066004;2.河北省微納傳感重點(diǎn)實(shí)驗(yàn)室,河北 秦皇島 066004;3.北京理工大學(xué) 光電學(xué)院,北京 100081)
紅外光譜測(cè)量數(shù)據(jù)必須與多元回歸模型結(jié)合才能得到被測(cè)物濃度,在建立模型過(guò)程中需要采集一定數(shù)量的樣本才能進(jìn)行,從而提出了模型應(yīng)用域(Application domain)[1]的概念,即用于預(yù)測(cè)的新樣本必須位于建模過(guò)程中所用的標(biāo)定舊樣本的區(qū)間內(nèi)才能得到正確的預(yù)測(cè)結(jié)果[2]。如果新樣本超出應(yīng)用域,需對(duì)模型進(jìn)行更新才能適用于新樣本[3]。此時(shí),舊樣本中雖有部分信息發(fā)生改變,但仍有很多信息具有利用價(jià)值,因而建立包含新的化學(xué)或儀器變化的額外標(biāo)定樣本的新模型即可適用于新環(huán)境,無(wú)需丟棄所有舊樣本重新建模[4]。
當(dāng)檢測(cè)到新穎樣本,通常希望盡快更新模型以使模型能適應(yīng)新變化,但此時(shí)新樣本的量通常占比較少,其新特性無(wú)法很快體現(xiàn)在模型中。為解決此問(wèn)題,Stork 和Kowalski[5]提出了一種基于杠桿值的準(zhǔn)則為新樣本賦予合適的權(quán)重,以改善新舊樣本間的不平衡。Capron和Walczak[6]發(fā)現(xiàn)選擇有代表性的新樣本有利于模型更新。由于模型更新的加權(quán)方法等同于對(duì)樣本進(jìn)行多次重復(fù)采樣,導(dǎo)致樣本中包含的噪聲也被重復(fù)和放大,從而導(dǎo)致樣本集中的噪聲分布不再符合正態(tài)分布,影響建模效果。隨著正則化技術(shù)的廣泛應(yīng)用,出現(xiàn)了把新樣本預(yù)測(cè)誤差作為正則化項(xiàng)進(jìn)行優(yōu)化的模型更新方法[7-8],其本質(zhì)等同于新樣本加權(quán)。
為進(jìn)一步加快模型對(duì)新環(huán)境的適應(yīng),需對(duì)舊樣本進(jìn)行選擇以減少舊樣本的數(shù)量。如無(wú)監(jiān)督方法KS方法[9]、有監(jiān)督選擇方法SPXY[10]、基于基準(zhǔn)值選擇(YR)[11],以及基于主動(dòng)學(xué)習(xí)的樣本選擇方法[12]。但這種距離最大化的選擇方法并不能保證所選擇的樣本有最大的模型貢獻(xiàn)度?,F(xiàn)有的對(duì)設(shè)計(jì)矩陣(自變量矩陣X)進(jìn)行選擇的工作通常以波長(zhǎng)作為自變量,也誕生了很多依據(jù)自變量系數(shù)進(jìn)行變量選擇的方法[13],但此類方法無(wú)法判斷每個(gè)樣本對(duì)建模的貢獻(xiàn)。要判斷各樣本對(duì)建模的貢獻(xiàn)度,仍 需尋找按樣本分配回歸權(quán)重的方法。
本文基于核函數(shù)系數(shù),其中樣本對(duì)應(yīng)核函數(shù)系數(shù)的絕對(duì)值越大則樣本越重要。通過(guò)在全部舊樣本中選擇部分系數(shù)絕對(duì)值大的樣本,在選擇部分舊樣本基礎(chǔ)上加入新樣本。這種樣本選擇方法既考慮了特定分析物,又充分提取了舊樣本包含的有用信息。通過(guò)將新舊樣本組成混合的訓(xùn)練集,重新建立更新后的模型,從而快速獲得所需實(shí)驗(yàn)結(jié)果。
現(xiàn)有的建模方法可以分為兩大類,基于非相似性的建模(例如多元線性回歸(MLR)、PLS 等)和基于相似性的建模(例如k近鄰、支持向量機(jī)(SVM))。在通常的應(yīng)用中,兩類模型有不同的計(jì)算方法。非相似性方法(以PLS 為代表)的目的是找到每個(gè)變量對(duì)應(yīng)的回歸系數(shù),相似性方法(以SVM 為代表)的目的是找到每個(gè)支持向量(部分樣本)的權(quán)重。兩類方法分別對(duì)應(yīng)于建立以變量為基的模型和以樣本為基的模型,也就是分別對(duì)設(shè)計(jì)矩陣(自變量空間X)進(jìn)行針對(duì)列的變換和針對(duì)行的變換。由于根本處理對(duì)象的不同(行或列),雖然二者具有相同的優(yōu)化目標(biāo)函數(shù),但兩種方法并無(wú)共用的案例。
PLS中x和y之間的關(guān)系是線性關(guān)系,目標(biāo)函數(shù)可表示為[14]:
核模型是以訓(xùn)練樣本為基,基于待測(cè)樣本與訓(xùn)練樣本相似性建立的回歸模型。用n個(gè)樣本構(gòu)成的核模型如式(3)所示:
將訓(xùn)練樣本xi代入式(3)可得其預(yù)測(cè)值,則n個(gè)樣本的預(yù)測(cè)值y?=Kθ,式中K為將n個(gè)訓(xùn)練樣本代入核函數(shù)求得的核矩陣:
核模型的θ值可通過(guò)最小化求得 ,即θ=K+y,式中K+為核矩陣的偽逆,通過(guò)奇異值分解(SVD)得到,y為n個(gè)訓(xùn)練樣本的標(biāo)定值。
PLS與核模型是從不同角度建立的回歸模型,在機(jī)器學(xué)習(xí)中任何統(tǒng)計(jì)模型均可表示如下[15]:
PLS 和核模型的建模方法等價(jià)。從而將基于非相似性的PLS 建模方法和基于相似性的核建模方法統(tǒng)一,用兩種方法建立的擬合函數(shù)是同一個(gè)回歸模型。基于這樣的統(tǒng)一,即可利用標(biāo)定樣本前的系數(shù)θi確定每個(gè)樣本的重要程度,從而克服PLS 無(wú)法對(duì)樣本重要性進(jìn)行判斷的缺點(diǎn),同時(shí)保留PLS 模型易計(jì)算的優(yōu)點(diǎn)。因此,基于相似性建模的核模型系數(shù)選擇的重要樣本,同樣也是基于非相似性建模的PLS模型的重要樣本,利用核系數(shù)選擇的重要舊樣本可用于PLS模型的更新。
選擇部分舊樣本用于模型更新的方法包括兩個(gè)步驟:(1)所有舊樣本建立一個(gè)高斯核模型,利用每個(gè)樣本對(duì)應(yīng)的核函數(shù)系數(shù)確定樣本的重要程度和選擇部分舊樣本,這種樣本選擇方法稱為核系數(shù)選擇(Kernel Coefficient Selection,KCS);(2)在選擇的部分舊樣本基礎(chǔ)上加入新樣本更新PLS 模型。模型更新方法的流程圖如圖1所示[16-18]。
為驗(yàn)證本文選擇樣本方法的有效性,分別設(shè)計(jì)在模擬數(shù)據(jù)集和真實(shí)數(shù)據(jù)集上進(jìn)行樣本選擇后更新模型。常見(jiàn)的數(shù)據(jù)偏移類型有協(xié)變量偏移、條件偏移和先驗(yàn)偏移3種[19]。本實(shí)驗(yàn)采用模擬光譜驗(yàn)證條件偏移的情況,采用實(shí)際數(shù)據(jù)驗(yàn)證先驗(yàn)偏移的情況。
光譜的吸收峰用正態(tài)概率密度函數(shù)代表,不同位置處的峰代表不同的成分。通過(guò)對(duì)舊樣本中添加新成分產(chǎn)生條件偏移性質(zhì)的光譜。新舊樣本的模擬光譜分別表示如下:
表1 新舊樣本集的參數(shù)值Table 1 Parameter values of the old and new sample sets
共模擬了200個(gè)舊樣本和150個(gè)新樣本,不同類型的光譜如圖2所示。從圖2可看出舊樣本與新樣本光譜有明顯差異,在加入新成分后新樣本的光譜多了1個(gè)特征峰。
圖2 不同樣品數(shù)據(jù)集的光譜圖Fig.2 Spectra of the simulated data with different samples
為驗(yàn)證所提方法的性能,在豆粕數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)研究。以2021年收集的200個(gè)樣本作為舊樣本,2 0 2 2年收集的1 5 0個(gè)樣本作為新樣本,總共收集了3 5 0個(gè)豆粕樣本,使用二極管陣列分析儀在9 5 0 ~1 650 nm 的近紅外區(qū)域以5 nm 的增量通過(guò)反射進(jìn)行測(cè)量。采用蛋白質(zhì)作為特定分析物建模,采用GB 5009.5-2010中規(guī)定的凱氏定氮法[20]對(duì)其含量測(cè)量,儀器為NYK6160分析儀(上海億宏分析儀器有限公司)。豆粕數(shù)據(jù)集的可視化如圖3 所示。從圖3A 可以看出舊樣本與新樣本間的光譜差異較大,圖3B 顯示舊樣本和新樣本的蛋白質(zhì)濃度(Y)分布不同。
圖3 真實(shí)數(shù)據(jù)集的光譜(A)和蛋白質(zhì)濃度(B)分布Fig.3 Spectra(A) and protein concentration(B) distributions of the real data
從200個(gè)舊樣本中隨機(jī)挑選60個(gè)樣本作為舊樣本的驗(yàn)證集,剩下140個(gè)樣本作為校正集。從150個(gè)新樣本中隨機(jī)挑選45 個(gè)樣本作為新樣本的驗(yàn)證集,剩下105 個(gè)樣本作為模型更新時(shí)新樣本的候選集。分別用RS、KS、KCS在全部校正集里選出部分校正集建立模型并用全部校正集(TOTAL)建立模型,在舊樣本的驗(yàn)證集上測(cè)試以評(píng)估RS、KS、KCS選擇樣本的性能。
用標(biāo)準(zhǔn)差(SD)反映不同樣本集含信息量的多少,SD越大的樣本集包含的信息越多。預(yù)測(cè)均方根誤差(RMSEP)則作為模型的評(píng)價(jià)指標(biāo)用于比較所建模型的預(yù)測(cè)效果,為進(jìn)一步評(píng)價(jià)不同方法選擇樣本的建模效率,提出了預(yù)測(cè)均方根誤差的相對(duì)偏差:
式中,I表示RS、KS、KCS樣本選擇方法,rI值越小表明該方法選用部分訓(xùn)練集建立的模型預(yù)測(cè)精度與全部訓(xùn)練集建立的模型預(yù)測(cè)精度越接近。
使用軟件MATLAB R2018a在計(jì)算機(jī)上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)所用的數(shù)據(jù)集和利用核系數(shù)選擇部分舊樣本的程序可在Github(https://github.com/nandemihu/KCS.git)上獲得。
表2列出了全部校正集和選擇50個(gè)校正樣本分別建立模型,用舊樣本驗(yàn)證集進(jìn)行測(cè)試的實(shí)驗(yàn)結(jié)果??梢钥闯鋈啃U⒛P偷念A(yù)測(cè)均方根誤差最小,這是由于全部校正集包含的有用信息最多。KCS 法選擇部分校正集的SD 值接近全部校正集的SD 值,表明能夠包含全部校正集里的大部分有用信息,KCS法選擇部分校正集的RMSEP 與全部校正集的RMSEP 的相對(duì)偏差(rI)最小,表明模型的預(yù)測(cè)精度接近。因此采用KCS法選擇部分校正集用于后續(xù)的模型更新。
表2 未加入新樣本時(shí)部分校正集或全部校正集的建模預(yù)測(cè)結(jié)果Table 2 Modeling predictions for part or all of the correction set when no new samples are added
圖4 顯示了KCS 選擇部分校正集和全部校正集的基礎(chǔ)上逐步添加新樣本進(jìn)行模型更新后,對(duì)新樣本驗(yàn)證集的預(yù)測(cè)結(jié)果。結(jié)果顯示,隨著新樣本的加入,新樣本在校正集中的比例越來(lái)越大,RMSEP不斷下降。其中TOTAL的RMSEP的下降速度慢于KCS,這是由于使用全部校正集用于模型更新可減弱新樣本對(duì)模型的影響,而選擇一部分校正集用于模型更新可使新樣本占有更大的比重,有利于加快模型更新的速度。表3列出了模型更新前和加入20個(gè)新樣本更新后對(duì)新樣本驗(yàn)證集的RMSEP,可看出模型更新后的預(yù)測(cè)精度大幅提高,且用KCS 選擇部分校正集后加入新樣本更新后,模型精度提高更加顯著。
表3 模型更新前后對(duì)新樣本驗(yàn)證集的預(yù)測(cè)結(jié)果Table 3 Prediction results of the new sample validation set before and after the model update
圖5 顯示了在KCS 選擇部分校正集和全部校正集的基礎(chǔ)上逐步添加新樣本進(jìn)行模型更新后,對(duì)舊樣本驗(yàn)證集的預(yù)測(cè)結(jié)果,可以看出隨著新樣本的加入,RMSEP 上升的比較平緩。表4 列出了模型更新前和加入20個(gè)新樣本更新后對(duì)舊樣本驗(yàn)證集的RMSEP,可看出模型更新后對(duì)舊樣本驗(yàn)證集的預(yù)測(cè)精度有所下降,但仍有較強(qiáng)的預(yù)測(cè)能力,說(shuō)明模型更新后對(duì)舊樣本的預(yù)測(cè)能力影響較小。
表4 模型更新前后對(duì)舊樣本驗(yàn)證集的預(yù)測(cè)結(jié)果Table 4 Prediction results of the old sample validation set before and after the model update
圖5 逐步更新模型后對(duì)舊樣本驗(yàn)證集的結(jié)果Fig.5 The results of the validation set on a old samples after the model is gradually updated
為解決模型更新中大量舊樣本和少量新樣本不能快速更新PLS 模型的問(wèn)題,本文提出了一種基于高斯核系數(shù)的樣本選擇方法,用舊的校正集建立高斯核模型,再將每個(gè)樣本所對(duì)應(yīng)的高斯函數(shù)系數(shù)的絕對(duì)值從大到小排序,將排序靠前的部分校正集用于后續(xù)的模型更新。在部分校正集的基礎(chǔ)上加入新樣本重新訓(xùn)練模型,采用模擬數(shù)據(jù)集和真實(shí)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。用 KCS 選擇部分校正集建立模型與RS、KS、TOTAL 進(jìn)行對(duì)比實(shí)驗(yàn),驗(yàn)證了KCS 選擇的部分校正集的建模效果好、樣本選擇代表性強(qiáng)。再將KCS選擇的部分校正集用于模型更新,結(jié)果顯示,RMSEP 下降快,預(yù)測(cè)精度高。用更新后的模型預(yù)測(cè)舊樣本的驗(yàn)證集仍可保持較好的預(yù)測(cè)精度。因此,這種基于高斯核系數(shù)的樣本選擇算法可用于大量的舊樣本里選擇部分舊樣本更新,使模型快速地適應(yīng)新環(huán)境。