孫熙澤 唐 琦 王澤宇 張婉婷 羅裕梅
(云南大學(xué),云南 昆明 650000)
目前,企業(yè)數(shù)據(jù)工程師的工作量較大,且由于數(shù)據(jù)分析的特性,會(huì)增加數(shù)據(jù)工程師對(duì)數(shù)據(jù)進(jìn)行挖掘分析的時(shí)間成本,對(duì)工作任務(wù)的完成效率和企業(yè)的盈利有不利影響,甚至可能阻礙新算法的開(kāi)發(fā)進(jìn)程。因此,無(wú)論是對(duì)企業(yè)和工作者,還是對(duì)現(xiàn)在和未來(lái)的發(fā)展來(lái)說(shuō),優(yōu)化提升現(xiàn)有的基礎(chǔ)是十分重要的。
基于神經(jīng)網(wǎng)絡(luò)算法的數(shù)據(jù)預(yù)測(cè)與評(píng)估系統(tǒng)是一款可以快速、高效地完成數(shù)據(jù)預(yù)測(cè)與評(píng)估系統(tǒng)管理操作的軟件,而且該系統(tǒng)還具備數(shù)據(jù)導(dǎo)入、數(shù)據(jù)訓(xùn)練和數(shù)據(jù)預(yù)測(cè)等功能,可以根據(jù)設(shè)置的配置參數(shù)完成基于神經(jīng)網(wǎng)絡(luò)算法的數(shù)據(jù)預(yù)測(cè)與評(píng)估系統(tǒng)等相關(guān)操作。該軟件可以系統(tǒng)地對(duì)基于神經(jīng)網(wǎng)絡(luò)算法的數(shù)據(jù)預(yù)測(cè)與評(píng)估系統(tǒng)所產(chǎn)生的數(shù)據(jù)進(jìn)行分析、歸類(lèi)和計(jì)算,再對(duì)數(shù)據(jù)進(jìn)行智能化的統(tǒng)籌管理和保存?zhèn)浞?。全新的登錄賬號(hào)系統(tǒng)讓用戶(hù)可以隨時(shí)隨地訪(fǎng)問(wèn)基于神經(jīng)網(wǎng)絡(luò)算法的數(shù)據(jù)預(yù)測(cè)與評(píng)估系統(tǒng)管理平臺(tái),讓用戶(hù)可以更便捷地管理該系統(tǒng),也讓用戶(hù)更加安心。
目前針對(duì)數(shù)據(jù)預(yù)測(cè)的系統(tǒng)有很多,許多學(xué)者從隨機(jī)森林、灰色預(yù)測(cè)、神經(jīng)網(wǎng)絡(luò)、時(shí)間序列、組合處理、小波分解以及ANFIS模型等多個(gè)方面對(duì)數(shù)據(jù)預(yù)測(cè)系統(tǒng)展開(kāi)了研究和開(kāi)發(fā)工作,研究成果頗豐[1]。其中,灰色預(yù)測(cè)方法、神經(jīng)網(wǎng)絡(luò)和時(shí)間序列3個(gè)角度是學(xué)界研究的熱點(diǎn),學(xué)者對(duì)相關(guān)研究的興趣一直維持在一個(gè)較高的水平。
在對(duì)使用時(shí)間序列方法進(jìn)行數(shù)據(jù)預(yù)測(cè)的研究中,南國(guó)芳、周帥印、李敏強(qiáng)和寇紀(jì)淞在2013年通過(guò)對(duì)無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的數(shù)據(jù)進(jìn)行分析,引入多屬性模糊時(shí)間序列預(yù)測(cè)模型,并提出了適合傳感器網(wǎng)絡(luò)的修正預(yù)測(cè)模型[2]。2010年,于重重、于蕾、譚勵(lì)和段振剛基于時(shí)序算法對(duì)太陽(yáng)能熱水監(jiān)測(cè)系統(tǒng)的使用率做出準(zhǔn)確的評(píng)價(jià)[3]。2020年,潘點(diǎn)飛等人為了實(shí)現(xiàn)在軌道中采用生控系統(tǒng)進(jìn)行故障預(yù)測(cè)的目的,對(duì)系統(tǒng)遙測(cè)數(shù)據(jù)的時(shí)間序列信息展開(kāi)了研究。通過(guò)AIC與BIC相結(jié)合的方法確定了預(yù)測(cè)模型,并運(yùn)用該模型對(duì)實(shí)際工程中的遙測(cè)數(shù)據(jù)進(jìn)行預(yù)測(cè)驗(yàn)證[4]。
在以神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的數(shù)據(jù)預(yù)測(cè)模型中,學(xué)者大多使用的是BP神經(jīng)網(wǎng)絡(luò)、LSTM神經(jīng)網(wǎng)絡(luò)和GRU神經(jīng)網(wǎng)絡(luò);2020年,姬鵬飛、孟偉娜、楊北方和王丹丹提出了基于自適應(yīng)粒子群算法(APSO)優(yōu)化的誤差方向傳播(BP)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)方法,利用APSO算法優(yōu)越的全局搜索能力更新 BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,通過(guò)有效結(jié)合2種算法的優(yōu)勢(shì),提高了某省農(nóng)業(yè)機(jī)械數(shù)據(jù)預(yù)測(cè)的精度[5]。對(duì)于LSTM神經(jīng)網(wǎng)絡(luò),王永志、劉博和李鈺在Tensor Flow 框架下使用Python語(yǔ)言設(shè)計(jì)了1種基于長(zhǎng)短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)的電力負(fù)荷預(yù)測(cè)模型,該模型可以準(zhǔn)確地預(yù)測(cè)電力負(fù)荷數(shù)據(jù)的日變化、周變化規(guī)律[6]。2020年,孫宇航、劉洋從GRU神經(jīng)網(wǎng)絡(luò)出發(fā),通過(guò)訓(xùn)練神經(jīng)網(wǎng)絡(luò)逼近橫波的速度與儲(chǔ)層參數(shù)之間的關(guān)系,利用縱波速度、密度和自然伽馬等儲(chǔ)層參數(shù)直接預(yù)測(cè)橫波的速度[7]。
雖然目前對(duì)數(shù)據(jù)預(yù)測(cè)評(píng)估的研究量較大,以神經(jīng)網(wǎng)絡(luò)作為切入點(diǎn)的研究也不在少數(shù);但是這些研究忽略了用戶(hù)應(yīng)用的問(wèn)題,實(shí)用性不強(qiáng)。該文將以神經(jīng)網(wǎng)絡(luò)為著力點(diǎn),以Java和Python語(yǔ)言為工具,為用戶(hù)設(shè)計(jì)出簡(jiǎn)單易操作的數(shù)據(jù)預(yù)測(cè)軟件,讓更多的人感受到計(jì)算機(jī)技術(shù)為生活所帶來(lái)的便利。
該文考慮目前數(shù)據(jù)處理工作存在不夠高效和不夠完善的問(wèn)題,以簡(jiǎn)化數(shù)據(jù)處理過(guò)程、方便人們生活為目標(biāo),依據(jù)Java、Python等理論與方法,以神經(jīng)網(wǎng)絡(luò)為主要思想,開(kāi)發(fā)一款可以高效分析處理數(shù)據(jù)的軟件。
該軟件使用最新的智能化管理分析算法,快速地在后臺(tái)進(jìn)行計(jì)算運(yùn)行,以高效的方式對(duì)數(shù)據(jù)進(jìn)行智能分析和管理,將數(shù)據(jù)預(yù)測(cè)、數(shù)值評(píng)估以及相應(yīng)的管理操作呈現(xiàn)在用戶(hù)面前,節(jié)省了大量人工計(jì)算數(shù)據(jù)的時(shí)間。而且完備的大數(shù)據(jù)信息都是經(jīng)過(guò)多層加密處理的,保證了數(shù)據(jù)的安全性和可靠性,不用擔(dān)心被竊取數(shù)據(jù)。
在技術(shù)路線(xiàn)上,主要采用Java、Python2種方法分別完成界面設(shè)計(jì)和數(shù)據(jù)分析評(píng)估工作。采用Java完成對(duì)系統(tǒng)功能的設(shè)計(jì),包括登錄界面、首頁(yè)、數(shù)據(jù)導(dǎo)入、數(shù)據(jù)訓(xùn)練、數(shù)據(jù)預(yù)測(cè)、數(shù)據(jù)評(píng)估和日志列表。采用Python完成數(shù)據(jù)分析工作。
3.3.1 Java 程序開(kāi)發(fā)
框架設(shè)計(jì)中的 SSM 框架是 Spring MVC、Spring和MyBatis框架的整合,是標(biāo)準(zhǔn)的 MVC模式。該框架將整個(gè)系統(tǒng)劃分為表現(xiàn)層、controller層、service層和DAO層,使用Spring MVC負(fù)責(zé)請(qǐng)求的轉(zhuǎn)發(fā)和視圖管理;Spring實(shí)現(xiàn)業(yè)務(wù)對(duì)象管理,MyBatis作為數(shù)據(jù)對(duì)象的持久化引擎。
整體設(shè)計(jì)思路如下:1) 先搭建整合的環(huán)境。2) 完成對(duì) Spring 的配置的搭建工作。3) 使用 Spring 整合 Spring MVC 框架。4) 使用 Spring 整合 MyBatis 框架。5) 用Spring 整合 MyBatis框架的配置事務(wù)(Spring 的聲明式事務(wù)管理) 。
3.3.2 Python 數(shù)據(jù)分析
3.3.2.1 算法的實(shí)現(xiàn)(包括但不限于下列2項(xiàng))
3.3.2.1.1 KNN 算法
有多種度量方式可以計(jì)算空間中點(diǎn)的距離,例如常見(jiàn)的曼哈頓距離和歐式距離等。不過(guò)通常 KNN 算法中使用的是歐式距離,以二維平面為例,用歐式距離計(jì)算二維空間2個(gè)點(diǎn)的距離,如公式(1)所示。
拓展到多維空間,其公式如公式(2)所示。
式中:ρ為2個(gè)點(diǎn)間的距離;(x1,y1)為第一個(gè)坐標(biāo)點(diǎn)的坐標(biāo); (x2,y2)為第二個(gè)坐標(biāo)點(diǎn)的坐標(biāo);d(x,y)為各點(diǎn)之間的距離之和;i為當(dāng)前取到的第i個(gè)樣本;n為樣本數(shù)量。
3.3.2.1.2 Logistic算法
與指數(shù)分布、高斯分布等分布一樣,Logistic是一種變量的分布,它也有自己的概率分布函數(shù)和概率密度函數(shù),其中概率分布函數(shù)如公式(3)所示。
對(duì)概率分布函數(shù)求導(dǎo),就得到對(duì)應(yīng)的概率密度函數(shù),如公式(4)所示。
式中:F(x)為概率分布;f(x)為概率密度;x為樣本;μ為分布對(duì)應(yīng)的均值;γ為對(duì)應(yīng)的形狀參數(shù);P為概率;X為實(shí)際的中點(diǎn)距離。
3.3.2.2 評(píng)估方法
3.3.2.2.1 集成算法(Bagging)
集成算法的原理是基于自助采樣法(Bootstrap Sampling)隨機(jī)得到一些樣本集訓(xùn)練,分別訓(xùn)練不同的基學(xué)習(xí)器,再對(duì)不同基學(xué)習(xí)器得到的結(jié)果進(jìn)行投票,從而得出最終的分類(lèi)結(jié)果。在自助采樣法得到的樣本中,大概有63%的數(shù)據(jù)樣本會(huì)被使用,剩下的可以用來(lái)做驗(yàn)證集。
3.3.2.2.2 提升算法(Boosting)
它通過(guò)反復(fù)學(xué)習(xí)得到一系列弱分類(lèi)器,然后組合這些弱分類(lèi)器得到1個(gè)強(qiáng)分類(lèi)器,把弱分類(lèi)器提升為強(qiáng)分類(lèi)器的過(guò)程主要分為加法模型和向前分步。加法模型就是把一系列的弱分類(lèi)器相加,串聯(lián)為強(qiáng)分類(lèi)器,如公式(5)所示。
式中:Fm為當(dāng)前分類(lèi)器的表示函數(shù);P為最優(yōu)參數(shù)的綜合;h(x;am)為一系列的弱學(xué)習(xí)器;am為該學(xué)習(xí)器訓(xùn)練得到的最優(yōu)參數(shù);βm為對(duì)應(yīng)的弱學(xué)習(xí)器在強(qiáng)學(xué)習(xí)器中所占比例的系數(shù);m為當(dāng)前取到的樣本;n為樣本數(shù)量。
向前分步是指本輪的學(xué)習(xí)器是通過(guò)在上一輪學(xué)習(xí)器的基礎(chǔ)上迭代訓(xùn)練而得到的,如公式(6)所示。
3.3.2.3 評(píng)估指標(biāo)
3.3.2.3.1 準(zhǔn)確度(accuracy)、召回率(recall)和預(yù)測(cè)(precision)評(píng)估
圖1為1個(gè)二分類(lèi)的混淆矩陣(多分類(lèi)同理,只需要把不屬于當(dāng)前類(lèi)的其他類(lèi)都考慮為負(fù)例),表格中的4個(gè)參數(shù)說(shuō)明如下:1) True Positive(TP)。預(yù)測(cè)為正例,實(shí)際為正例。2) False Positive(FP)。預(yù)測(cè)為正例,實(shí)際為負(fù)例。3) True Negative (TN)。預(yù)測(cè)為負(fù)例,實(shí)際為負(fù)例。4) False Negative (FN)。預(yù)測(cè)為負(fù)例,實(shí)際為正例。
圖1 二分類(lèi)混淆矩陣
相關(guān)計(jì)算公式,如公式(7)、公式(8)、公式(9)、公式(10)、公式(11)和公式(12)所示。
式中:F得分為綜合考慮預(yù)測(cè)與召回率得到的某個(gè)數(shù)值。
根據(jù)F的值來(lái)進(jìn)行評(píng)估,F(xiàn)得分越大,那么表示當(dāng)前的算法越準(zhǔn)確。
3.3.2.3.2 均方誤差(MSE)
該統(tǒng)計(jì)參數(shù)是預(yù)測(cè)數(shù)據(jù)和原始數(shù)據(jù)對(duì)應(yīng)點(diǎn)誤差的平方和的均值,也就是SSE/n,和SSE沒(méi)有太大的區(qū)別,其中SSE為和方差,MSE的計(jì)算公式如公式(13)所示。
式中:n為樣本的個(gè)數(shù);i為取到的當(dāng)前樣本;wi為權(quán)重參數(shù);yi為當(dāng)前樣本的真實(shí)值;為當(dāng)前樣本的預(yù)測(cè)值。
3.3.2.3.3 統(tǒng)計(jì)參數(shù)(RMSE)
該統(tǒng)計(jì)參數(shù)(RMSE)也叫回歸系統(tǒng)的擬合標(biāo)準(zhǔn)差,是MSE的平方根,計(jì)算公式如公式(14)所示。
式中:n為樣本的個(gè)數(shù);i為當(dāng)前取到的樣本;wi為權(quán)重參數(shù);yi表為當(dāng)前樣本的真實(shí)值;為當(dāng)前樣本的預(yù)測(cè)值。
該軟件使用了最新的智能化管理分析算法,可以快速地在后臺(tái)進(jìn)行計(jì)算,并將數(shù)據(jù)預(yù)測(cè)、數(shù)值評(píng)估的結(jié)果以及相應(yīng)的管理操作呈現(xiàn)在用戶(hù)面前,節(jié)省了大量人工計(jì)算數(shù)據(jù)的時(shí)間。而且經(jīng)過(guò)多層加密的完備的大數(shù)據(jù)信息的安全是有保障的。
4.2.1 基于神經(jīng)網(wǎng)絡(luò)算法建成
神經(jīng)網(wǎng)絡(luò)算法是1種通過(guò)模仿動(dòng)物神經(jīng)網(wǎng)絡(luò)行為特征對(duì)信息進(jìn)行分布式并行處理的算法數(shù)學(xué)模型。該網(wǎng)絡(luò)依靠系統(tǒng)的復(fù)雜程度,通過(guò)調(diào)整內(nèi)部大量節(jié)點(diǎn)之間相互連接的關(guān)系,從而達(dá)到處理信息的目的。與傳統(tǒng)算法不同,使用神經(jīng)網(wǎng)絡(luò)算法的人工智能將擁有自學(xué)能力,能夠?qū)崿F(xiàn)自我學(xué)習(xí)和自我改進(jìn)[8]。
4.2.2 高效率、低錯(cuò)誤率
與人工處理數(shù)據(jù)相比,通過(guò)該軟件進(jìn)行數(shù)據(jù)處理,其數(shù)據(jù)處理的精確度更高。直接節(jié)約了項(xiàng)目完成所需要的時(shí)間,間接地降低了企業(yè)的雇傭成本、時(shí)間成本和機(jī)會(huì)成本,使技術(shù)人員有更多的時(shí)間和精力投入創(chuàng)新算法的工作中。
4.2.3 技術(shù)先進(jìn)
系統(tǒng)層次詳細(xì)由多層架構(gòu)組織而成,良好的分層決定了良好的系統(tǒng)基礎(chǔ)。采用最新的智能化管理分析算法,能夠快速地在后臺(tái)進(jìn)行計(jì)算。同時(shí)使用加密技術(shù),不用擔(dān)心被數(shù)據(jù)會(huì)被竊取。
該軟件可以為廣大用戶(hù)提供快速方便的數(shù)據(jù)預(yù)測(cè)與評(píng)估管理方法,而且具備了數(shù)據(jù)導(dǎo)入、數(shù)據(jù)訓(xùn)練和數(shù)據(jù)預(yù)測(cè)等功能。另外,該系統(tǒng)還有數(shù)據(jù)評(píng)估功能,可以根據(jù)設(shè)置的配置參數(shù)完成相關(guān)操作。該軟件可以對(duì)數(shù)據(jù)進(jìn)行系統(tǒng)的分析、歸類(lèi)和計(jì)算,然后對(duì)數(shù)據(jù)進(jìn)行智能化的統(tǒng)籌管理和保存?zhèn)浞荩碌牡卿涃~號(hào)系統(tǒng)讓用戶(hù)可以隨時(shí)隨地訪(fǎng)問(wèn)智能化管理平臺(tái)。該軟件讓用戶(hù)完成數(shù)據(jù)保存、監(jiān)測(cè)等操作的過(guò)程變得更加簡(jiǎn)單,各種完備的設(shè)置管理也讓用戶(hù)對(duì)系統(tǒng)的管理變得更加便捷。
該軟件主要具備數(shù)據(jù)導(dǎo)入、評(píng)估數(shù)據(jù)、數(shù)據(jù)預(yù)測(cè)、日志管理及普通管理系統(tǒng)的其他基本功能。
該項(xiàng)目在技術(shù)領(lǐng)域有較大的利用空間,能夠在經(jīng)濟(jì)上減少雇傭人員編寫(xiě)程序的開(kāi)支,并且在軟件推廣期間不收取費(fèi)用,一段時(shí)間后再采用合理的收費(fèi)制度。
5.4.1 法律可行性
該產(chǎn)品沒(méi)有侵權(quán)或者抄襲等違法情況,也沒(méi)有被申請(qǐng)過(guò)專(zhuān)利。
5.4.2 政策可行性
沒(méi)有國(guó)家政策限制,也沒(méi)有地方政府(或其他機(jī)構(gòu))的限制。
5.4.3 運(yùn)行可行性
使用該軟件的用戶(hù)可能會(huì)涉及各種類(lèi)型的人群,部分人群可能會(huì)對(duì)操作比較生疏,但是該軟件簡(jiǎn)潔明了的 UI 和快捷的操作特性,不會(huì)對(duì)用戶(hù)有很高的要求,因此用戶(hù)能夠在短時(shí)間內(nèi)借助簡(jiǎn)易的說(shuō)明快速學(xué)會(huì)相關(guān)操作。并且為了提高系統(tǒng)的實(shí)用性,該軟件也具備較強(qiáng)的可靠性和較大的吞吐量。
創(chuàng)新是引領(lǐng)發(fā)展的第一動(dòng)力,數(shù)據(jù)預(yù)測(cè)評(píng)估系統(tǒng)結(jié)合了多種科學(xué)技術(shù),其中神經(jīng)網(wǎng)絡(luò)算法、最新管理分析算法等創(chuàng)新點(diǎn)最為突出,經(jīng)過(guò)大量實(shí)驗(yàn)考證,筆者充分地確定了項(xiàng)目的可行性。團(tuán)隊(duì)將對(duì)該項(xiàng)目進(jìn)行深層次研究,相信該產(chǎn)品很快就會(huì)打開(kāi)相關(guān)市場(chǎng),讓更多的人體驗(yàn)到數(shù)據(jù)預(yù)測(cè)評(píng)估系統(tǒng)所帶來(lái)的便利。