国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于BP神經(jīng)網(wǎng)絡(luò)的Stacking模型融合的光譜分類算法

2022-07-07 06:46:12林苗芳
現(xiàn)代信息科技 2022年4期
關(guān)鍵詞:降維分類器光譜

摘? 要:文章介紹了Stacking集成學(xué)習(xí)方法、BP神經(jīng)網(wǎng)絡(luò)模型,分別討論了單分類器的精度,特征提取與單分類器結(jié)合的算法的精度、Stacking集成學(xué)習(xí)算法的精度。實(shí)驗(yàn)測(cè)試表明,以決策樹、LDA、樸素貝葉斯、隨機(jī)森林為基學(xué)習(xí)器,以BP神經(jīng)網(wǎng)絡(luò)為元學(xué)習(xí)器所建立的Stacking算法是最佳的光譜分類算法,該算法穩(wěn)定性強(qiáng),學(xué)習(xí)效果好,平均準(zhǔn)確率高達(dá)94%。

關(guān)鍵詞:Stacking模型融合;BP神經(jīng)網(wǎng)絡(luò)模型;多分類問題

中圖分類號(hào):TP18 ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2096-4706(2022)04-0091-05

Spectral Classification Algorithm of Stacking Model Fusion Based on BP Neural Network

LIN Miaofang

(South China Normal University, Guangzhou? 510631, China)

Abstract: This paper introduces Stacking ensemble learning method and BP neural network model, discusses respectively the accuracy of the single classifier, the accuracy of the algorithm combining feature extraction and single classifier, and the accuracy of the Stacking ensemble learning algorithm. The experimental test shows that the Stacking algorithm established by a base learning machine of the decision tree, LDA, Naive Bayes, random forest, and a meta learning machine of BP neural network, is the best spectral classification algorithm. The algorithm has strong stability, good learning effect, and the average accuracy rate is up to 94%.

Keywords: Stacking model fusion; BP neural network model; multiple classification problem

0? 引? 言

分類是數(shù)據(jù)挖掘中的一個(gè)重要任務(wù)它根據(jù)提供的訓(xùn)練樣本的辨別性特征將樣本數(shù)據(jù)進(jìn)行分類[1]。機(jī)器學(xué)習(xí)中的模型如決策樹、LDA、樸素貝葉斯、隨機(jī)森林等是常用的用于解決分類問題的模型,但這些單分類器的精度卻難以得到進(jìn)一步的提高。機(jī)器學(xué)習(xí)領(lǐng)域的分類學(xué)習(xí)模型組合集成問題已經(jīng)成為適應(yīng)分布式計(jì)算以及提高分類準(zhǔn)確率而需要解決的重要課題。集成學(xué)習(xí)通過決策優(yōu)化或覆蓋優(yōu)化等手段將若干弱分類器進(jìn)行聯(lián)合,以提高總體的分類性能[2]。理論可以證明,集成學(xué)習(xí)方法對(duì)于集成預(yù)測(cè)精度較高、相互獨(dú)立的基學(xué)習(xí)器有很好的精度提升的效果[3]。

Stacking算法是一類典型的集成學(xué)習(xí)算法,該算法是由Wolpert提出的一種通用集成技術(shù),也是一個(gè)重要的分類器組合模型[4]。Stacking算法將多個(gè)分類器通過某種融合策略產(chǎn)生更好的分類,從而實(shí)現(xiàn)其優(yōu)越的泛化性能。在各個(gè)領(lǐng)域應(yīng)用廣泛。本文從特征提取、集成學(xué)習(xí)等多個(gè)方面出發(fā),探究出最佳的光譜分類算法。利用光譜數(shù)據(jù)進(jìn)行分類測(cè)試的結(jié)果表明,基于BP神經(jīng)網(wǎng)絡(luò)的Stacking算法是最佳的光譜分類算法。

1? Stacking集成學(xué)習(xí)方法

1.1? Stacking算法思想

集成學(xué)習(xí)主要包括Bagging、Boosting和Stacking算法。Bagging和Boosting中的基學(xué)習(xí)器一般為同類型的學(xué)習(xí)器,而Stacking集成是異質(zhì)的[5]。與Bagging和Boosting不同的是,Stacking通過學(xué)習(xí)的方式結(jié)合基分類器,以修正基分類器偏差的方式提高整個(gè)分類器的泛化能力。從結(jié)構(gòu)上來看,它是一種多層的分類器的結(jié)構(gòu)?;鶎樱˙ase Level)的分類器即為基分類器,元層(Meta Level)的分類器稱為元分類器。Stacking算法的主要思想是:通過基分類器將數(shù)據(jù)進(jìn)行分類,再將基分類器輸出的分類結(jié)果作為元分類器的輸入結(jié)果進(jìn)行分類,從而達(dá)到最終的分類結(jié)果。

1.2? Stacking算法流程

為了防止過擬合,本文使用交叉驗(yàn)證的方式來訓(xùn)練基學(xué)習(xí)器?;诠庾V數(shù)據(jù)和Stacking算法的步驟為[3]:

Algorithm 1 Stacking Algorithm

輸入:訓(xùn)練數(shù)據(jù)集(200×481)? ? 測(cè)試數(shù)據(jù)集(159×481)

基學(xué)習(xí)器Ni(i=1,…,n)元學(xué)習(xí)器M

分類類別數(shù)m

輸出:分類結(jié)果

(1)對(duì)每一個(gè)基學(xué)習(xí)器Ni,利用訓(xùn)練集數(shù)據(jù),進(jìn)行K折交叉驗(yàn)證,獲得n個(gè)訓(xùn)練集的特征矩陣,將這n個(gè)矩陣的信息進(jìn)行合并,即按列進(jìn)行合并,得到新的訓(xùn)練集數(shù)據(jù)D1;

(2)在進(jìn)行交叉驗(yàn)證的同時(shí),對(duì)測(cè)試集進(jìn)行預(yù)測(cè),從而得到由一個(gè)基學(xué)習(xí)器學(xué)習(xí)得到的K種預(yù)測(cè)數(shù)據(jù),將該預(yù)測(cè)數(shù)據(jù)取平均,作為基學(xué)習(xí)器對(duì)測(cè)試集的最終預(yù)測(cè)結(jié)果。與步驟一類似,我們會(huì)得到n個(gè)訓(xùn)練集的特征矩陣,將這n個(gè)矩陣的信息進(jìn)行合并,即按列進(jìn)行合并,得到新的測(cè)試集數(shù)據(jù)D2;

(3)將步驟一和步驟二得到的新的訓(xùn)練數(shù)據(jù)集D1對(duì)元分類器進(jìn)行訓(xùn)練。再利用新的測(cè)試數(shù)據(jù)D2以及訓(xùn)練好的元分類器,對(duì)測(cè)試集進(jìn)行預(yù)測(cè),得到最終的分類結(jié)果。

在基于Stacking的分類問題中,對(duì)于基分類器的輸出結(jié)果,一般不直接輸出分類結(jié)果,因?yàn)榉诸惖慕Y(jié)果并沒有辦法取平均,或者說,對(duì)類別取平均是沒有意義的。一個(gè)可行的解決方法是,輸出對(duì)各類別的判斷概率。在Python的機(jī)器學(xué)習(xí)模塊中,在每個(gè)分類器的內(nèi)部,會(huì)計(jì)算分類器對(duì)樣本的每個(gè)類別的概率,從而將最大概率所在的類作為結(jié)果輸出。由此,本文將基分類器對(duì)每個(gè)樣本的各類別的判斷概率作為預(yù)測(cè)的輸出結(jié)果。

Stacking算法的示意圖如圖1和圖2所示。

2? BP神經(jīng)網(wǎng)絡(luò)模型

2.1? BP神經(jīng)網(wǎng)絡(luò)定義及結(jié)構(gòu)

BP神經(jīng)網(wǎng)絡(luò)的定義是:采用誤差反向傳播算法(BP:Error Back-propagation Algorithm)的多層前反饋人工神經(jīng)網(wǎng)絡(luò)。

BP神經(jīng)網(wǎng)絡(luò)通常由輸入層、隱含層和輸出層組成,層與層之間全互聯(lián),每層節(jié)點(diǎn)之間不相連。它的輸入層節(jié)點(diǎn)取訓(xùn)練樣本的特征維數(shù),輸出層節(jié)點(diǎn)的個(gè)數(shù)取類別的個(gè)數(shù)。隱藏層節(jié)點(diǎn)目前尚無確定的標(biāo)準(zhǔn)。

具有一個(gè)隱藏層的BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖3所示。

2.2? BP神經(jīng)網(wǎng)絡(luò)思想

BP算法的基本思想是把學(xué)習(xí)過程分為兩個(gè)階段:第一階段(正向傳播過程),給出輸入信息通過輸入層經(jīng)各隱層逐層處理并計(jì)算每個(gè)單元的實(shí)際輸出值;第二階段(反向過程),若在輸出層未能得到期望的輸出值,則逐層遞歸地計(jì)算實(shí)際輸出與期望輸出之間的差值(即誤差),通過梯度下降法來修改權(quán)值,使得總誤差函數(shù)達(dá)到最小[6]。

2.3? BP神經(jīng)網(wǎng)絡(luò)算法步驟

BP神經(jīng)網(wǎng)絡(luò)的算法步驟為[6]:

Algorithm 2 Back Propagation Neural Network

(1)權(quán)值初始化:wij=Random()? ?wjk=Random();

(2)依次輸入訓(xùn)練樣本集。設(shè)當(dāng)前輸入為第p個(gè)樣本;

(3)依次計(jì)算各層的輸出:xj,yk,j=0,1, …,n1? k=0,1,…,m-1

(4)求各層的反向傳遞誤差:;

(5)記錄已學(xué)習(xí)過的樣本數(shù)p。如果p

(6)按權(quán)值修正公式修正各層的權(quán)值和閾值;

(7)按新的權(quán)值在計(jì)算xj(p),yk和EA,若對(duì)每個(gè)p和k都滿足|dk(p)-yk(p)|< ε,或達(dá)到最大迭代次數(shù),則終止訓(xùn)練。否則轉(zhuǎn)到第二步繼續(xù)新一輪的學(xué)習(xí)訓(xùn)練。

設(shè)BP神經(jīng)網(wǎng)絡(luò)的輸入矢量為XRn,其中X=(x1,x2,…,xn)T;隱藏層含有n1個(gè)神經(jīng)元,它們的輸出為XRn1,X=(x1,x2,…,xn)T;輸出層有m個(gè)神經(jīng)元,輸出yRm,y=(y0,y1,… ,ym-1)T。輸入層到隱藏層的權(quán)值為wij;隱藏層到輸出層的權(quán)值為wjk。

設(shè)訓(xùn)練樣本集有P個(gè)樣本,對(duì)應(yīng)的期望輸出(即真實(shí)類別)為d(1),d(2),…,d(p),設(shè)當(dāng)所有樣本都輸出一次后,總誤差為EA=(dk(p)-yk(p))2。

BP神經(jīng)網(wǎng)絡(luò)算法流程如圖4所示。

3? 光譜分類最佳算法探究

本文使用光譜數(shù)據(jù)進(jìn)行光譜分類。其中,測(cè)試集樣本共有200條,含有481個(gè)特征,訓(xùn)練集樣本共有159條,含有481個(gè)特征。

3.1? 單分類器分類性能

本文選取四種分類算法:LDA線性判別分析算法、決策樹算法、隨機(jī)森林算法、樸素貝葉斯算法。在不進(jìn)行集成學(xué)習(xí)的情況下,分別討論上述四種分類算法對(duì)光譜數(shù)據(jù)分類的準(zhǔn)確率。

分別利用Python的sklearn庫(kù)中的函數(shù),利用訓(xùn)練集和測(cè)試集分別進(jìn)行5次分類預(yù)測(cè),將5次的準(zhǔn)確率取平均作為單分類器的分類準(zhǔn)確率。測(cè)試結(jié)果如表1所示。

分析測(cè)試結(jié)果,可以得出結(jié)論:隨機(jī)森林算法的準(zhǔn)確率較高。

3.2? 基于單分類器的特征維數(shù)討論

由于數(shù)據(jù)集的特征維數(shù)較多,可能導(dǎo)致噪聲較大,對(duì)分類的效果可能會(huì)有影響。因此,本文在單分類器的基礎(chǔ)上,對(duì)數(shù)據(jù)進(jìn)行降維,討論維數(shù)對(duì)上述四種分類器的分類性能的影響。

首先,本文利用主成分分析法對(duì)數(shù)據(jù)進(jìn)行降維。利用Python編寫主成分分析法的程序,對(duì)數(shù)據(jù)集進(jìn)行降維,并生成降維后的新的數(shù)據(jù)集。

為了能夠盡可能減小降維后的主成分損失的信息,本文選取的主成分的累積貢獻(xiàn)率規(guī)定高于85%。本文摘取一部分?jǐn)?shù)據(jù)進(jìn)行展示,如表2所示,并由此決定我們要將數(shù)據(jù)降到多少維。

表2? 主成分累積貢獻(xiàn)率表

接下來,本文將進(jìn)行以下測(cè)試:將光譜數(shù)據(jù)集分別降到20,25,30,35,…,100維,分別測(cè)試四個(gè)單分類器的準(zhǔn)確率。注意,單分類器的準(zhǔn)確率均為多次測(cè)量取平均值得到的結(jié)果,繪制出準(zhǔn)確率隨維度的變化趨勢(shì)圖,如圖5所示。

分析測(cè)試結(jié)果,可以得出以下結(jié)論:

當(dāng)使用主成分分析對(duì)數(shù)據(jù)進(jìn)行降維時(shí),單分類器的準(zhǔn)確率的峰值均高于降維前的準(zhǔn)確率。若采用基于主成分分析的單分類器對(duì)光譜數(shù)據(jù)進(jìn)行分類,效果較好的是LDA線性判別分析法和樸素貝葉斯分類法。

3.3? 多分類器融合的Stacking算法

在3.1和3.2節(jié),本文分別探討了單分類器的分類性能以及特征降維后的分類性能。在本節(jié),將討論多分類器融合的Stacking模型的分類性能。

3.3.1? 基學(xué)習(xí)器的選取

在本文中,選取LDA線性判別分析模型,決策樹,隨機(jī)森林以及樸素貝葉斯分類器作為基學(xué)習(xí)器。

3.3.2? 元學(xué)習(xí)器的選取

在本文中,分別討論將LDA線性判別分析,BP神經(jīng)網(wǎng)絡(luò)模型作為元學(xué)習(xí)器的Stacking模型的分類性能。

3.3.3? 將LDA作為元學(xué)習(xí)器的Stacking模型

利用Python實(shí)現(xiàn)Stacking算法,并將LDA作為Stacking算法的元學(xué)習(xí)器,利用未降維的光譜數(shù)據(jù)進(jìn)行訓(xùn)練,并對(duì)光譜數(shù)據(jù)進(jìn)行分類。多次測(cè)量分類的準(zhǔn)確率從并且取平均值。最終得到的分類準(zhǔn)確率為82%。

與單分類器進(jìn)行對(duì)比,可以得出結(jié)論:將LDA作為元分類器的Stacking分類器融合模型的分類性能明顯高于單分類器。

3.3.4? 將BP神經(jīng)網(wǎng)絡(luò)作為元學(xué)習(xí)器的Stacking模型

利用Python實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)算法,并將BP神經(jīng)網(wǎng)絡(luò)作為Stacking算法的元學(xué)習(xí)器,對(duì)光譜數(shù)據(jù)進(jìn)行分類,并且多次測(cè)量取平均值。

本文實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)時(shí),將Sigmoid函數(shù)作為激勵(lì)函數(shù)。由于本文選取了四個(gè)分類器作為基分類器,每個(gè)基分類器得到的新特征數(shù)據(jù)的維度為7,因此設(shè)置輸入節(jié)點(diǎn)為28個(gè)。并設(shè)置隱藏層節(jié)點(diǎn)為10個(gè),輸出節(jié)點(diǎn)為7個(gè)。最終得到的分類準(zhǔn)確率為94%。

與單分類器和基于LDA的Stacking模型相比,將BP神經(jīng)網(wǎng)絡(luò)模型作為元學(xué)習(xí)器的Stacking模型的分類性能大大提升,達(dá)到了94%。因此,基于BP神經(jīng)網(wǎng)絡(luò)模型的Stacking模型的分類性能最佳。

3.4? 基于BP神經(jīng)網(wǎng)絡(luò)的Stacking模型的其他討論

在3.1節(jié)中,本文提到BP神經(jīng)網(wǎng)絡(luò)隱藏層節(jié)點(diǎn)目前尚無確定的標(biāo)準(zhǔn)。因此本文將在此節(jié)探討最佳的隱藏層節(jié)點(diǎn)個(gè)數(shù)。除此以外,由于光譜數(shù)據(jù)集特征較多,本文將在此節(jié)探討最佳的特征維數(shù)。

3.4.1? 隱藏層節(jié)點(diǎn)最佳個(gè)數(shù)的探討

本文分別測(cè)試隱藏層節(jié)點(diǎn)為5,6,7…,15的模型的準(zhǔn)確率,并繪制變化趨勢(shì)圖,如圖6所示。可以看出,當(dāng)隱藏層節(jié)點(diǎn)個(gè)數(shù)為5時(shí),基于BP神經(jīng)網(wǎng)絡(luò)的Stacking模型的分類性能較佳。

3.4.2? 最佳特征維數(shù)的選取

本文將進(jìn)行以下測(cè)試:將光譜數(shù)據(jù)集分別降到20,25,30,35,…,100維,設(shè)置BP神經(jīng)網(wǎng)絡(luò)的隱藏層節(jié)點(diǎn)個(gè)數(shù)為5,分別測(cè)試基于BP神經(jīng)網(wǎng)絡(luò)的Stacking模型的準(zhǔn)確率,并且多次測(cè)量取平均值得到的結(jié)果。繪制出準(zhǔn)確率隨維度的變化趨勢(shì)圖,并標(biāo)出最佳的特征維數(shù),如圖7所示,可以得到最佳的特征維數(shù)為85。

4? 結(jié)? 論

通過對(duì)多種分類算法策略的探究,可以得出以下結(jié)論:當(dāng)使用單分類器時(shí),分類效果較好的是隨機(jī)森林算法。當(dāng)對(duì)數(shù)據(jù)進(jìn)行降維后,各個(gè)單分類器的最佳分類準(zhǔn)確率均有所上升。此時(shí),分類效果較好的單分類器是LDA模型和樸素貝葉斯分類器。相較于單分類器,將多種分類器融合的Stacking算法效果更佳。當(dāng)選取LDA模型作為Stacking算法的元學(xué)習(xí)器時(shí),分類的準(zhǔn)確率可達(dá)到82%。當(dāng)選取神經(jīng)網(wǎng)絡(luò)作為Stacking算法的元學(xué)習(xí)器時(shí),分類的準(zhǔn)確率可達(dá)到94%。在數(shù)據(jù)未降維的情況下,將BP神經(jīng)網(wǎng)絡(luò)的隱藏層節(jié)點(diǎn)設(shè)置為5個(gè)時(shí),Stacking模型的分類準(zhǔn)確率最佳,平均可達(dá)95.1%。當(dāng)BP神經(jīng)網(wǎng)絡(luò)的隱藏層節(jié)點(diǎn)設(shè)置為5個(gè)時(shí),利用主成分分析法對(duì)數(shù)據(jù)進(jìn)行降維。當(dāng)數(shù)據(jù)維度降至85維時(shí),Stacking模型的分類準(zhǔn)確率最佳,平均可達(dá)96.2%。綜上所述,基于BP神經(jīng)網(wǎng)絡(luò)的Stacking算法是最佳的光譜分類算法。

參考文獻(xiàn):

[1] 何麗,韓文秀.用元決策樹組合多個(gè)分類器的方法 [J].計(jì)算機(jī)工程,2005(12):18-19+80.

[2] 秦飛.基于半監(jiān)督學(xué)習(xí)的文本分類研究 [D].四川:西南交通大學(xué),2010.

[3] 李昆明,厲文婕.基于利用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行Stacking模型融合算法的電力非節(jié)假日負(fù)荷預(yù)測(cè)研究 [J].軟件,2019,40(9):176-181.

[4] 包志強(qiáng),胡嘯天,趙媛媛,等.基于熵權(quán)法的Stacking算法 [J].計(jì)算機(jī)工程與設(shè)計(jì),2019,40(10):2885-2890.

[5] 曹婷婷,張忠林.代價(jià)敏感的KPCA-Stacking不均衡數(shù)據(jù)分類算法 [J].計(jì)算機(jī)工程與科學(xué),2021,43(3):525-533.

[6] 孫娓娓.BP神經(jīng)網(wǎng)絡(luò)的算法改進(jìn)及應(yīng)用研究 [D].重慶:重慶大學(xué),2009.

作者簡(jiǎn)介:林苗芳(2002.02—),女,漢族,廣東汕尾人,本科在讀,研究方向:信息與計(jì)算科學(xué)。

猜你喜歡
降維分類器光譜
Three-Body’s epic scale and fiercely guarded fanbase present challenges to adaptations
基于三維Saab變換的高光譜圖像壓縮方法
高光譜遙感成像技術(shù)的發(fā)展與展望
降維打擊
海峽姐妹(2019年12期)2020-01-14 03:24:40
BP-GA光照分類器在車道線識(shí)別中的應(yīng)用
加權(quán)空-譜與最近鄰分類器相結(jié)合的高光譜圖像分類
結(jié)合模糊(C+P)均值聚類和SP-V-支持向量機(jī)的TSK分類器
星載近紅外高光譜CO2遙感進(jìn)展
基于LLE降維和BP_Adaboost分類器的GIS局部放電模式識(shí)別
拋物化Navier-Stokes方程的降維仿真模型
盐池县| 团风县| 民县| 磴口县| 乃东县| 固安县| 囊谦县| 娄底市| 肃宁县| 延安市| 麻城市| 藁城市| 日照市| 额济纳旗| 汕头市| 同仁县| 灵石县| 虹口区| 札达县| 青浦区| 绥滨县| 驻马店市| 鄯善县| 正安县| 延长县| 淮阳县| 常宁市| 滨州市| 都安| 丰顺县| 安新县| 肃南| 金乡县| 巴彦淖尔市| 房山区| 杭锦旗| 宜州市| 习水县| 南投市| 镇赉县| 克什克腾旗|