王崇榮,闞海玉,靜麗賢,陳麗芳
(1.華北理工大學(xué) 以升創(chuàng)新教育基地,河北 唐山 063210;2.華北理工大學(xué) 理學(xué)院,河北 唐山 063210)
?
基于KPCA遺傳算法的預(yù)報(bào)模型及其應(yīng)用
王崇榮1,闞海玉1,靜麗賢1,陳麗芳2
(1.華北理工大學(xué) 以升創(chuàng)新教育基地,河北 唐山 063210;2.華北理工大學(xué) 理學(xué)院,河北 唐山 063210)
核主成分分析(KPCA);遺傳算法(GA);RBF神經(jīng)網(wǎng)絡(luò);健康度評(píng)價(jià)
針對(duì)數(shù)據(jù)的相關(guān)性、網(wǎng)絡(luò)參數(shù)初始化的隨機(jī)性對(duì)神經(jīng)網(wǎng)絡(luò)模型效率和精度的影響,本課題提出采用核主成分分析和遺傳算法,優(yōu)化RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)。首先,采集與人體健康度有關(guān)的指標(biāo),應(yīng)用核主成分分析對(duì)其進(jìn)行降維處理;然后,針對(duì)RBF網(wǎng)絡(luò)初始權(quán)值、擴(kuò)展常數(shù)設(shè)置隨意性大的不足,用MATLAB編程實(shí)現(xiàn)遺傳算法對(duì)RBF網(wǎng)絡(luò)初始參數(shù)的優(yōu)化,并用收集到的數(shù)據(jù)進(jìn)行模型的訓(xùn)練和仿真;最后,將該模型與未進(jìn)行網(wǎng)絡(luò)優(yōu)化的模型進(jìn)行比較。分析和對(duì)比表明,該預(yù)報(bào)模型消除了指標(biāo)間的相關(guān)性,并且提高了預(yù)報(bào)精度和速度,為預(yù)報(bào)問(wèn)題的處理提供了新的研究思路。
隨著人們生活水平的不斷提高,自身健康受到越來(lái)越多的關(guān)注。如何構(gòu)建健康評(píng)價(jià)體系,全面客觀地反映個(gè)體健康狀況,已成為重要的研究課題。因此,構(gòu)建體質(zhì)健康綜合評(píng)價(jià)系統(tǒng)具有重大的指導(dǎo)意義和現(xiàn)實(shí)意義。
王國(guó)軍[1]引入模糊數(shù)學(xué)法對(duì)人體體質(zhì)健康進(jìn)行綜合評(píng)價(jià),解決了評(píng)價(jià)標(biāo)準(zhǔn)在大面積推廣和使用時(shí)部分指標(biāo)臨界點(diǎn)上下數(shù)值相差不大但等級(jí)相差很大、與事實(shí)不符的問(wèn)題。劉勵(lì)[2]采用層次分析法和模糊綜合評(píng)價(jià)進(jìn)行個(gè)體健康評(píng)價(jià)。劉秀伶[3]等利用擴(kuò)展的卡爾曼濾波輔助方法進(jìn)行預(yù)處理及特征提取,將模糊邏輯引入神經(jīng)系統(tǒng),設(shè)計(jì)了一種基于動(dòng)態(tài)生理信息融合的健康評(píng)價(jià)系統(tǒng)。劉偉[4]針對(duì)在健康評(píng)價(jià)中評(píng)價(jià)信息的模糊性和隨機(jī)性,提出了基于自然語(yǔ)言的多屬性群決策云模型集結(jié)方法。
分析學(xué)者們的健康評(píng)價(jià)體系,均將人體健康狀況進(jìn)行了有效的量化。但忽略了影響人體健康狀況指標(biāo)間的相關(guān)性,并且模糊數(shù)學(xué)的引入具有很大的主觀性。本項(xiàng)目提出了人體健康評(píng)價(jià)體系模型,通過(guò)應(yīng)用KPCA,消除了影響人體健康狀況指標(biāo)間的相關(guān)性;引入RBF神經(jīng)網(wǎng)絡(luò)對(duì)人體健康程度進(jìn)行預(yù)測(cè),消除了模糊數(shù)學(xué)的主觀性。并且應(yīng)用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)參數(shù),使網(wǎng)絡(luò)避免陷入局部極小值,獲得了更高的預(yù)報(bào)精度。
1.1 核主成分分析(KPCA)
KPCA[5,6]是一種基于核函數(shù)的能夠有效地解決非線性問(wèn)題的主成分分析方法。它將原變量空間 通過(guò)一個(gè)非線性變換 映射到高維特征空間 ,在特征空間進(jìn)行內(nèi)積運(yùn)算后提取特征值和特征向量再進(jìn)行降維。
1.2 遺傳算法
遺傳算法[7](Genetic Algorithm)是一種啟發(fā)式算法。其主要特點(diǎn)是直接對(duì)結(jié)構(gòu)對(duì)象進(jìn)行操作,不存在求導(dǎo)和函數(shù)連續(xù)性的限定;具有內(nèi)在的隱并行性和良好的全局尋優(yōu)能力;采用概率化的尋優(yōu)方法,能自動(dòng)獲取和指導(dǎo)優(yōu)化的搜索空間,自適應(yīng)地調(diào)整搜索方向。
1.3 RBF神經(jīng)網(wǎng)絡(luò)
RBF神經(jīng)網(wǎng)絡(luò)[8,9]只有一個(gè)隱層,且隱層神經(jīng)元與輸出層神經(jīng)元的模型不同。隱層節(jié)點(diǎn)激活函數(shù)為徑向基函數(shù),其凈輸入是輸入向量與節(jié)點(diǎn)中心的距離(范數(shù))而非向量?jī)?nèi)積,且結(jié)點(diǎn)中心不可調(diào)。結(jié)點(diǎn)的非線性變換把線性不可分問(wèn)題轉(zhuǎn)化為線性可分問(wèn)題。輸出層節(jié)點(diǎn)激活函數(shù)為線性函數(shù)。
隱層節(jié)點(diǎn)參數(shù)確定后,輸出權(quán)值可通過(guò)解線性方程組得到,RBF網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 RBF網(wǎng)絡(luò)結(jié)構(gòu)
首先將核主成分分析后的分量作為RBF網(wǎng)絡(luò)的輸入[10,11],其次用遺傳算法優(yōu)化的權(quán)值和擴(kuò)展常數(shù)確定RBF網(wǎng)絡(luò)的參數(shù)[12,13],并對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,然后進(jìn)行網(wǎng)絡(luò)仿真,測(cè)試模型的精度,最后通過(guò)和未經(jīng)優(yōu)化的模型進(jìn)行對(duì)比,對(duì)模型的性能進(jìn)行評(píng)價(jià)。建模流程如圖2所示。
圖2 基于KPCA遺傳算法的RBF網(wǎng)絡(luò)建模流程
2.1 數(shù)據(jù)分析與預(yù)處理
對(duì)數(shù)據(jù)進(jìn)行核主成分分析(KPCA),提取計(jì)算核主成分分量;降低輸入的維數(shù),簡(jiǎn)化RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
(1)輸入原始數(shù)據(jù)X;
(2)將原始數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處M理:
(1)
其中:
(2)
(3)將核函數(shù)映射到高維空間,得到矩陣K
(4)求解原矩陣K的轉(zhuǎn)置矩陣K',
K'=K-AijK-KAij+AijKAij
(3)
(4)
(5)計(jì)算矩陣K'/n的特征值λi(i=1,2…m)和特征向量vi(i=1,2…m);
(6)找出m個(gè)主元對(duì)應(yīng)的特征值λr和特征向量vr(i=1,2…m);
(7)求出特征值的貢獻(xiàn)率和累積貢獻(xiàn)率;
(8)利用提取的核主成分作為輸入輸出綜合指標(biāo)。
2.2 遺傳算法優(yōu)化RBF網(wǎng)絡(luò)參數(shù)
RBF神經(jīng)網(wǎng)絡(luò)在開(kāi)始訓(xùn)練前將隱藏層到輸出層的連接權(quán)值隨機(jī)初始化為[0,1]之間的值,這種未經(jīng)過(guò)優(yōu)化的隨機(jī)初始化會(huì)使RBF神經(jīng)網(wǎng)絡(luò)的收斂速度慢,且容易陷入局部最優(yōu)解。采用遺傳算法優(yōu)化可以對(duì)初始權(quán)值、擴(kuò)展常數(shù)進(jìn)行優(yōu)化,使RBF神經(jīng)網(wǎng)絡(luò)具有更高的精度。
初始化遺傳算法參數(shù),需要初始化的參數(shù)有最大迭代次數(shù)maxgen、群體規(guī)模sizepop、參數(shù)個(gè)數(shù)D、選擇算子、交叉算子、交叉概率Pc、變異概率Pm.
根據(jù)實(shí)際求解的問(wèn)題確定RBF神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),建立網(wǎng)絡(luò)初始模型;并根據(jù)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),計(jì)算待優(yōu)化參數(shù)的個(gè)數(shù)D:
D=hiddennum*outputnum+1,其中,hiddennum和outputnum分別為RBF神經(jīng)網(wǎng)絡(luò)隱層節(jié)點(diǎn)數(shù)和輸出層節(jié)點(diǎn)數(shù)。
輸入網(wǎng)絡(luò)的訓(xùn)練樣本,將遺傳算法待優(yōu)化參數(shù)按照順序組成一個(gè)向量,作為RBF網(wǎng)絡(luò)連接初始權(quán)值、擴(kuò)展常數(shù),進(jìn)行網(wǎng)絡(luò)訓(xùn)練,計(jì)算實(shí)際輸出和預(yù)測(cè)輸出的均方誤差,并以均方誤差作為目標(biāo)函數(shù)。
目標(biāo)函數(shù)表示為:
(5)
式中,為訓(xùn)練輸出值;yj為訓(xùn)練期望輸出值;
遺傳算法優(yōu)化RBF神經(jīng)網(wǎng)絡(luò)建模如下:
(1)讀取前面步驟中保存的數(shù)據(jù)data;
(2)對(duì)數(shù)據(jù)進(jìn)行歸一化處理;
(3)參數(shù)設(shè)置;
(4)對(duì)種群進(jìn)行實(shí)數(shù)編碼,并將預(yù)測(cè)數(shù)據(jù)與期望數(shù)據(jù)之間的誤差作為適應(yīng)度函數(shù);
(5)循環(huán)進(jìn)行選擇、交叉、變異、訓(xùn)練RBF神經(jīng)網(wǎng)絡(luò),計(jì)算適應(yīng)度,直到達(dá)到進(jìn)化次數(shù),或精度滿足設(shè)置要求,停止循環(huán)操作;
(6)用得到的最佳權(quán)值和擴(kuò)展常數(shù)構(gòu)建RBF神經(jīng)網(wǎng)絡(luò);
(7)用測(cè)試數(shù)據(jù)測(cè)試神經(jīng)網(wǎng)絡(luò),并將預(yù)測(cè)的數(shù)據(jù)反歸一化處理;
(8)分析預(yù)測(cè)數(shù)據(jù)與期望數(shù)據(jù)之間的誤差。
3.1 數(shù)據(jù)收集與處理
通過(guò)對(duì)50份體檢數(shù)據(jù)整理篩選,去除異常數(shù)據(jù)。得到47份數(shù)據(jù)作為樣本,部分樣本如表1所示。
表1 部分原始數(shù)據(jù)表
健康度是用來(lái)定量描述人體健康水平的數(shù)值,影響健康度的指標(biāo)主要有營(yíng)養(yǎng)、中毒、免疫抑制、過(guò)敏、炎癥、耗散。
3.2 KPCA優(yōu)化網(wǎng)絡(luò)輸入
將數(shù)據(jù)歸一化后,利用Cross-Validation方法,選取不同的核函數(shù),經(jīng)多次試驗(yàn),采用指數(shù)型徑向基核函數(shù)
(6)
當(dāng)σ>200時(shí),累計(jì)貢獻(xiàn)率趨近于穩(wěn)定,并且在選取的所有核函數(shù)中為最大,達(dá)到89.5%。圖3所示為當(dāng)σ∈[1,1 000]時(shí)累計(jì)貢獻(xiàn)率。
圖3 當(dāng) 時(shí)累計(jì)貢獻(xiàn)率
將營(yíng)養(yǎng)、中毒、免疫抑制、過(guò)敏、炎癥、耗散分別記為 。
此時(shí)選出的分析主元有2個(gè):
F1=0.0164x1+0.3290x2+0.4556x3+0.7352x4+0.2987x5+0.2328x6
(7)
F2=0.1421x1+0.3881x2+0.4098x3+0.3174x4+0.2782x5+0.6950x6
(8)
3.3 遺傳算法優(yōu)化RBF神經(jīng)網(wǎng)絡(luò)參數(shù)
RBF學(xué)習(xí)的3個(gè)參數(shù):
(1)基函數(shù)的中心ti;
(2)方差(擴(kuò)展常數(shù))σi;
(3)隱含層與輸出層間的權(quán)值wij。
當(dāng)采用正歸化RBF網(wǎng)絡(luò)結(jié)構(gòu)時(shí),隱節(jié)點(diǎn)數(shù)即樣本數(shù),基函數(shù)的數(shù)據(jù)中心即為樣本本身,參數(shù)設(shè)計(jì)只需考慮擴(kuò)展常數(shù)和輸出節(jié)點(diǎn)的權(quán)值。
根據(jù)KPCA得到的結(jié)果,隱含層為2個(gè)神經(jīng)元,可以計(jì)算出粒子的維數(shù)D=2*1+1=3。
選取40組新的數(shù)據(jù)作為訓(xùn)練樣本。經(jīng)多次試驗(yàn),誤差最小時(shí),得到的平均誤差為8.3%。
此時(shí)GA的基本參數(shù)為:
(1)群體規(guī)模sizepop=10;
(2)粒子維數(shù)D=3;
(3)最大迭代次數(shù)maxgen=100次;
(4)選擇操作采用保留最優(yōu)個(gè)體的隨機(jī)采樣法;
(5)交叉操作采用均勻的交叉算子,交叉概率為 ;
(6)變異概率為pm=0.1-[1:1:sizepop]×0.1/sizepop;
(7)終止條件:循環(huán)達(dá)到終止迭代次數(shù)或最優(yōu)適度值連續(xù)迭代500次,計(jì)算結(jié)果差值小于0.000 01;
(8)群體適應(yīng)度函數(shù)使用預(yù)測(cè)值和輸出值的均方誤差來(lái)定義。采取每15次顯示1次網(wǎng)絡(luò)參數(shù),在第54次時(shí)得到全局最優(yōu)結(jié)果。尋優(yōu)結(jié)果動(dòng)態(tài)如表2所示。
表2 尋優(yōu)結(jié)果動(dòng)態(tài)
3.4 仿真驗(yàn)證和預(yù)報(bào)
選取剩余的7組數(shù)據(jù)進(jìn)行仿真。得到平均相對(duì)誤差為9.2%。將仿真結(jié)果與原始數(shù)據(jù)進(jìn)行對(duì)比。得到誤差如圖4所示。
圖4 KPCA-GA-RBF網(wǎng)絡(luò)仿真誤差圖
為進(jìn)一步評(píng)價(jià)KPCA-GA-RBF網(wǎng)絡(luò)模型的仿真效果,與采用傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)模型、KPCA-BP網(wǎng)絡(luò)模型分別進(jìn)行訓(xùn)練仿真。
(1)單純RBP網(wǎng)絡(luò)預(yù)報(bào):經(jīng)多次試驗(yàn),在RBF網(wǎng)絡(luò)進(jìn)行訓(xùn)練均方差最小時(shí),擴(kuò)展常數(shù)為0.45;訓(xùn)練精確度為0.000 01。
(2)KPCA-RBF網(wǎng)絡(luò)模型預(yù)報(bào):用KPCA進(jìn)行數(shù)據(jù)預(yù)處理,將原來(lái)的6個(gè)指標(biāo)綜合成2個(gè)指標(biāo)后,在RBF網(wǎng)絡(luò)進(jìn)行訓(xùn)練均方差最小時(shí),擴(kuò)展常數(shù)為0.52;訓(xùn)練精確度為0.000 01。
在3個(gè)模型分別達(dá)到最優(yōu)時(shí),用剩余的7組數(shù)據(jù)進(jìn)行仿真,相對(duì)誤差對(duì)比如圖5所示。
圖5 3個(gè)模型精度對(duì)比圖
由圖5可以看出,RBF、KPCA-RBF和KPCA-GA-RBF網(wǎng)絡(luò)預(yù)測(cè)的相對(duì)誤差分別浮動(dòng)在30%、25%和15%以內(nèi)。KPCA-GA-RBF模型相對(duì)誤差明顯優(yōu)于其它2個(gè)模型,說(shuō)明了模型在預(yù)測(cè)精度上的優(yōu)越性。
模型訓(xùn)練性能對(duì)比結(jié)果如表3所示。
表3 模型訓(xùn)練性能對(duì)比表
由表3可以看出,KPCA-GA-RBF網(wǎng)絡(luò)訓(xùn)練步數(shù)僅僅為54時(shí)就已經(jīng)收斂,而KPCA-RBF網(wǎng)絡(luò)和單純的RBF網(wǎng)絡(luò),在訓(xùn)練步數(shù)達(dá)到最大時(shí)還未收斂,證明了KPCA-GA-RBF網(wǎng)絡(luò)在收斂性上的優(yōu)越性。因此,對(duì)于同一組學(xué)習(xí)樣本集,應(yīng)用KPCA-GA-RBF網(wǎng)絡(luò)混合算法,能夠大大減少迭代次數(shù),加快訓(xùn)練速度。
對(duì)比分析表明:與傳統(tǒng)RBF方法和KPCA-RBF神經(jīng)網(wǎng)絡(luò)法相比,該項(xiàng)目所研究的方法具有輸出穩(wěn)定性好、收斂性快、預(yù)測(cè)精度高等優(yōu)點(diǎn),將KPCA結(jié)合遺傳算法,對(duì)RBF網(wǎng)絡(luò)預(yù)報(bào)模型進(jìn)行精簡(jiǎn)和優(yōu)化,大大縮短了訓(xùn)練時(shí)間,提高了訓(xùn)練效率和預(yù)報(bào)精度。
(1)分析了影響預(yù)報(bào)模型效率和精度的主要原因:數(shù)據(jù)的相關(guān)性和網(wǎng)絡(luò)初始參數(shù)設(shè)置的任意性,提出通過(guò)應(yīng)用KPCA,實(shí)現(xiàn)數(shù)據(jù)的降維,從而精簡(jiǎn)網(wǎng)絡(luò)結(jié)構(gòu)。
(2)應(yīng)用遺傳算法優(yōu)化參數(shù),使網(wǎng)絡(luò)避免陷入局部極小值,從而獲得更高的預(yù)報(bào)精度和更快的預(yù)報(bào)速度。從模型優(yōu)化的角度,具有一定的理論意義和應(yīng)用價(jià)值,為指導(dǎo)人們的生產(chǎn)生活提供了理論依據(jù)。
[1] 王國(guó)軍.健康管理理念下公務(wù)員體制健康評(píng)價(jià)系統(tǒng)的研究與應(yīng)用[D].上海:上海體育學(xué)院,2013.
[2] 劉勵(lì).兒童青少年健康的綜合評(píng)價(jià)及影響因素研究[D].武漢:華中科技大學(xué),2009.
[3] 劉秀伶,楊國(guó)杰,王洪瑞.動(dòng)態(tài)生理信息融合在人體健康評(píng)價(jià)系統(tǒng)的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用.2010,46(16):226-228.
[4] 劉偉.基于BIA的人體健康監(jiān)測(cè)與智能評(píng)價(jià)系統(tǒng)研究[D].合肥,合肥工業(yè)大學(xué),2013.
[5] 高宏賓,候杰,李瑞光.基于核主成分分析的數(shù)據(jù)流降維應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用.2013,49(11):105-110.
[6] 趙麗紅,孫宇舸,蔡玉,等.基于核主成分分析的人臉識(shí)別[J].東北大學(xué)學(xué)報(bào)(自然科學(xué)版).2006,27(8):847-850.
[7] 張啟義,邱國(guó)慶,寇學(xué)智,等.兩階段遺傳算法在求解TSP問(wèn)題中的應(yīng)用[J] 解放軍理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,12(1): 79-83(1): 12-15.
[8] 蔣吉麗.基于BP神經(jīng)網(wǎng)絡(luò)的強(qiáng)對(duì)流天氣預(yù)報(bào)模型研究[J].電子科技大學(xué),2010,03(2):11-29.
[9] 王蘭霞.基于RBF神經(jīng)網(wǎng)絡(luò)的PM10污染預(yù)測(cè)研究[D].西安:西安建筑科技大學(xué),2008.
[10] 孫志娟,趙京,戴京濤.采用KPCA-BP神經(jīng)網(wǎng)絡(luò)的并聯(lián)機(jī)構(gòu)全局綜合性能評(píng)價(jià)方法研究[J].現(xiàn)代制造工程,2014,11(11):18-24.
[11] 李琳娜.基于核主成分分析(KPCA)和神經(jīng)網(wǎng)絡(luò)的單目紅外圖像深度估計(jì)[D].上海:東華大學(xué),2013.
[12] 李敏強(qiáng),徐博藝,寇紀(jì)淞.遺傳算法與神經(jīng)網(wǎng)絡(luò)的結(jié)合[J].系統(tǒng)工程理論與實(shí)踐.1999(12):16-20.
[13] 李勇,李妍琰.改進(jìn)粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的洪水智能預(yù)測(cè)模型研究[J].西南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,05(19):75-80.
Prediction Model Based on KPCA and Genetic Algorithm and Its Application
WANG Chong-rong1,KAN Hai-yu1,JING Li-xian1,CHEN Li-fang2
(1.Yi-sheng Innovation Education Base,North China University of Science and Technology,Tangshan Hebei 063210,China;2.College of Science,North China University of Science and Technology,Tangshan Hebei 063210,China)
kernel principal component analysis; genetic algorithm; RBF neural network; health degree evaluation
Based on the correlation of data and the accuracy and efficiency of predicting model under the influence of network parameters initialization randomness,the Kernel Principal Component Analysis (KPCA) and Particle Swarm Optimization (PSO) algorithm were put forward to optimize neural network structure and parameter and improve the efficiency and precision of the forecast model.First of all,the KPCA was applied to the acquisition of indicators related to human health,reduce the data dimension and eliminate the correlation between attributes,which makes the selection of influence factors more scientific and reasonable,and the model structure more compact.Then,in view of the default of initialization parameter setting arbitrary in BP network large,RBF neural network was applied to optimize network initial parameters,so as to avoid early convergence of premature in network learning process in local minimum values.MATLAB was applied to realize the training and simulation of the model.The analysis and comparison results show that the prediction model constructed through the method can eliminate the correlation among the indexes,and greatly improve the forecasting precision and speed.It provides a new research approach for solving the prediction problems.
2095-2716(2017)03-0109-07
2016-12-26
2017-05-06
華北理工大學(xué)校級(jí)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(X2016303)。
O242.1
A