景 毅,曹 輝
(西南科技大學(xué),四川 綿陽 621010)
隨著就業(yè)形勢越來越嚴(yán)峻,城市就業(yè)的競爭也日益激烈,對城市就業(yè)需求量進(jìn)行分析和預(yù)測,可以科學(xué)把握城市就業(yè)需求量的變化規(guī)律,并根據(jù)該規(guī)律提前了解城市就業(yè)需求量的變化趨勢,不僅可以幫助就業(yè)者更好地規(guī)劃自己的人生計劃,同時為就業(yè)管理者提供有價值的指導(dǎo)意見。因此,城市就業(yè)需求量預(yù)測研究成為大家關(guān)注的焦點(diǎn)[1-3]。
針對城市就業(yè)需求量預(yù)測問題,國內(nèi)外學(xué)者進(jìn)行了廣泛的研究,涌現(xiàn)出了許多有效的城市就業(yè)需求量預(yù)測系統(tǒng)[4-5]。最初通過一些專家建立城市就業(yè)需求量預(yù)測系統(tǒng),該系統(tǒng)的工作過程比較繁瑣,使得城市就業(yè)需求量預(yù)測時間長,而且城市就業(yè)需求量預(yù)測誤差大[6]。
隨后出現(xiàn)了基于計算機(jī)的城市就業(yè)需求量預(yù)測系統(tǒng),該系統(tǒng)主要采用一些數(shù)據(jù)分析技術(shù),如聚類分析算法、人工神經(jīng)網(wǎng)絡(luò)建立城市就業(yè)需求量預(yù)測系統(tǒng)[7-8]。由于聚類分析算法是一種線性預(yù)測技術(shù),而城市就業(yè)需求量與多種因素有關(guān),如城市發(fā)展程度、經(jīng)濟(jì)水平、人文環(huán)境、人才吸引政策,使得城市就業(yè)需求量變化具有一定的隨機(jī)性,因此聚類分析算法的城市就業(yè)需求量預(yù)測結(jié)果不理想[9];人工神經(jīng)網(wǎng)絡(luò)克服了聚類分析算法的局限性,可以描述城市就業(yè)需求量的隨機(jī)性,因此城市就業(yè)需求量預(yù)測精度得到了提高[10-12]。
但是人工神經(jīng)網(wǎng)絡(luò)同樣存在一些不足,如城市就業(yè)需求量預(yù)測建模速度慢、耗時長、城市就業(yè)需求量預(yù)測結(jié)果不穩(wěn)定,同時當(dāng)前主要采用單機(jī)平臺搭建城市就業(yè)需求量預(yù)測系統(tǒng),無法滿足大規(guī)模城市就業(yè)需求量的預(yù)測效率要求,城市就業(yè)需求量預(yù)測系統(tǒng)的實(shí)時性差[13-14]。
為了解決當(dāng)前城市就業(yè)需求量預(yù)測系統(tǒng)存在的一些缺陷,以提高城市就業(yè)需求量預(yù)測精度為目標(biāo),提出基于云計算技術(shù)的城市就業(yè)需求量預(yù)測系統(tǒng)。該系統(tǒng)采用云計算技術(shù)搭建城市就業(yè)需求量預(yù)測平臺,使用多個節(jié)點(diǎn)同時對城市就業(yè)需求量進(jìn)行建模和預(yù)測,相同平臺下,與其他城市就業(yè)需求量預(yù)測系統(tǒng)仿真對比結(jié)果表明,本文系統(tǒng)的城市就業(yè)需求量預(yù)測精度得以提高,而且城市就業(yè)需求量預(yù)測時間明顯縮短,預(yù)測綜合性能更優(yōu)。
隨著信息技術(shù)的發(fā)展,各個行業(yè)都有自己的信息處理系統(tǒng),每天會產(chǎn)生大量的數(shù)據(jù),傳統(tǒng)單機(jī)平臺由于技術(shù)和硬件工藝等條件的限制,其性能已經(jīng)達(dá)到瓶頸,上升的空間相當(dāng)小,平臺無法滿足大數(shù)據(jù)分析的要求,在此背景下產(chǎn)生了云計算平臺。
云計算平臺包括許多模塊,其中有兩個核心模塊:分布式文件系統(tǒng)和MapReduce 并行運(yùn)行模型。其中,分布式文件系統(tǒng)主要負(fù)責(zé)對大數(shù)據(jù)進(jìn)行存儲和管理,將一個大數(shù)據(jù)分析問題劃分成多個子問題,然后將子問題分析到相應(yīng)的機(jī)器節(jié)點(diǎn)上;MapReduce 主要負(fù)責(zé)大規(guī)模數(shù)據(jù)集的運(yùn)算,對大數(shù)據(jù)分析問題采用“分而治之”的思想。
云計算平臺的結(jié)構(gòu)如圖1 所示。
圖1 云計算平臺的基本結(jié)構(gòu)
分布式文件系統(tǒng)采用主從架構(gòu)設(shè)計,由許多節(jié)點(diǎn)組成,可以將節(jié)點(diǎn)劃分為兩大類:名稱節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn),名稱節(jié)點(diǎn)的數(shù)量通常為1 個,而數(shù)據(jù)節(jié)點(diǎn)的數(shù)量有多個。名稱節(jié)點(diǎn)負(fù)責(zé)對數(shù)據(jù)節(jié)點(diǎn)進(jìn)行管理,通常情況下,客戶端會向名稱節(jié)點(diǎn)發(fā)送文件操作的請求,而名稱節(jié)點(diǎn)將客戶端的相關(guān)信息反饋給數(shù)據(jù)節(jié)點(diǎn),最后數(shù)據(jù)節(jié)點(diǎn)根據(jù)反饋結(jié)果對文件進(jìn)行相應(yīng)的操作。
數(shù)據(jù)節(jié)點(diǎn)為云計算的存儲單元,每個數(shù)據(jù)塊會在多個數(shù)據(jù)節(jié)點(diǎn)進(jìn)行備份,即保持一定的冗余,當(dāng)某一個數(shù)據(jù)節(jié)點(diǎn)出現(xiàn)故障不能正常工作時,其他數(shù)據(jù)節(jié)點(diǎn)可以使用,從而保證分布式文件系統(tǒng)長期處于正常工作狀態(tài)。
分布式文件系統(tǒng)架構(gòu)如圖2 所示。
圖2 分布式文件系統(tǒng)架構(gòu)
MapReduce 負(fù)責(zé)數(shù)據(jù)的處理和分析任務(wù),是云計算平臺的靈魂,最開始由Google 公司開發(fā),其將一個復(fù)雜的問題進(jìn)行分塊,得到若干個小問題,每一個小問題對應(yīng)一個Map 函數(shù),多個Map 函數(shù)并行運(yùn)行,對小問題進(jìn)行處理,并將處理結(jié)果發(fā)送給Reduce,Reduce 對Map 的處理進(jìn)行融合和匯總,具體工作流程如圖3 所示。
圖3 MapReduce 的工作流程
由于城市就業(yè)需求量數(shù)據(jù)向大規(guī)模、海量方向發(fā)展,單機(jī)平臺難以滿足當(dāng)前城市就業(yè)需求量預(yù)測建模的效率要求,為此本文引入云計算平臺建立城市就業(yè)需求量預(yù)測系統(tǒng)。
城市就業(yè)需求量預(yù)測系統(tǒng)工作原理為:首先將城市就業(yè)需求量數(shù)據(jù)輸入到分布式文件系統(tǒng),并將城市就業(yè)需求量數(shù)據(jù)劃分為多個子塊,然后通過Map 函數(shù)將每一個子塊分配到相應(yīng)的數(shù)據(jù)節(jié)點(diǎn)上,所有數(shù)據(jù)節(jié)點(diǎn)并行運(yùn)行,其中每一個節(jié)點(diǎn)上采用大數(shù)據(jù)分析算法——支持向量機(jī)對城市就業(yè)需求量進(jìn)行建模與預(yù)測,最后通過Reduce 函數(shù)對城市就業(yè)需求量預(yù)測結(jié)果進(jìn)行匯總、輸出,具體原理如圖4 所示。
圖4 云計算的城市就業(yè)需求量智能預(yù)測原理
式中w和b分別表示權(quán)值和閾值。
為找到最優(yōu)超平面,那么首先要確定最優(yōu)的w和b,第i個樣本到最優(yōu)超平面之間的間隔為:
對w和b進(jìn)行歸一化操作,得到:
對于所有樣本點(diǎn)(xi,yi),i=1,2,…,n,可以建立如下的條件約束:
最優(yōu)超平面的求解可以變化成一個二次規(guī)劃問題的求解,具體如下:
使用拉格朗日法對式(5)的問題進(jìn)行求解,首先建立拉格朗日函數(shù),即有:
式中ai為拉格朗日乘子。
對式(6)的w和b進(jìn)行求偏導(dǎo)操作,并且使偏導(dǎo)為零,即有:
這樣可以得到原問題的對偶形式,具體如下:
經(jīng)過以上公式可以得到最優(yōu)的w和b,最后得到支持向量機(jī)預(yù)測建模的決策函數(shù)為:
式中x表示測試樣本。
Step1:收集某一個城市就業(yè)需求量的歷史數(shù)據(jù),并去除一些錯誤的城市就業(yè)需求量樣本點(diǎn),將數(shù)據(jù)劃分為訓(xùn)練樣本和測試樣本。
Step2:根據(jù)城市就業(yè)需求量的訓(xùn)練樣本確定支持向量機(jī)的結(jié)構(gòu),并初始化支持向量機(jī)的相關(guān)參數(shù)。
Step3:采用支持向量機(jī)對城市就業(yè)需求量的訓(xùn)練樣本進(jìn)行學(xué)習(xí),通過10 折交叉驗(yàn)證確定向量機(jī)最優(yōu)參數(shù)值。
Step4:根據(jù)最優(yōu)參數(shù)值建立城市就業(yè)需求量預(yù)測模型。
Step5:采用測試樣本對城市就業(yè)需求量預(yù)測模型的預(yù)測精度進(jìn)行分析。
大數(shù)據(jù)分析算法的城市就業(yè)需求量預(yù)測流程如圖5所示。
圖5 大數(shù)據(jù)分析算法的城市就業(yè)需求量預(yù)測流程
為了測試基于云計算技術(shù)的城市就業(yè)需求量預(yù)測系統(tǒng)的性能,對其進(jìn)行仿真實(shí)驗(yàn),云計算平臺包括1 個主節(jié)點(diǎn),5 個從節(jié)點(diǎn),城市就業(yè)需求量預(yù)測的云計算平臺設(shè)計如表1 所示。
表1 城市就業(yè)需求量預(yù)測的測試平臺設(shè)計
為了使基于云計算技術(shù)的城市就業(yè)需求量預(yù)測系統(tǒng)的結(jié)果有可比性,選擇單機(jī)的城市就業(yè)需求量預(yù)測系統(tǒng)進(jìn)行對比,其中單機(jī)系統(tǒng)采用BP 神經(jīng)網(wǎng)絡(luò)作為城市就業(yè)需求量建模與預(yù)測算法,驗(yàn)證支持向量機(jī)的優(yōu)越性。
選擇某城市一段時間的就業(yè)需求量數(shù)據(jù)作為實(shí)驗(yàn)樣本,該數(shù)據(jù)的樣本數(shù)量為150 個,為了使實(shí)驗(yàn)結(jié)果具有比較強(qiáng)的說服力,進(jìn)行5 次仿真實(shí)驗(yàn),每一次仿真實(shí)驗(yàn)選擇不同數(shù)量的訓(xùn)練樣本和測試樣本,具體如表2所示。
表2 城市就業(yè)需求量預(yù)測的測試數(shù)據(jù)
統(tǒng)計兩種系統(tǒng)的城市就業(yè)需求量預(yù)測精度,結(jié)果如圖6 所示。
圖6 兩種系統(tǒng)的城市就業(yè)需求量預(yù)測精度
對圖6 的城市就業(yè)需求量預(yù)測精度進(jìn)行分析可以發(fā)現(xiàn),相對于對比系統(tǒng),本文系統(tǒng)的城市就業(yè)需求量精度得到了一定的提高,這主要是因?yàn)楸疚南到y(tǒng)采用大數(shù)據(jù)分析算法——支持向量機(jī)對城市就業(yè)需求量的變化規(guī)律進(jìn)行建模,可以高精度刻畫城市就業(yè)需求量的變化趨勢,降低了城市就業(yè)需求量預(yù)測誤差,獲得了更優(yōu)的預(yù)測結(jié)果,驗(yàn)證了本文系統(tǒng)引入支持向量機(jī)對城市就業(yè)需求量預(yù)測進(jìn)行建模的優(yōu)越性。
為了體現(xiàn)云計算平臺的優(yōu)越性,將表2 的實(shí)驗(yàn)樣本擴(kuò)大100 倍,統(tǒng)計兩種系統(tǒng)的城市就業(yè)需求量建模時間,結(jié)果如圖7 所示。
圖7 兩種系統(tǒng)的城市就業(yè)需求量預(yù)測建模時間
從圖7 的城市就業(yè)需求量建模時間可以發(fā)現(xiàn),本文系統(tǒng)的城市就業(yè)需求量建模速度大幅度提升,改善了城市就業(yè)需求量建模效率,這是因?yàn)楸疚南到y(tǒng)利用了云計算的并行處理優(yōu)勢,使多個節(jié)點(diǎn)同時對城市就業(yè)需求量進(jìn)行建模,克服了單機(jī)平臺采用單節(jié)點(diǎn)對城市就業(yè)需求量預(yù)測建模時間長的不足,本文系統(tǒng)可以適應(yīng)城市就業(yè)需求量數(shù)據(jù)向大規(guī)模方向發(fā)展的要求,具有更加廣泛的應(yīng)用范圍。
為了測試城市就業(yè)需求量預(yù)測系統(tǒng)的魯棒性,選擇10 個大城市就業(yè)需求量作為研究對象,統(tǒng)計它們的城市就業(yè)需求量預(yù)測精度,結(jié)果如表3 所示。
表3 本文系統(tǒng)的就業(yè)需求量預(yù)測精度 %
從表3 可以看出,對10 大城市就業(yè)需求量預(yù)測,本文系統(tǒng)的預(yù)測精度均超過了90%,這表明本文系統(tǒng)的城市就業(yè)需求量預(yù)測精度十分穩(wěn)定,具有較強(qiáng)的魯棒性,為城市就業(yè)需求量預(yù)測建模提供了一種新的工具。
為了降低城市就業(yè)需求量預(yù)測誤差,在分析當(dāng)前城市就業(yè)需求量預(yù)測系統(tǒng)的基礎(chǔ)上,提出基于云計算技術(shù)的城市就業(yè)需求量預(yù)測系統(tǒng)。采用云計算平臺強(qiáng)大的并行處理能力解決單機(jī)城市就業(yè)需求量預(yù)測效率低的難題,引入支持向量機(jī)對城市就業(yè)需求量進(jìn)行建模和預(yù)測,解決了當(dāng)前城市就業(yè)需求量預(yù)測精度低的不足,并進(jìn)行仿真測試實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,本文建立了一種速度快、精度高的城市就業(yè)需求量預(yù)測系統(tǒng),為其他大規(guī)模、非線性預(yù)測問題提供一種新的建模思路。