□文/丁靖哲
(河南大學經濟學院 河南·開封)
[提要]BP神經網絡可以通過學習功能利用樣本數據模擬復雜的函數,適用于解決科研人才需求預測問題。本文搜集河南省有關數據,利用BP神經網絡構建科研人才需求預測模型,并對模型的預測精度進行評估,在科研人才需求預測結果基礎上,提出預測模型的改進措施。
BP神經網絡是人工神經網絡的傳統模型之一,Lapedees等首先采用非線性神經網絡對時間序列數據進行了訓練并進行預測,結果表明神經網絡預測模型具有更高的預測精度。
神經網絡方法經過多年發展已經被學者們廣泛采納和使用。如何永貴、韓月娥等學者運用神經網絡方法預測企業人力資源需求,發現在企業人力資源需求領域,神經網絡有其獨特優勢。陳振斌、張萬紅和彭勃運用神經網絡模型對江蘇省技術人才進行動態預測,發現神經網絡在預測動態人才系統時的優點。雷明佳、孫鈺涵等運用BP人工神經網絡模型預測林業系統從業人員數量變化。文嵐和張娜結合廣西區域經濟發展特點應用BP神經網絡模型預測廣西科技人才需求量,發現BP神經網絡可以對廣西科技人才需求量實現較好的非線性擬合,并進行自學習自適應。何文章、咸桂彩、陳珂運用BP神經網絡預測了高技能人才數量隨時間變化的規律。
既有研究表明,利用BP神經網絡構建的人才需求預測模型與其他研究方法相比具有一定優勢,但仍需不斷完善。鑒于此,本文根據BP神經網絡相關理論,選擇相關指標,并采用河南省2010~2020年相關數據,構建了科研人才預測模型,并采用相關指標對模型進行評價,為科學開展科研人才需求預測工作提供方法依據。
BP神經網絡的基本理論是:學習過程通過正向傳播信號和反向傳播兩個過程組成。正向傳播時,把樣本的特征從輸入層進行輸入,信號經過各個隱藏層的處理后,最后從輸出層傳出。對于網絡的實際輸出與期望輸出之間的誤差,把誤差信號從最后一層逐層反傳,從而獲得各個層的誤差學習信號,然后再根據誤差學習信號來修正各層神經元的權值。BP神經網絡預測法的優勢是對變量間的非線性現象的完美解釋和隨意調整模型結構。此外,模型結構之間的差異,致使預測性能也有所不同,在研究多元變量間的預測領域發揮獨特作用。因此,基于BP神經網絡理論,利用Python軟件對科研人才需求進行預測,有助于科學合理地發現科研人才需求規律。
(一)指標篩選。指標體系的建立是對問題進行研究的前提和基礎,科研人才需求預測的難點在于如何選擇高質量指標,這就要求所選取的指標能夠解釋影響人才需求的因素。
科研人才的數量取決于科技的發展環境,而科技的發展環境包含的要素較多,目前普遍的觀點是影響科技人才的主要因素包括經濟發展水平、科技教育和居民素質狀況、人才工作環境狀況等。由于科研人才需求預測容易受到區域經濟以及政策的影響,與其密切相關的指標具有時序性、復雜性的特點,所以很難建立包羅萬象的指標體系,因此必須在此基礎上優化選擇,從實際出發選出具有代表性和可操作性的指標,構建影響科研人才需求的指標體系。
(二)具體指標。影響科研人才需求預測的因素是復雜多樣的,在選擇科研人才需求預測的指標時,應該綜合衡量經濟、社會、科技和教育等其他因素對科技人才需求可能產生的影響。
1、經濟發展水平指標。該類指標應體現區域經濟發展狀況,應包括區域生產總值、人均可支配收入、財政收支、固定資產投資、經濟增長率等指標。經濟越發達的地區,對科研人才的需求量也越大。
2、社會發展水平指標。該類指標應考慮就業人員行業和就業者文化水平,應包括就業人數、高校學生數、第三產業從業比例等因素。社會生活環境同樣影響科研人才需求。當社會生活環境優化時,地區對科研人才吸引力提高。因此,在進行科研人才需求預測時,需要充分考慮社會生活環境對科研人才的需求影響狀況。
3、科技和教育指標。科技創新資源尤其是高新技術產業具有強大的拉動力量,有利于城市科技創新步伐,對于提高區域科研人才需求數量也有一定的促進作用。教育文化環境體現了地區教育水平、人才受教育程度和教育投入產出狀況。高等學校規模與硬件設施、研究機構數量等因素同樣對科研人才的需求存在影響。
基于上述分析,結合現有文獻所構建的指標體系,本文構建了科研人才需求預測指標體系,如表1所示。為保證指標的合理性并確保模型預測精度,在科研人才需求預測指標的篩選中,本文運用多元統計分析法對上述指標進行分析。使用河南省面板數據,運用SPSS軟件對上述指標進行分析,再選取與科研人才需求最相關的指標。分析顯示,相關系數最高的指標為人均區域生產總值、勞動生產率、區域生產總值、固定資產投資、人均可支配收入、財政收入、財政支出、科研經費支出、專利申請數、專利授權數、高等學校平均在校生、高等學校平均畢業生、高等學校專任教師數、教育支出、科學技術支出、科研機構數量,其相關系數分別為:0.94、0.94、0.95、0.93、0.95、0.95、0.95、0.94、0.92、0.9、0.93、0.92、0.95、0.96、0.92、0.83。上述指標的相關系數均在0.9上下浮動,表明這些指標對科研人才需求數量的影響比較大。因此,本文認為影響科研人才需求預測的主要指標為財政收支、區域生產總值、人均地區生產總值、勞動生產率、固定資產投資等16項指標。(表1)
(三)模型構建。BP神經網絡是最傳統的神經網絡,當面對大量數據時,BP神經網絡可以通過學習數據集中的模式和關系,自動發現其中的規律并進行分類、回歸等任務。BP神經網絡具有可以處理高維數據、自適應性強、學習能力強、并行計算能力強等優點,從而可以刻畫出高精度模型。基于BP神經網絡的科研人才預測模型構建的主要任務是處理樣本數據、設計網絡結構,并對網絡進行訓練與檢驗。
1、數據樣本的選擇處理。首先,需要選擇具有代表性的數據,從而使BP神經網絡在學習的過程中可以處理表現內部關系的數據,進而通過算法發現數據之間的模式關系。其次,大樣本數據可以使模型預測結果精度更高。最后,將樣本數據歸一化,將數據映射在[-1,1]的區間內,便于不同單位或量級的指標能夠進行比較和加權。使用的公式為:X=(x-xmin)/(xmax-xmin)。其中,X代表歸一化處理后的網絡數據,x代表歸一化處理前的原始數據,xmax與xmin分別代表原始數據中的最大值與最小值。經過歸一化后,將有量綱的數據變成無量綱數據,還可以達到簡化計算的作用。
2、網絡結構的設計。網絡結構的設計分為確定網絡層數和設置神經元數量兩項任務。網絡層數和設置神經元數量的確定需要重復多次試驗,根據實驗的結果來確定最佳數量。
(1)確定網絡層數。BP神經網絡模型的隱藏層可以選擇一層或者多層,二者的差異主要體現在隱藏層層數的數量不同。對于簡單的小數據集,通常使用一層或兩層隱藏層。但對于與時間序列相關的龐大數據集,則需要更多的層數。層數越多,擬合數據的能力更強,可以有效降低模型的輸出誤差,效果按理說會更好,但是實際上更多的層數可能會引起模型過擬合,同時也會導致訓練次數增加,訓練成本過高,模型難以收斂,從而造成BP神經網絡模型難以適應新數據。因此,在設計BP神經網絡時,本文選擇只有一層隱藏層的三層BP神經網絡模型,此種神經網絡模型在處理小規模時間序列數據時性能優異,且訓練成本較低,速度較快。
(2)設置神經元數量。輸入層的神經元數量等于待處理數據中輸入變量的數量,輸出層的神經元的數量等于與每個輸入關聯的輸出的數量。隱藏層神經元數量會影響模型學習能力。神經元數量過少將導致模型難以從數據中提取有效信息,引起欠擬合。當神經元數量過多時,需要更大的訓練集來確定連接權值,并且會增加訓練成本,減弱容錯性能,導致預測結果偏差過大。因此,需要確定合適的隱藏層神經元數量。隱藏層神經元個數的確定需要自己不斷試驗。借鑒經驗公式i=計算出神經元數量的大致數量。從一個較小神經元數量開始不斷進行網絡訓練,最后選擇可以使網絡訓練誤差達到最小的神經元數量。
3、網絡訓練與檢驗。在網絡構建完成后,接下來輸入樣本數據進行網絡訓練與檢驗。神經網絡的學習,也就是訓練過程,指的是輸入層神經元接收輸入數據,將信數據傳遞給中間層神經元,最后傳遞到輸出層神經元,由輸出層輸出數據處理結果的過程。在這個過程中,神經網絡不斷修正網絡的權值和閾值,實現模型的學習和訓練,當網絡輸出的誤差減少到合理范圍內,或者完成學習次數后,就可以終止學習。在網絡模型訓練中,使用學習率來調整網絡的權值和閾值。學習率直接影響我們的模型能夠以多快的速度達到最好的精度。一般來說,學習率越小,損失梯度下降的速度越慢,可以避免錯過任何局部最優解,但也意味著我們要花更多時間來收斂。但是,如果太大,就會導致收斂不穩定,始終難以達到最優。通常先以較低的學習率開始訓練模型,在后續訓練過程中逐漸提高學習率,從而估計出最佳學習速率。
網絡檢驗的目的是保證通過訓練集數據訓練出的網絡模型對測試集數據具有良好的泛化能力。通常將數據劃分為兩部分,將70%的數據作為訓練集,剩余30%數據作為測試集。如果網絡模型在訓練集正確度比較低,在測試集上測試正確度較低,說明網絡訓練欠擬合,泛化能力良好;反之,則說明泛化能力較差。在網絡精度不斷提高的前提下,將測試集數據輸入到網絡模型,計算預測誤差,誤差越低則模型的擬合效果越好,預測精度越高。
4、程序實現。這一步主要通過Python軟件實現,運用Python內部自帶的神經網絡工具箱對數據進行仿真訓練。主要使用Train函數和Sim函數。Train函數是一種用來建立模型的機器學習函數,用于從原始數據中訓練某種模型,從而得出一個最優模型,使模型實現最小誤差的預測效果。Train函數用于訓練創建好的網絡,指導網絡連接權重的更新以及閾值的調整。Sim函數用于用訓練好的BP神經網絡預測函數輸出并修正完善BP神經網絡。
本文基于BP神經網絡基本思想構建科研人才需求預測模型,選擇河南省數據作為樣本數據,并檢驗該模型在實際運用時的有效性。
(一)樣本選擇和樣本數據來源
1、樣本選擇。本文選擇河南省區域數據作為樣本。河南省作為人口大省,面臨著經濟轉型和經濟結構性調整的重要任務。在優化經濟結構、選擇新的經濟增長點的情況下,現有的科研人才效用難以得到充分發揮。基于上述分析,科研人才需求預測模型的輸入變量為財政收支、人均地區生產總值、勞動生產率、固定資產投資等16個變量;輸出變量為科研人才需求量。由此得出,輸入向量為Xk=(xk1,xk2,xk3,…,xkn),k=1,2,3,…,n,輸入單元個數n=5;期望輸出向量為Yk=(yk1,yk2,yk3,…,ykm),輸出單元個數m=1,包含一個隱含層。隱含層神經元個數通過多次訓練確定為12。該模型的相關權值設置為:學習率Lr=1e-3,最大訓練次數Epoch=2000。
2、樣本數據來源。為了使科研人才需求預測具有代表性和穩健性,本文搜集了河南省2010~2020年科研人才需求預測相關變量指標的時間序列數據。(表2)

表2 2010~2020年河南省科研人才需求預測相關變量時間序列值一覽表
(二)網絡訓練與測試
1、網絡訓練。BP神經網絡訓練將2010~2016年數據作為訓練集。為了提供更快的收斂和更穩定的訓練,在訓練前對訓練集數據進行歸一化處理。訓練集數據處理完成后,使用多層感知機(MLP)對數據進行擬合訓練進行回歸預測,運用train函數對測試集數據進行網絡訓練,網絡訓練結果見圖1。(圖1)

圖1 隱藏層單元數為12時的網絡訓練結果圖
2、網絡測試。模型訓練結束后,對模型進行測試以驗證其在真實預測過程中的準確性。使用2017~2020年數據為測試集,在對測試集數據進行歸一化處理后將數據輸入已訓練好的神經網絡模型中,進行網絡仿真。比較輸出值與真實值的誤差,從而檢驗網絡性能。測試結果見表3。(表3)

表3 2010~2020年河南省科研人才預測BP神經網絡分析結果一覽表
由表3可知,2017~2020年河南省科研人才需求數量預測值分別為106,339人、110,451人、117,431人、123,913人。通過BP神經網絡預測得到預測值與真實值之間的相對誤差均值約為0.037041021,平均絕對百分比誤差約為0.037041021,說明了預測值與真實值之間偏差較小,BP神經網絡在科研人才需求預測上不僅是有效的,而且精確度較高。
精確有效的科研人才需求預測是制定科研人才培養和吸引規劃的前提。基于BP神經網絡的科研人才需求預測模型借鑒了先前學者的研究成果,運用多元統計分析法選取影響科研人才需求的各項指標,構建了科研人才預測模型,有助于發現河南省科研人才需求數量的內在規律。
基于BP神經網絡構建的科研人才需求預測模型有以下優點:可以在軟件內部直接調用工具箱,易于操作,結果直觀明確。但也存在局限性,比如隱藏層神經元個數沒有固定標準,需要通過重復多次訓練來得到最佳參數,從而提高模型預測精度。因此,本文認為在利用BP神經網絡進行科研人才預測時,可以在以下方面進行完善:首先,需要關注科研人才需求預測高度相關的指標。根據經濟發展狀況和政策變化完善相關指標體系,重視對預測指標體系研究,關注預測指標體系的動態變化,為實現合理的科研人才需求預測工作提供基礎。此外在選取預測指標數據時,要避免出現極端數據和數據缺失情況,從而使模型預測結果具有穩定性。并且需要確保該指標統計口徑一致,防止指標數據出現不明變化。其次,采用合理的模型變量選擇方法。運用多元統計分析法選擇模型的輸入變量雖然可以提高模型預測能力,但是變量之間具有多重共線性,而且模型難以解釋各個變量對輸出變量的影響程度。因此,在應用BP神經網絡構建科研人才需求預測模型時,需要進一步研究并改進變量選擇和模型算法。