楊茂江
(茂名市高級(jí)技工學(xué)校,廣東 茂名525000)
中國是一個(gè)人口大國, 人口問題始終是制約我國發(fā)展的關(guān)鍵因素之一, 但是要確定人口發(fā)展戰(zhàn)略, 必須既著眼于人口本身的問題, 又處理好人口與經(jīng)濟(jì)社會(huì)資源環(huán)境之間的相互關(guān)系, 構(gòu)建社會(huì)主義和諧社會(huì), 統(tǒng)籌解決人口數(shù)量、素質(zhì)、結(jié)構(gòu)、分布等問題。已有的文獻(xiàn)采用微分方程、灰色系統(tǒng)和曲線擬合等方法研究了我國人口問題[1-2]。 本文根據(jù)近年來中國的人口發(fā)展所出現(xiàn)一些新的特點(diǎn), 以及近幾年中國人口抽樣數(shù)據(jù)及現(xiàn)有全國人口普查數(shù)據(jù), 運(yùn)用人工神經(jīng)網(wǎng)絡(luò)算法[3-4]對(duì)中國人口做出了分析和預(yù)測(cè)。人工神經(jīng)網(wǎng)絡(luò)(ANN)可以通過學(xué)習(xí)來抽取和逼近輸入輸出之間存在的非線性關(guān)系。 因此,基于人工神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)方法成為近幾年研究的熱點(diǎn)。目前,主要采用BP 神經(jīng)網(wǎng)絡(luò)、局部反饋性神經(jīng)網(wǎng)絡(luò)等。 BP 神經(jīng)網(wǎng)絡(luò)是人工神經(jīng)網(wǎng)絡(luò)中應(yīng)用最廣泛的算法。
BP 神經(jīng)網(wǎng)絡(luò)的輸入與輸出之間是一種高度非線性映射關(guān)系,如果輸入節(jié)點(diǎn)數(shù)是N,輸出節(jié)點(diǎn)數(shù)是M,則網(wǎng)絡(luò)是從N 維歐式空間到M維歐式空間的映射。 通過調(diào)整BP 神經(jīng)網(wǎng)絡(luò)的連接權(quán)值和網(wǎng)絡(luò)的規(guī)模(包括N,M 和隱層節(jié)點(diǎn)數(shù)),可以以任意精度逼近任何非線性函數(shù)。
BP 算法的訓(xùn)練過程包括輸入信號(hào)的正向傳播和輸出誤差的反向傳播兩個(gè)過程。BP 算法首先進(jìn)行輸入信號(hào)的正向傳播。輸入的樣本首先進(jìn)入網(wǎng)絡(luò)的輸入層,經(jīng)中間隱含層的分析計(jì)算處理后,進(jìn)入輸出層得到樣本訓(xùn)練輸出結(jié)果。 如果網(wǎng)絡(luò)最終輸出與網(wǎng)絡(luò)期望輸出值(導(dǎo)師信號(hào))存在誤差,那么就進(jìn)行誤差的反向傳播。 誤差的反向傳播首先將誤差按照一定的學(xué)習(xí)算法整理成相應(yīng)的形式, 由隱含層傳播至輸入層,并將誤差分配給各層的所有神經(jīng)元上,從而獲得各層神經(jīng)元的誤差信號(hào),此誤差信號(hào)即作為修正各神經(jīng)元權(quán)值的依據(jù)。 這種權(quán)值修正的過程,也就是網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練過程。這種過程不斷迭代,最后使得誤差信號(hào)達(dá)到允許的范圍內(nèi)。
在BP 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)前,首先要訓(xùn)練網(wǎng)絡(luò),通過訓(xùn)練使網(wǎng)絡(luò)有聯(lián)想記憶和預(yù)測(cè)的能力。 具體的步驟如下:
第一步:設(shè)置好已知參數(shù),包括目標(biāo)輸出、預(yù)期平均誤差、隱含層的數(shù)量與神經(jīng)元個(gè)數(shù)、輸出層的神經(jīng)元個(gè)數(shù)、各層的權(quán)值與閥值等。
第二步:數(shù)據(jù)歸一化。在設(shè)定好各種參數(shù)之后,確定每一樣本的參數(shù)。 每一樣本的每個(gè)數(shù)據(jù)作為輸入層神經(jīng)元,所有樣本計(jì)算做為一個(gè)學(xué)習(xí)周期,為了使網(wǎng)絡(luò)能更快地收斂,應(yīng)該將輸入層神經(jīng)元?dú)w一化,即將其按照式(1)轉(zhuǎn)換為(0,1)之間的值,其中x 是樣本數(shù)據(jù)。
第三步:確定樣本數(shù)據(jù)之后,通過每一個(gè)樣本數(shù)據(jù)對(duì)網(wǎng)絡(luò)進(jìn)行的計(jì)算。 計(jì)算時(shí)首先將輸入層神經(jīng)元按照式(2)計(jì)算出隱含層輸入,其中h 表示隱含層,k 表示第k 個(gè)樣本,wih表示第i 個(gè)輸入層神經(jīng)元與第h個(gè)隱含層神經(jīng)元之間連接的權(quán)值,bh表示隱含層第h 個(gè)神經(jīng)元的閥值。 計(jì)算隱含層輸入之后通過可導(dǎo)函數(shù)(一般選擇sigmond 函數(shù),如式(3)所示,其中x 表示隱含層輸入)處理得出隱含層輸出;將第一層隱含層的輸出作為下一隱含層的神經(jīng)元進(jìn)行下一隱含層輸入計(jì)算,在通過可導(dǎo)函數(shù)處理得出下一層隱含層的輸出如此反復(fù)計(jì)算,直至隱含層全部計(jì)算完;
第四步:誤差計(jì)算,更新權(quán)值和閥值。
第五步:判斷誤差是否符合預(yù)定要求,若符合,則停止迭代;否則轉(zhuǎn)第二步。
圖1 BP 神經(jīng)網(wǎng)絡(luò)流程圖
為了驗(yàn)證神經(jīng)網(wǎng)絡(luò)模型在人口預(yù)測(cè)中的效果,本文采用的我國人口數(shù)據(jù)均來自1995 -2012 年的《中國統(tǒng)計(jì)年鑒》,具體數(shù)值如表1 所示。 我們將數(shù)據(jù)分為兩部分,1995-2008 年作為訓(xùn)練樣本,2009-2012年作為測(cè)試樣本。
表1 1995-2012 年我國人口數(shù)據(jù)統(tǒng)計(jì)(年/萬人)
如果隱含層神經(jīng)元數(shù)目過少,網(wǎng)絡(luò)很難識(shí)別樣本,難以完成訓(xùn)練,并且網(wǎng)絡(luò)的容錯(cuò)性也會(huì)降低;如果數(shù)目過多,則會(huì)增加網(wǎng)絡(luò)的迭代次數(shù),從而延長網(wǎng)絡(luò)的訓(xùn)練時(shí)間,同時(shí)也會(huì)降低網(wǎng)絡(luò)的泛化能力,導(dǎo)致預(yù)測(cè)能力下降。在選擇隱含層層數(shù)時(shí)要從網(wǎng)絡(luò)精度和培訓(xùn)時(shí)間上綜合考慮。在具體設(shè)計(jì)時(shí),首先根據(jù)經(jīng)驗(yàn)公式初步確定隱含層神經(jīng)元個(gè)數(shù),然后通過對(duì)不同神經(jīng)元數(shù)的網(wǎng)絡(luò)進(jìn)行訓(xùn)練對(duì)比, 再最終確定神經(jīng)元數(shù)。通用的隱含層神經(jīng)元數(shù)的確定經(jīng)驗(yàn)公式有:
其中i 為隱含層神經(jīng)元的個(gè)數(shù),n 為輸入層神經(jīng)元的個(gè)數(shù),m 為輸出層神經(jīng)元的個(gè)數(shù), a 為常數(shù)且1<a<10 。 則在本文中,經(jīng)過不斷的模擬實(shí)驗(yàn),以出錯(cuò)率、偏差值、訓(xùn)練次數(shù)、時(shí)間作為成功與否的3 個(gè)判斷條件,當(dāng)3 個(gè)條件都符合的時(shí)候即為符合條件的神經(jīng)網(wǎng)絡(luò)。 從符合條件的多個(gè)神經(jīng)網(wǎng)絡(luò)中挑選出最佳的一組,最終將隱含層節(jié)點(diǎn)數(shù)確定為3 個(gè)(即網(wǎng)絡(luò)結(jié)構(gòu)為1-3-1),輸入層轉(zhuǎn)移函數(shù)確定為tansig,輸出層函數(shù)確定為tansig。學(xué)習(xí)次數(shù)為1000 次,學(xué)習(xí)函數(shù)為默認(rèn)函數(shù),訓(xùn)練函數(shù)為trainlm 函數(shù),訓(xùn)練次數(shù)為500 次。
圖2 BP 神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)訓(xùn)練圖
由圖2 可知,神經(jīng)網(wǎng)絡(luò)很快就訓(xùn)練收斂了。 經(jīng)過多次訓(xùn)練和學(xué)習(xí),得到BP 網(wǎng)絡(luò)的預(yù)測(cè)值。 預(yù)測(cè)結(jié)果是2009-2012 年人口預(yù)測(cè)數(shù)量分別為:133487,133985,135139,135431.(單位:萬人)。
將BP 預(yù)測(cè)值與實(shí)際值做比較, 2009-2012 年的相對(duì)誤差為0.01%、0. 01%、0.3%、0. 009%.
BP 網(wǎng)絡(luò)預(yù)測(cè)結(jié)果表明, 比其他數(shù)學(xué)方法預(yù)測(cè)值更接近實(shí)際值.這是因?yàn)槲覈娜丝跀?shù)量受多種因素的影響,人口的增長呈非線性局勢(shì), 而BP 網(wǎng)絡(luò)的優(yōu)點(diǎn)就在于它的非線性趨近性和泛化能力。 本文采用自適應(yīng)學(xué)習(xí)速率和附加動(dòng)量法相結(jié)合的方法, 比應(yīng)用單一的方法效果要好很多。 BP 網(wǎng)絡(luò)具有它的局限性, 隱含層的設(shè)計(jì)是人為設(shè)定的,這樣很容易造成誤差。 因此, 如何更好的將BP 網(wǎng)絡(luò)與其他神經(jīng)網(wǎng)絡(luò)結(jié)合起來應(yīng)用于人口預(yù)測(cè)系統(tǒng), 是我們以后努力的方向。
[1]王曉龍,楊廣,張保華.灰色及其改進(jìn)模型在人口預(yù)測(cè)中的應(yīng)用[J].世界科技研究與發(fā)展,2009,31(4):757-758.
[2]蔣超,楊琳,付敏.中國人口預(yù)測(cè)的數(shù)學(xué)模型[J].內(nèi)江師范學(xué)院學(xué)報(bào),2008,3(12):33-35.
[3]邢立遠(yuǎn),黃東偉,曹宇.BP 神經(jīng)網(wǎng)絡(luò)在中國人口預(yù)測(cè)中的應(yīng)用[J].紡織高?;A(chǔ)科學(xué)學(xué)報(bào),2010,23(3):386-388.
[4]陳虹,田八林.徑向基函數(shù)網(wǎng)絡(luò)在陜西省人口預(yù)測(cè)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2005,28(23):91-92.