戴貴洋,綦秀利,余曉晗
(陸軍工程大學(xué) 指揮控制工程學(xué)院,江蘇 南京 210007)
特征選擇算法通過剔除冗余和不重要的特征,從原始特征空間中選擇出最具分辨力的特征子集,以幫助分類器提高分類精度。主流的特征選擇方法大部分是基于機(jī)器學(xué)習(xí)模型的方法,有些機(jī)器學(xué)習(xí)方法本身就具有對特征進(jìn)行打分的機(jī)制,因而很容易被運用到特征選擇任務(wù)中,如回歸模型、SVM、決策樹和隨機(jī)森林等?,F(xiàn)實生活中,特征選擇算法已經(jīng)廣泛地應(yīng)用于各個領(lǐng)域,如數(shù)據(jù)挖掘[1-3]、信息融合[4-5]、模式識別[6-8]等。
在大多數(shù)已有研究中,特征選擇算法是基于原始數(shù)據(jù)集進(jìn)行特征篩選,算法的本質(zhì)更關(guān)注數(shù)據(jù)中隱含的特征之間關(guān)系。熊熙等人[9]提出一種稱為FOAD(fuzzy-option based attribute discriminant method)的基于模糊選項關(guān)系的關(guān)鍵特征選擇方法,通過數(shù)據(jù)獲取、模糊選項的選擇與約簡以及關(guān)鍵特征的排序與提取對每個參與者樣本包含的若干特征進(jìn)行篩選,為每個特征都選擇一個程度選項,從而提取出關(guān)聯(lián)度更高的特征。孫廣路等人[10]發(fā)現(xiàn)最大信息系數(shù)(maximum information coefficient,MIC)可以對特征變量間的線性和非線性關(guān)系,以及非函數(shù)依賴關(guān)系進(jìn)行有效度量,并提出了一種評價各維特征間相關(guān)性的度量標(biāo)準(zhǔn),基于新度量標(biāo)準(zhǔn)又提出近似馬爾可夫毯特征選擇方法,刪除冗余特征。這些算法對數(shù)據(jù)集中包含的信息更為關(guān)注,然而在一些應(yīng)用中,人類專家積累了有關(guān)特征關(guān)聯(lián)關(guān)系的經(jīng)驗,這些經(jīng)驗并不一定會體現(xiàn)到數(shù)據(jù)集中,因此常常與數(shù)據(jù)集中的信息有較高的獨立性,對特征選擇幫助較大。例如,在汽油提純過程中,通過多年積累的專家經(jīng)驗可知氫油比越高,辛烷值損失越少等。這些信息無法直接由一般的特征選擇算法學(xué)習(xí)得到,因此應(yīng)用到特征選擇上時會起到意想不到的效果。由此,該文嘗試搭建一個框架將人類知識引入特征選擇任務(wù)中,從而篩選出更具代表性的關(guān)鍵特征。
在隨機(jī)森林特征選擇模型中,設(shè)計了引入人類知識提升特征選擇效果的方法,通過基于模糊系統(tǒng)對人類知識建模,建立了人類主觀知識和客觀數(shù)據(jù)集的聯(lián)系,完成了對數(shù)據(jù)集特征的二次篩選,從大量特征中更好地篩選出關(guān)鍵特征。通過實驗驗證,較單一的隨機(jī)森林特征選擇算法,該方法在關(guān)鍵特征選擇問題上具有更高的可靠性。
現(xiàn)實生活中,汽油燃燒產(chǎn)生的尾氣排放是污染大氣環(huán)境的重要因素,汽油清潔化工作長期受到各個國家的高度重視。為了有效利用重油資源,必須對催化裂化汽油進(jìn)行精制處理,以滿足對汽油質(zhì)量的要求。辛烷值(RON)是反映汽油燃燒性能的最重要指標(biāo),某石化企業(yè)積累了大量歷史數(shù)據(jù),其中對辛烷值損失和產(chǎn)品硫含量有影響的特征變量包括7個原料性質(zhì)、2個待生吸附劑性質(zhì)、2個再生吸附劑性質(zhì)、2個產(chǎn)品性質(zhì)等變量以及另外354個操作變量(共計367個特征變量)。這些特征變量中,大部分特征變量對辛烷值損失及產(chǎn)品硫含量影響較小,少量特征變量是針對催化裂化汽油進(jìn)行脫硫和降烯烴過程中的關(guān)鍵特征變量,然而,各個特征變量之間又可能相互作用,相互影響,這使得特征變量之間耦合性較高。為了工程方便,提高汽油提純工作效率,需要對367個特征變量進(jìn)行關(guān)鍵特征選擇。一般來說,常見的特征選擇算法在處理大量耦合的非線性數(shù)據(jù)中,很難選擇出少部分關(guān)鍵變量。
在汽油提純過程中,一般的特征選擇算法,如隨機(jī)森林算法通常根據(jù)決策樹的投票來選擇最優(yōu)的特征變量,每個特征都試圖代表局部最優(yōu)解,這些算法通常只關(guān)注數(shù)據(jù)集的本身,容易受到數(shù)據(jù)采樣方式的影響,從而疏漏關(guān)鍵變量。研究發(fā)現(xiàn),影響辛烷值變化除了反映在客觀數(shù)據(jù)中,還會積累到專家經(jīng)驗中,例如,氫油比含量越高,辛烷值損失越少,產(chǎn)品中硫含量越低;反應(yīng)器溫度控制在421℃左右時,辛烷值損失少,產(chǎn)品中硫含量低。這些專家經(jīng)驗往往不容易在數(shù)據(jù)采樣中被捕捉,可以作為基于數(shù)據(jù)集特征選擇算法的補(bǔ)充,提升獲取關(guān)鍵特征的精準(zhǔn)度。
像汽油提純這樣有可用專家知識的實際問題還有很多,在面臨此類問題時,也可以使用客觀數(shù)據(jù)和主觀知識相結(jié)合的方法進(jìn)行更有效的關(guān)鍵特征選擇。
本節(jié)提出了一種融合人類知識的特征選擇方法,先利用隨機(jī)森林對特征進(jìn)行初選,然后借助模糊系統(tǒng)建模人類知識實現(xiàn)特征的進(jìn)一步篩選。
在現(xiàn)有的大部分?jǐn)?shù)據(jù)集中存在大量的樣本信息,每個樣本中又有大量描述樣本的特征,這些特征之間具有高度非線性和強(qiáng)耦合的關(guān)系,特征之間相互制約,并且高維度的數(shù)據(jù)可能導(dǎo)致分類結(jié)果精確度不足,這使得在特征選擇方法上,應(yīng)該保證算法在適合處理非線性特征的基礎(chǔ)上,又可以篩選出更具影響性的關(guān)鍵特征。傳統(tǒng)的線性特征選擇方法,如主成分分析、相關(guān)性分析,無法直接用于非線性特征變量的篩選,隨機(jī)森林(random forest,RF)算法較其他特征選擇算法,在過擬合問題影響相對較小,因此選擇隨機(jī)森林算法對特征進(jìn)行初步選擇。
隨機(jī)森林算法如圖1所示。
圖1 隨機(jī)森林算法
在數(shù)據(jù)集D中隨機(jī)抽取N個子樣本集(有放回隨機(jī)抽樣選擇,迭代N次),每個子樣本集對應(yīng)一棵決策樹,每棵決策樹都是一個分類器,那么對于一個輸入樣本,N棵樹會有N個分類結(jié)果,根據(jù)每棵樹的分類結(jié)果計算所有特征得分,并給定本棵決策樹中最具影響的特征,即為本棵決策樹的投票結(jié)果。通過隨機(jī)森林集成所有決策樹的投票結(jié)果,將投票次數(shù)最多的特征輸出為關(guān)鍵特征。
具體來說,隨機(jī)森林算法流程如下:
(1)在原始數(shù)據(jù)集D中,采取有放回的抽樣方法隨機(jī)選擇N個樣本集,N個樣本集中,每個樣本集對應(yīng)一棵決策樹,由此構(gòu)建K棵決策樹,每次未被抽到的樣本組成K個袋外數(shù)據(jù)(out-of-bag,OOB)以用于之后的無偏估計。
(2)每個樣本中包含M個輸入特征,每棵樹的每個節(jié)點在M個輸入特征中隨機(jī)選取m個子特征(m?M),計算每個子特征所含的信息量,在m個特征中選擇一個最具分類能力的節(jié)點進(jìn)行分裂。
(3)按照每棵樹盡最大程度生長原則,對這棵樹進(jìn)行分枝生長,并且沒有剪枝過程,直到這棵樹可以按照制定標(biāo)準(zhǔn)分類數(shù)據(jù)集或所有屬性都被使用過。根據(jù)分類結(jié)果,每棵決策樹計算所有特征得分。
(4)將生成的多棵決策樹集成隨機(jī)森林,根據(jù)每棵樹的投票結(jié)果(決策樹最高得分特征)輸出投票最高的特征即為關(guān)鍵特征。
(5)對于由多棵決策樹構(gòu)成的隨機(jī)森林來說,就像一個黑盒子,無法控制模型內(nèi)部的運行,只能在不同的參數(shù)和隨機(jī)種子之間進(jìn)行嘗試,這會使很多相似的決策樹掩蓋了部分真實的結(jié)果,在特征選擇上可能選擇了部分非關(guān)鍵特征,對于小數(shù)據(jù)或者低維數(shù)據(jù),容易產(chǎn)生較差的分類效果。為了選擇出更優(yōu)的特征,該文融入人類專家知識對特征進(jìn)一步篩選,從而盡量多地排除非關(guān)鍵特征。
2.2.1 人類知識建模
為了對經(jīng)隨機(jī)森林算法初選的特征進(jìn)一步篩選,需要將人類專家知識融入模型。作為人類專家知識模型的代表,模糊系統(tǒng)(fuzzy system,F(xiàn)S)[12]可以將輸入、輸出和狀態(tài)變量定義在模糊集上,模糊系統(tǒng)抓住了人腦思維的模糊性特點,模仿人的綜合推斷來處理常規(guī)數(shù)學(xué)方法難以解決的模糊信息處理問題,較好地解決非線性問題。該文采用Mamdani型模糊系統(tǒng)[13]作為關(guān)鍵特征篩選的人類知識模型。Mamdani型模糊系統(tǒng)結(jié)構(gòu)如圖2所示,由模糊器、知識庫、推理機(jī)和解模糊器四部分構(gòu)成。
圖2 模糊系統(tǒng)框架
首先模糊器將輸入x模糊化成模糊集,然后推理機(jī)基于知識庫對這些模糊集進(jìn)行推理,最后解模糊器將推導(dǎo)出的模糊集轉(zhuǎn)換為輸出y。知識庫是模糊系統(tǒng)的核心部分,主要包含數(shù)據(jù)庫(data base,DB)和規(guī)則庫(rule base,RB),其中DB包含語言規(guī)則中考慮的語言術(shù)語集和定義語言標(biāo)簽語義的隸屬函數(shù),RB由IF-THEN形式的規(guī)則組成[14]。組成Mamdani型模糊系統(tǒng)規(guī)則庫的規(guī)則形式如下:
在模糊系統(tǒng)中,模糊規(guī)則是專家根據(jù)數(shù)據(jù)集中的人類知識搭建的推理方式,它可以基于初步選擇的特征變量,并通過模糊系統(tǒng)推理給定初步選擇特征中每個特征的最終得分。汽油提純問題中,其核心目的在于改變其他特征變量(如氫油比、反應(yīng)器上部溫度、反應(yīng)器底部壓力等)可使產(chǎn)品較少提高硫含量的同時更高降低辛烷值損失。以氫油比特征變量為例,可以根據(jù)專家知識給出如下模糊規(guī)則以篩選關(guān)鍵特征變量:
如果氫油比是高,辛烷值損失是高,那么氫油比的影響因素高。
如果氫油比是低,辛烷值損失是高,那么氫油比的影響因素低。
如果氫油比是高,辛烷值損失是低,那么氫油比的影響因素低。
如果氫油比是低,辛烷值損失是低,那么氫油比的影響因素高。
這里,模糊系統(tǒng)的輸出會給定此特征變量在汽油提存問題中的影響效果得分。一般情況下,模糊變量對應(yīng)的隸屬度函數(shù)由專家直接給出標(biāo)準(zhǔn)隸屬度函數(shù),其論域取值為0~1之間。
同樣的,針對同時與產(chǎn)品硫含量和辛烷值損失有關(guān)的特征,仍然可以搭建類似模糊系統(tǒng)評判特征變量的影響效果,例如搭建模糊規(guī)則如下(以氫油比、產(chǎn)品硫含量和辛烷值損失三個模糊變量中的一條規(guī)則為例):
數(shù)據(jù)可視化的基本思想,是將數(shù)據(jù)庫中的每一個數(shù)據(jù)項看作是一個獨立的圖形元素,從而將大量的數(shù)據(jù)集合構(gòu)成圖像,使得用戶可以發(fā)現(xiàn)隱藏在數(shù)據(jù)背后的信息并可進(jìn)行交互式處理的方法、理論和技術(shù)。從而將復(fù)雜的數(shù)據(jù)信息得以更加直觀地表達(dá)出來。
如果氫油比是高,產(chǎn)品硫含量是高,辛烷值損失是高,那么氫油比的影響因素高。
模糊系統(tǒng)可以利用大量人類知識進(jìn)行建模,從而使用人類知識指導(dǎo)特征變量的篩選,接下來將描述如何搭建合適的模糊系統(tǒng)對特征進(jìn)一步篩選。
2.2.2 融合人類知識的隨機(jī)森林特征提取方法
為了更好地排除非關(guān)鍵屬性帶來的影響,將人類知識引入隨機(jī)森林特征選擇中,搭建一個良好的模糊系統(tǒng),有效地在特征初選之后進(jìn)一步篩選出關(guān)鍵特征,也就是將隨機(jī)森林算法和模糊系統(tǒng)進(jìn)行融合。融合人類知識的隨機(jī)森林特征提取方法流程如圖3所示。
圖3 融合人類知識的隨機(jī)森林特征提取方法流程
由于原始數(shù)據(jù)中大部分特征變量數(shù)據(jù)正常,但數(shù)據(jù)集中少量數(shù)據(jù)可能出現(xiàn)數(shù)據(jù)不完整、數(shù)據(jù)缺失等問題,需要對原始數(shù)據(jù)進(jìn)行數(shù)據(jù)處理才能使用,因此,首先需要對原始數(shù)據(jù)進(jìn)行預(yù)處理。面對特征數(shù)據(jù)過量冗余的原始特征,隨機(jī)森林算法中的N棵決策樹對輸入的原始特征進(jìn)行投票,經(jīng)過n次迭代給出n個初步篩選后的特征。根據(jù)n個初步選擇的特征變量分別搭建模糊系統(tǒng),將人類專家知識指導(dǎo)特征變量的進(jìn)一步選擇,同樣以汽油提純問題中的氫油比特征變量的模糊規(guī)則為例:
如果氫油比是高,辛烷值損失是高,那么氫油比的影響因素高。
這里將氫油比特征在汽油提純中的影響效果通過人類專家知識進(jìn)行建模,如果許多數(shù)據(jù)樣本都體現(xiàn)出“氫油比高則辛烷值損失就高”的規(guī)律,那么氫油比這個特征的影響因素就相應(yīng)很高,相反樣本不能體現(xiàn)這個規(guī)則,氫油比特征就沒有那么重要。將數(shù)據(jù)樣本輸入到所有模糊系統(tǒng)中就能確定每個特征的影響因素得分,根據(jù)排名,取其前m個特征變量作為最終的關(guān)鍵特征。
接下來設(shè)計實驗驗證融合人類知識的隨機(jī)森林特征提取模型的有效性。
原始數(shù)據(jù)采集來自于中石化高橋石化實時數(shù)據(jù)庫(霍尼韋爾PHD)及LIMS實驗數(shù)據(jù)庫。其中操作變量數(shù)據(jù)來自于實時數(shù)據(jù)庫,采集時間為2017年4月至2020年5月,采集操作位點數(shù)共354個。2017年4月至2019年9月,數(shù)據(jù)采集頻次為每3分鐘1次;2019年10月至2020年5月,數(shù)據(jù)采集頻次為每6分鐘1次。原料、產(chǎn)品和催化劑數(shù)據(jù)來自于LIMS實驗數(shù)據(jù)庫,數(shù)據(jù)時間范圍為2017年4月至2020年5月。其中原料及產(chǎn)品的辛烷值是重要的建模變量,該數(shù)據(jù)采集頻次為每周2次。依據(jù)從催化裂化汽油精制裝置采集的325個數(shù)據(jù)樣本(每個數(shù)據(jù)樣本都有354個特征變量),通過選擇關(guān)鍵特征建立汽油辛烷值(RON)損失的預(yù)測模型,并根據(jù)模型預(yù)測驗證該融合人類知識的隨機(jī)森林特征提取方法的有效性。
原始數(shù)據(jù)中,大部分變量數(shù)據(jù)正常,但每套裝置的數(shù)據(jù)均有部分位點存在問題:部分變量只含有部分時間段的數(shù)據(jù),部分變量的數(shù)據(jù)全部為空值或部分?jǐn)?shù)據(jù)為空值。因此對原始數(shù)據(jù)進(jìn)行處理后才可以使用。數(shù)據(jù)處理方法如下:
(1)對于只含有部分時間點的位點,如果其殘缺數(shù)據(jù)較多,無法補(bǔ)充,將此類位點刪除;
(2)刪除325個樣本中數(shù)據(jù)全部為空值的位點;
(3)對于部分?jǐn)?shù)據(jù)為空值的位點,空值處用其前后兩個小時數(shù)據(jù)的平均值代替;
(4)根據(jù)工藝要求與操作經(jīng)驗,總結(jié)出原始數(shù)據(jù)變量的操作范圍,然后采用最大最小的限幅方法剔除一部分不在此范圍的樣本;
(5)根據(jù)拉依達(dá)準(zhǔn)則(3σ準(zhǔn)則)去除異常值。
3σ準(zhǔn)則:設(shè)對被測量變量進(jìn)行等精度測量,得到x1,x2,…,xn,算出其算術(shù)平均值x及剩余誤差vi=xi-x(i=1,2,…,n),并按貝塞爾公式算出標(biāo)準(zhǔn)誤差σ,若某個測量值xb的剩余誤差vb(1≤b≤n),滿足|vb|=|xb-x|>3σ,則認(rèn)為xb是含有較大誤差值的壞值,應(yīng)予剔除。貝塞爾公式如下:
實驗中,在保證汽油產(chǎn)品脫硫效果(歐六和國六標(biāo)準(zhǔn)均為不大于10 μg/g,但為了給企業(yè)裝置操作留有空間,要求產(chǎn)品硫含量不大于5 μg/g)的前提下,盡量降低汽油辛烷值損失在30%以上,針對此問題搭建融合人類知識的隨機(jī)森林二元回歸模型。
基于訓(xùn)練好的隨機(jī)森林特征選擇方法算出每一個特征的重要性得分,并對這些特征進(jìn)行排序,在所有特征中初選出重要性得分排名前30的特征。這里,將隨機(jī)森林算法中子決策樹個數(shù)設(shè)置為81,最大特征數(shù)設(shè)置為6。隨機(jī)森林算法篩選的30個特征如下:
辛烷值RON、精制汽油出裝置硫含量、混氫點氫氣流量、D-113頂放空線流量、ME-115過濾器壓差、D-124壓力、ME-103反吹氣總管壓力、煙氣出輻射室溫度、R-102底噴頭壓差、D121液面、D-124液位、S_ZORB AT-0004、D104液面、D-107下部松動風(fēng)流量、R102轉(zhuǎn)劑線壓差、反吹氫氣壓力、R-102床層吸附劑料位密度、D-110底部、D-107底壓力、加熱爐氧含量、R-102下部壓力、氫油比、D-202液位、P-101A入口過濾器差壓、精制汽油出裝置溫度、穩(wěn)定塔頂回流流量、D-201含硫污水液位、芳烴、D-110蒸汽盤管入口流量、D-201含硫污水排量。
通過專家知識經(jīng)驗對變量進(jìn)一步篩選是關(guān)鍵步驟,為了同時滿足汽油辛烷值損失在30%以上,且產(chǎn)品硫含量不大于5 μg/g,搭建如表1所示的模糊系統(tǒng)(以氫油比特征變量為例)。
表1 滿足辛烷值損失和硫含量條件下對關(guān)鍵變量提取的模糊系統(tǒng)
這里,由隨機(jī)森林給定的30個特征變量,分別由專家給出對應(yīng)的30個模糊系統(tǒng),經(jīng)過模糊系統(tǒng)給定30個特征變量最后得分,取其排名前19的關(guān)鍵特征變量,即最終關(guān)鍵特征變量,如表2所示。
表2 融合人類知識的關(guān)鍵變量提取
在模型預(yù)測過程中,分別選用訓(xùn)練好的隨機(jī)森林回歸[15]、K近鄰回歸[16]和線性回歸[17]三種方法來驗證通過融合人類知識的隨機(jī)森林算法在關(guān)鍵特征提取中的有效性。
為了能夠通過降低模型在一次數(shù)據(jù)分割中性能表現(xiàn)上的方差來保證模型性能的穩(wěn)定性,并且可以用于選擇調(diào)節(jié)參數(shù),比較模型性能差別,該文采用十折交叉驗證方法將所有數(shù)據(jù)切分成10個子樣本,每個子樣本輪流作為測試集,其他9個樣本作為訓(xùn)練集,重復(fù)10次,將10個結(jié)果進(jìn)行平均最終得到一個單一的估計值,實驗結(jié)果如表3所示。
表3 實驗結(jié)果
由表3可以看出,在未經(jīng)過特征選擇任務(wù)中,隨機(jī)森林回歸算法、K近鄰回歸算法和線性回歸算法的表現(xiàn)得分偏低,K近鄰回歸算法得分甚至出現(xiàn)負(fù)數(shù),但隨機(jī)森林回歸算法較比其他兩種回歸算法表現(xiàn)較優(yōu),這說明隨機(jī)森林回歸算法在處理過度冗余的數(shù)據(jù)中有較好表現(xiàn)。經(jīng)過隨機(jī)森林初步選擇之后的30個特征,在三種回歸算法中的表現(xiàn)均有一定的提高,其中,K近鄰回歸算法在初步篩選之后的特征中有較大的提升。將人類專家知識融入到隨機(jī)森林特征選擇后篩選出的19個關(guān)鍵特征中,在通過融合人類知識的隨機(jī)森林算法提取的關(guān)鍵特征上的表現(xiàn)得分和經(jīng)過隨機(jī)森林初步特征選擇的表現(xiàn)得分對比,可以看出三種回歸算法性能有明顯增強(qiáng),且較未經(jīng)過特征選擇的原始特征上,三種回歸算法表現(xiàn)得分顯著提高。表明了人類專家知識在特征變量選擇上的重要性,同時也證明了融合人類專家知識的隨機(jī)森林算法在特征選擇上較比單一的隨機(jī)森林特征選擇方法更優(yōu)。
模式識別和數(shù)據(jù)挖掘中的一個重要問題是使用特征選擇或特征提取進(jìn)行降維,特別是在信息爆炸式增長的情況下,更需要降維處理。該文提出了一種新的特征選擇方法,基于模糊系統(tǒng)建模,將人類專家知識整合到基于隨機(jī)森林的特征選擇方法中。通過隨機(jī)森林算法對特征初步提取后,利用人類專家知識再對特征進(jìn)一步篩選,從而得到關(guān)鍵特征。最后,通過與其他相關(guān)回歸算法的比較,驗證了該方法在真實數(shù)據(jù)集上具有更好的效果。通過這些研究和實驗,證明了融合人類知識的隨機(jī)森林特征選擇方法在降維問題中的有效性。