趙永翼, 申 瑩, 王 菲
(沈陽師范大學 軟件學院, 沈陽 110034)
白云鄂博西礦地處內(nèi)蒙古境內(nèi),整個礦體長約10 km,寬約2 km。因為礦體分布面積比較大,礦石數(shù)量多,并且局部因外力影響礦石礦物的組成結(jié)構(gòu)變得復雜,致使礦體不同部位形成不同的元素。而不同的元素導致生成的礦物組合及礦石類型不同。白云鄂博西礦礦石在選礦的過程中,有些巖石的選礦效果較差,回收率極低,一般不能為工業(yè)利用,本文主要使用CART算法進行智能識別白云鄂博西礦礦石可以被工業(yè)利用的礦石和不能被工業(yè)利用的礦石。
在礦石礦物鑒定中,一般使用構(gòu)成礦石的成分含量對礦石礦物進行識別分類[1]。一般礦石鑒定分為2種,一種是地質(zhì)工作者在采集礦石礦物時進行人眼的初步判斷[2],根據(jù)礦石礦物的外形和物理性質(zhì)進行判別。一種是在室內(nèi)環(huán)境下運用儀器分析礦石礦物成分類別,有偏光顯微鏡鑒定法和化學分析法等多種方法[3]。查清礦石礦物類別對選礦有重大指導意義[4]。
近些年來國內(nèi)相關(guān)學者對于使用數(shù)據(jù)挖掘技術(shù)來輔助地質(zhì)學發(fā)展,展開了大量的研究工作。2017年周永章教授及黎培興教授發(fā)表文章《礦床大數(shù)據(jù)及智能礦床模型研究背景與進展》詳細寫出大數(shù)據(jù)與地質(zhì)礦床之間的聯(lián)系以及使用貝葉斯網(wǎng)絡進行建模解決地質(zhì)學中所遇到的問題[5]。2018年周永章教授等[6-8]繼續(xù)深入研究大數(shù)據(jù)與地質(zhì)學基于TensorFlow,以吉林夾皮溝金礦和河北石湖金礦的黃鐵礦、黃銅礦、方鉛礦、閃鋅礦等硫化物礦物為例,使用卷積神經(jīng)網(wǎng)絡模型實現(xiàn)礦物智能識別。
在傳統(tǒng)的決策樹算法中,ID3算法比較適合處理離散值。ID3算法采用信息增益值最大的特征作為根節(jié)點,是一種自頂向下進行搜索的算法模型[9];而C4.5算法基于ID3算法的功能并且做了功能拓展,C4.5算法能夠處理連續(xù)值,并且C4.5算法通過信息增益率選擇屬性,可以消除信息增益指標導致的問題[10]。但C4.5算法的功能也有不足之處,C4.5算法遇到連續(xù)屬性要進行多次的順序掃描和排序,生成多叉樹的效率不高。并且C4.5算法生成的決策樹模型復雜度過大,還會出現(xiàn)過度擬合的情況,導致決策樹生成規(guī)則難以理解。CART算法是由Breiman等在1984年提出的[11],其目的是構(gòu)造1個有效的算法,從觀測的訓練樣本中得到分段常數(shù)或回歸函數(shù)的分類器。CART算法是數(shù)據(jù)挖掘中經(jīng)常使用的一種可以進行分類及預測的算法,CART算法同神經(jīng)網(wǎng)絡算法相比最大的優(yōu)勢是收斂速度快,使用CART算法可以從搜集到的數(shù)據(jù)中挖掘出使用者想要的相關(guān)規(guī)則集合,達到數(shù)據(jù)挖掘的目的[12]。并且CART算法計算的復雜度較低,具有較快速度的收斂。
與其他算法相比,CART算法的優(yōu)勢在于:
1) 二叉樹模型的運算效率高;
2) 精確度往往高于多叉樹;
3) 二叉樹模型簡單,生成的規(guī)則易于理解。
由此本文得到啟發(fā)在《基于深度學習的鏡下礦石礦物的智能識別實驗研究》的基礎(chǔ)上,提出使用CART算法進行礦石礦物識別研究。
本文的目標是實現(xiàn)礦石礦物質(zhì)的智能識別。通過構(gòu)成礦石的成分含量對礦石礦物進行識別分類。2002 DT/T 0200-2002《鐵錳鉻礦地質(zhì)勘查規(guī)范》所規(guī)定鐵礦一般工業(yè)指標主要是礦石中的工業(yè)品位全鐵(TFe)含量的數(shù)值進行判斷工業(yè)可用礦石礦物標準。但礦石的組成成分具有多樣性,根據(jù)相關(guān)地質(zhì)勘查規(guī)范的規(guī)定遇到礦石成分復雜的情況時采用磁鐵(MFe)占全鐵比例為磁性鐵含量(MFe/TFe)%,全鐵(TFe)與氧化鐵(FeO)含量比值氧化鐵率(TFe/FeO)%,以及礦石中硅酸鐵(siFe)、硫化鐵(sFe)和碳酸鐵(cFe)的質(zhì)量分數(shù)大于3%時,或者三者之和大于3%時,根據(jù)磁性率W(MFe)/W(TFe-siFe-sFe-cFe)進行分類。由此提取出智能識別白云鄂博西礦礦石可以進行工業(yè)利用的礦石和不能被工業(yè)利用的礦石的特征為:TFe占比率、磁性鐵含量、氧化鐵率和磁性率。
使用CART算法進行礦石礦物識別主要包括數(shù)據(jù)預處理、數(shù)據(jù)建模、數(shù)據(jù)訓練、模型評價等環(huán)節(jié), 圖1為礦石礦物識別判別過程圖。 建立樣本數(shù)據(jù)時, 使用PU學習算法[13], PU學習算法在只有少量標注的正向樣本和大量未標注樣本的數(shù)據(jù)中可以獲得負向樣本。 本文使用PU學習算法獲取樣本數(shù)據(jù)。
圖1礦石礦物識別判別過程
Fig.1Flow chart of ore mineral identification
礦物礦石的取值范圍具有數(shù)值不整齊等特點,因此在預處理過程中需要對數(shù)據(jù)進行數(shù)據(jù)變換。數(shù)據(jù)規(guī)范化處理主要有以下3種:
1) 最小-最大規(guī)范化。最小-最大規(guī)范化是對原始數(shù)據(jù)的線性變換,將數(shù)值的值映射到[0,1]之間如式(1):
2) z-score。z-score規(guī)范化也稱標準差規(guī)范化,經(jīng)過處理的數(shù)據(jù)均值為0,方差為1。是目前最為常用的規(guī)范化方法如式(2):
式中σ為標準差。
3) 小數(shù)定標規(guī)范化。通過移動屬性值的小數(shù)點,將屬性值映射到[-1,1]之間,移動的小數(shù)點位數(shù)取決于屬性值絕對值的最大值如式(3):
根據(jù)PU學習算法集合劃分,將數(shù)據(jù)組成正例樣本集合P,未標記文本組成集合U,負例文本為RN。對RN的選取,從正例集合P中隨機選取15%的樣本作為“間諜”組成集合S。將集合S加入到集合U中。使用迭代方式,每次構(gòu)建分類器,對U中的正例樣本S進行判別。本實驗使用SVM分類器對U進行分類,計算U中每個樣本屬于正樣本的后驗概率,即式(4)。
公式(4)中進行迭代概率計算,從0到1以0.1為步長逐步提升作為候選閾值。以候選閾值設(shè)置正負樣本,概率小于閾值的樣本即為負樣本,概率大于閾值的樣本即為正樣本。當所有負樣本都不包含任何S中的樣本,則當前所劃分的負樣本集合即為可信負樣本集合RN,當前候選閾值即為概率閾值。構(gòu)建可信負樣本RN選擇算法如算法1所示。
算法1:
S=Sample(P,15%);
U=US;
P=P-S;
P標簽標記為1;
U標簽標記為0;
SVM分類器進行分類;
U中樣本進行分類;
通過S確定高概率閾值t;
通過RN和U構(gòu)建SVM分類器重復以上步驟直至RN不變。
重復該過程設(shè)置P(包括間諜樣本S)為正,而可靠的負樣本集合(RN)設(shè)置為負,構(gòu)建分類器在Q集合中進一步測試從Q中提取可靠的負樣本集。以上過程重復直到Q集中無樣本歸類為負。最終分類器構(gòu)建如算法2所示。
算法2:
P標簽標記為1;
RN標簽標記為-1;
i=1;
LOOP;
通過P和RN構(gòu)建分類器S;
用S對Q進行分類;
集合Q中分類為負的樣本構(gòu)建W;
IfWthen exit-loop;
ElseQ=Q-W,RN=RN∪W;
i=i+1。
CART算法是一種二叉樹形式的算法,CART通過構(gòu)造樹形結(jié)構(gòu),確定樣本分類規(guī)則。CART分類樹算法對連續(xù)值的處理,思想和C4.5相同,都是將連續(xù)的特征離散化。唯一區(qū)別在選擇劃分點時,C4.5是信息增益比,CART是基尼系數(shù)。選擇基尼系數(shù)最小的點為該連續(xù)特征的二元離散分類點。比如取到的基尼系數(shù)最小的點為at,則小于at的值為類別1,大于at的值為類別2,這樣就做到了連續(xù)特征的離散化。針對樣本數(shù)據(jù)按廣度優(yōu)先原則生成1個多層次、多節(jié)點的樹形結(jié)構(gòu),反映樣本的類屬關(guān)系。
CART算法步驟如下[14-15]:
1) 當所得結(jié)果滿足流程的停止分裂條件時則停止分裂;
2) 當結(jié)果不滿足流程的停止分裂條件時,則去選擇最小Gini指數(shù)分裂;
3) 重復遞歸執(zhí)行前2個步驟,直至二叉樹停止分裂為止[16]。
CART對于特征屬性進行二元分裂,將模擬實驗數(shù)據(jù)集合分為T1和T2,2個子樣本集。然后分別對于2個子集繼續(xù)去使用二元分割[17]。以此類推不斷重復遞歸這一流程,得出最后生成的每一個非葉子結(jié)點都有對應生成的2個左右分支[18]。CART算法是使用最小GINI指數(shù)作為其根節(jié)點。對于離散型的樣本,CART算法檢查所有子集,使用所有子集中有最小GINI指數(shù)的子集作為對應屬性的GINI指數(shù)[19-20]如式(5):
其中pi=|Ci|/E,|Ci|∈{C1,C2,…,Cn}表示集合中T的數(shù)量,在集合被劃分以后GINI指數(shù)如式(6):
CART剪枝算法[21]由2步組成,首先從決策樹T0底端開始不斷的剪枝,直到T0的根結(jié)點,形成子樹序列{T0,T1,T2,T3,…,Tn},然后通過交叉驗證法在獨立的驗證數(shù)據(jù)集上對子樹序列進行測試,從中選擇最優(yōu)子樹。CART算法流程如算法3所示。
算法3:
輸入: CART算法生成的決策樹T0;
輸出: 最優(yōu)的決策樹Tα;
設(shè)k=0,T=T0;
Na為正無窮;
自下而上根據(jù)式(6)對內(nèi)部結(jié)點t;
對g(t)=α的內(nèi)部結(jié)點進行剪枝,并對葉結(jié)點t以多數(shù)表決法決定其類,得到樹T;
設(shè)k=k+1,Tk=T;
如果Tk不是由根結(jié)點及2個葉結(jié)點構(gòu)成的樹,回到步驟3,否則另Tk=Tn;如式(7):
采用交叉驗證法在子樹序列上進行驗證選取最優(yōu)子樹Tα;如果把所有節(jié)點是否剪枝的值α都計算出來,然后針對不同α對應的剪枝后的最優(yōu)子樹做交叉驗證。這樣可以選擇最好的α,有了這個α,用對應的最優(yōu)子樹作為最終結(jié)果。CART樹的交叉驗證法如算法4所示。
算法4:
輸入: CART樹建立算法得到的原始決策樹T;
輸出: 最優(yōu)決策樹Tα;
初始化αmin=∞,最優(yōu)子樹集合ω={T};
從葉子結(jié)點開始自下而上計算內(nèi)部節(jié)點t的訓練誤差損失函數(shù)Cα(TT)回歸樹為均方差,分類樹為基尼系數(shù),葉子節(jié)點數(shù)|TT|,以及正則化閾值式(9),更新αmin=α;
得到包含所有節(jié)點α值的集合M;
從M中選擇最大的值αk,自上而下的訪問子樹t的內(nèi)部節(jié)點,使用公式(8)計算,進行剪枝。并決定葉子節(jié)點t的值。如果是分類樹,這是概率最高的類別,如果是回歸樹,這是所有樣本輸出的均值。這樣得到αk對應的最優(yōu)子樹Tk;
最優(yōu)子樹集合ω=ω∪Tk,M=M-αk;
如果M不為空,則回到以上步驟循環(huán)。否則就已經(jīng)得到了所有的可選最優(yōu)子樹集合ω;
采用交叉驗證在ω選擇最優(yōu)子樹Tα;如式(8):
本文的實驗環(huán)境為:CPU:IntelCorei5200,內(nèi)存:DDR4 16GB,硬盤:固態(tài)硬盤120GB,操作系統(tǒng):Windows 10,開發(fā)環(huán)境:Python3.6,IDE: PyCharm 2017。
1) 從GEOROC(海洋和大陸巖石的地理化學數(shù)據(jù)庫)獲取數(shù)據(jù),隨機選取4 000條數(shù)據(jù)進行分析;
2) 將選取的數(shù)據(jù)通過最小-最大規(guī)范化、z-score、小數(shù)定標規(guī)范化進行數(shù)據(jù)預處理;
3) 使用處理好的數(shù)據(jù)根據(jù)PU學習算法得到樣本數(shù)據(jù);
4) 通過選取的特征,CART模型訓練。
圖2 混淆矩陣圖Fig.2 Confusion matrix
使用特定特征所構(gòu)建的CART算法模型,對數(shù)據(jù)預處理后的模擬數(shù)據(jù)進行訓練。實驗結(jié)果如圖2所示的混淆矩陣。使用CART算法形成的混淆矩陣得出正確判別的概率89.45%。該實驗表明,CART算法模型可以具有較好的準確率。
使用ID3和C4.5算法實驗結(jié)果如圖3所示的混淆矩陣。左圖為ID3正確判別的概率82.32%。右圖為C4.5正確判別的概率84.80%。
該實驗表明,CART算法和PU學習算法混合模型可以針對礦石進行判別,并且相比較于ID3和C4.5算法具有較好的準確率。
圖3 ID3和C4.5混淆矩陣圖Fig.3 Confusion matrix of ID3 and C4.5
針對實驗模擬數(shù)據(jù)的訓練研究,得出了使用CART算法和PU學習算法混合模型有著較高的識別分類準確率。研究中為了進一步去評價構(gòu)建的模型的識別分類性能,采用ROC評價方法對使用特征值數(shù)據(jù)基于CART和PU學習算法混合模型對測試數(shù)據(jù)樣本進行評價,如圖4所示的ROC曲線。
針對實驗模擬數(shù)據(jù)的訓練研究,使用ID3和C4.5算法實驗結(jié)果如圖5所示的ROC曲線。左圖為ID3算法的ROC曲線。右圖為C4.5算法的ROC曲線。
圖4 ROC評價曲線Fig.4 ROC evaluation curve
(a)—ROC of ID3; (b)—ROC of C4.5圖5 ID3和C4.5的ROC評價曲線Fig.5 ROC evaluation curve ID3和C4.5
CART算法和PU學習算法混合模型下的ROC評價曲線如圖4所示靠近單位方形的上方, 對礦石礦物的識別有較好的效果, 并且可以得出識別規(guī)則集, 具有一定的科學性。 經(jīng)過對比發(fā)現(xiàn)CART算法和PU學習算法混合模型下的ROC評價曲線比ID3算法模型和C4.5算法模型的ROC評價曲線如圖5所示更靠近單位方形的上方, CART算法和PU學習算法混合模型下的ROC評價曲線下的面積更大, 說明CART算法和PU學習算法混合模型的分類性能更好。 CART算法和PU學習算法都是數(shù)據(jù)挖掘中經(jīng)典高效的分類算法,利用CART算法和PU學習算法混合模型, 研究對礦石礦物的識別分類, 可以更好的應用于礦石礦物的識別分類中, 也為非線性的分類模型提供了一種新的應用研究思路。
圖6 CATR和PU學習算法模型的KS曲線Fig.6 Lorentz curve of CATR and Pu learning algorithm model
KS(Kolmogorov-Smirnov)值越大,表示模型能夠?qū)⒄⒇摂?shù)據(jù)集區(qū)分開的程度越大。KS值的取值范圍是[0,1]?;贑ATR和PU學習算法模型的KS曲線如圖6所示。
KS值在[0,0.2],一般認為模型沒有區(qū)分能力;KS值在[0.2,0.3],模型具有一定區(qū)分能力;KS值在[0.3,0.5],模型具有較強的區(qū)分能力;KS值大于0.75,往往表示模型有異常。由圖6所示KS曲線值為0.51,說明基于CATR和PU學習算法模型具有較好的分類能力。
4 結(jié) 論
本文利用CART算法和PU學習算法混合模型對礦石礦物的識別分類進行數(shù)據(jù)挖掘研究,達到礦石礦物的識別分類效果。由識別分類的特征制定分類標準對已有的實驗數(shù)據(jù)進行識別,則得到了較好的礦石礦物識別分類的正確評價,說明大數(shù)據(jù)技術(shù)在地質(zhì)學研究中起到良好的作用。隨著大數(shù)據(jù)技術(shù)的蓬勃發(fā)展,數(shù)據(jù)挖掘技術(shù)在各個專業(yè)領(lǐng)域涉獵的愈來愈多,幫助各個行業(yè)解決的問題越來越廣。在地質(zhì)學理論不斷發(fā)展和完善的基礎(chǔ)上數(shù)據(jù)挖掘技術(shù)將會有更大的作用。