陳志華
(廣東技術(shù)師范學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)中心 廣州 510665)
?
基于Hadoop的神經(jīng)網(wǎng)絡(luò)算法在網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)中的應(yīng)用研究*
陳志華
(廣東技術(shù)師范學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)中心廣州510665)
摘要網(wǎng)絡(luò)環(huán)境下的學(xué)習(xí)需要有與之相適應(yīng)的學(xué)習(xí)評(píng)價(jià)方式,為改進(jìn)現(xiàn)有網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)的不足,構(gòu)建了基于BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)模型,并設(shè)計(jì)基于Hadoop的BP神經(jīng)網(wǎng)絡(luò)并行算法,解決網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)中的大數(shù)據(jù)集分析和處理問題,實(shí)驗(yàn)證明,提出的方法擁有較快的收斂速度和較高的精度,在大數(shù)據(jù)集處理上具有較好的加速比和良好的可擴(kuò)展性。
關(guān)鍵詞BP算法; 神經(jīng)網(wǎng)絡(luò); 網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià); Hadoop
Application of Hadoop-based Neural Network Algorithm in E-learning Evaluation Study
CHEN Zhihua
(Computer & Network Center, Guangdong Polytechnic Normal University, Guangzhou510665)
AbstractTo improve the existing shortcomings of e-learning evaluation, is designed a e-learning evaluation model is proposed based on BP neural network, and the parallel algorithm of BP neural network is designed based on Hadoop. Experiment results demonstrate that the proposed method has fast convergence speed and high precision, it also has better acceleration and good scalability on the large data set processing.
Key WordsBP algorithm, neural network, E-learning evaluation, Hadoop
Class NumberTP311
1引言
隨著我國(guó)計(jì)算機(jī)網(wǎng)絡(luò)及教育技術(shù)的不斷發(fā)展,以E-Learning(數(shù)字化學(xué)習(xí))和M-Learning(移動(dòng)學(xué)習(xí))為代表的網(wǎng)絡(luò)學(xué)習(xí)模式被廣泛地應(yīng)用,越來越多的人開始接受并習(xí)慣網(wǎng)絡(luò)環(huán)境下的學(xué)習(xí)。與傳統(tǒng)的課堂教學(xué)相比,網(wǎng)絡(luò)環(huán)境下的教學(xué)評(píng)價(jià)有其獨(dú)特性和復(fù)雜性,但目前對(duì)網(wǎng)絡(luò)課程的學(xué)習(xí)評(píng)價(jià)往往還參考傳統(tǒng)課堂教學(xué)的采用加權(quán)平均的線性評(píng)分模型,這樣的評(píng)價(jià)方式顯然已不能全面、客觀地對(duì)網(wǎng)絡(luò)環(huán)境下的學(xué)習(xí)效果進(jìn)行評(píng)價(jià)。在網(wǎng)絡(luò)環(huán)境下,學(xué)習(xí)者可以不受時(shí)空的限制,擁有豐富的學(xué)習(xí)資源,可進(jìn)行多樣化的網(wǎng)絡(luò)學(xué)習(xí)活動(dòng),所以影響學(xué)習(xí)質(zhì)量的因素也是多樣化的,很難用一個(gè)線性模型來表達(dá)它們和學(xué)習(xí)效果之間的因果關(guān)系。侯麗平認(rèn)為:網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)的主要特征是價(jià)值取向的人文性、評(píng)價(jià)主體的多元性、評(píng)價(jià)內(nèi)容的全面性、評(píng)價(jià)手段的先進(jìn)性和評(píng)價(jià)過程的連續(xù)性[1]。因此需要綜合考慮影響網(wǎng)絡(luò)學(xué)習(xí)的主要因素,構(gòu)建一個(gè)適合網(wǎng)絡(luò)學(xué)習(xí)特征的學(xué)習(xí)評(píng)價(jià)指標(biāo)體系。
BP神經(jīng)網(wǎng)絡(luò)能學(xué)習(xí)和存貯大量的輸入—輸出模式的映射關(guān)系,而無需事前揭示描述這種映射關(guān)系的數(shù)學(xué)方程。本文探索構(gòu)建BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)模型,并設(shè)計(jì)基于Hadoop的BP神經(jīng)網(wǎng)絡(luò)并行算法,解決網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)中的大數(shù)據(jù)集分析和處理問題。
2基于BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)模型
2.1BP神經(jīng)網(wǎng)絡(luò)基本原理
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)是1986年由Rumelhart和McCelland為首的科學(xué)家小組提出,是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò),是目前應(yīng)用最為廣泛的神經(jīng)網(wǎng)絡(luò)模型之一,BP神經(jīng)網(wǎng)絡(luò)能學(xué)習(xí)和存貯大量的輸入—輸出模式映射關(guān)系,而無需事前提示描述這種映射關(guān)系的數(shù)學(xué)方程,它包括輸入層、隱含層和輸出層,其中隱含層可以有一到多個(gè)。BP神經(jīng)網(wǎng)絡(luò)的基本原理是,把一個(gè)輸入向量(由訓(xùn)練樣本提供)經(jīng)過隱含層的一系列變換,得到一個(gè)輸出向量,從而實(shí)現(xiàn)輸入數(shù)據(jù)與輸出數(shù)據(jù)間的一個(gè)映射關(guān)系。BP算法由數(shù)據(jù)流的前向計(jì)算(正向傳播)和誤差信號(hào)的反向傳播兩個(gè)過程構(gòu)成,根據(jù)輸出誤差來修改各神經(jīng)元連接的連接權(quán)系數(shù)和閾值,經(jīng)過反復(fù)的訓(xùn)練和調(diào)整,當(dāng)輸入值與期望值的誤差達(dá)到可容忍范圍內(nèi)時(shí),停止訓(xùn)練,并保存此時(shí)的網(wǎng)絡(luò)權(quán)值和閾值,完成算法的學(xué)習(xí)過程。
2.2網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)指標(biāo)體系構(gòu)建
近年來,有許多學(xué)者針對(duì)網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)模型進(jìn)行了深入的研究,如李景奇[2]、王建宏[3]、陳莉萍[4]等人依據(jù)不同理論構(gòu)建了相應(yīng)的學(xué)習(xí)評(píng)價(jià)指標(biāo)體系。在分析以上網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)指標(biāo)體系的基礎(chǔ)上,綜合考慮影響網(wǎng)絡(luò)學(xué)習(xí)的主要因素,根據(jù)學(xué)習(xí)評(píng)價(jià)的基本原則和方法,本文從學(xué)習(xí)資源利用、交互與協(xié)作、學(xué)習(xí)效果三個(gè)方面構(gòu)建評(píng)價(jià)指標(biāo)體系,該體系共包含3個(gè)一級(jí)指標(biāo)、10個(gè)二級(jí)指標(biāo)、17個(gè)評(píng)價(jià)參數(shù),如表1所示。
表1 網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)指標(biāo)體系
2.3BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)模型的建立
在建模過程中,重點(diǎn)是設(shè)計(jì)合理的網(wǎng)絡(luò)結(jié)構(gòu),而其中的關(guān)鍵在于隱含層及節(jié)點(diǎn)數(shù)的確定,針對(duì)網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)的特點(diǎn),采用三層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),即使用只包含一個(gè)隱含層的網(wǎng)絡(luò)結(jié)構(gòu),下面具體介紹評(píng)價(jià)模型的建立。
1) 輸入層設(shè)計(jì)。根據(jù)網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)指標(biāo)體系,共有10項(xiàng)二級(jí)指標(biāo),這10項(xiàng)指標(biāo)作為輸入層的輸入,因此輸入層個(gè)數(shù)確定為10。
2) 輸出層設(shè)計(jì)。因?yàn)榫W(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)的最終結(jié)果只有一個(gè),所以輸出層的輸出節(jié)點(diǎn)確定為1。
2.4網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)模型算法
使根據(jù)學(xué)習(xí)評(píng)價(jià)體系及BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置,得出BP神經(jīng)網(wǎng)絡(luò)的輸入為向量X=(x1,x2,…,x10)T,輸出向量Y=(y1)T,隱含層和輸出層的激活函數(shù)采用sigmoid函數(shù)作為激活函數(shù),則當(dāng)輸入為xi,i=0,1,…n,這里n=10,隱含層神經(jīng)元節(jié)點(diǎn)的輸出為
輸入端的神經(jīng)元節(jié)點(diǎn)的輸出方程為
若樣本的全局誤差達(dá)不到設(shè)定的誤差精度要求,可以通過調(diào)整隱含層與輸出層的連接權(quán)系數(shù)wjk,降低全局誤差E的大小,使之滿足精度要求,其計(jì)算公式如下:
其中,0<η<1,通常稱為學(xué)習(xí)速率,隱含層每一個(gè)神經(jīng)元的連接權(quán)系數(shù)調(diào)整量計(jì)算公式為
3基于Hadoop的BP神經(jīng)網(wǎng)絡(luò)并行算法設(shè)計(jì)
3.1Hadoop框架
Hadoop[4]是由Apache軟件基金會(huì)維護(hù)的一個(gè)開源的分布式系統(tǒng)架構(gòu),用于編寫、運(yùn)行分布式應(yīng)用,以處理大規(guī)模數(shù)據(jù)。Hadoop憑借著開源的優(yōu)勢(shì),被廣泛應(yīng)用于數(shù)據(jù)處理、廣告計(jì)算、科研實(shí)驗(yàn)等研究中。Hadoop主要由HDFS、MapReduce、Hive、HBase四個(gè)部分組成。HDFS(HadoopDistributedFileSystem)是一個(gè)具有可伸縮性和高可靠性的文件系統(tǒng)。MapReduce是一個(gè)分布式計(jì)算模型,通過將一個(gè)大的任務(wù)分解成獨(dú)立的若干個(gè)任務(wù)集合,并行處理大規(guī)模數(shù)據(jù)集。Hive是一個(gè)基于Hadoop文件系統(tǒng)的數(shù)據(jù)倉庫工具,提供了數(shù)據(jù)ETL(抽取、轉(zhuǎn)換和加載)、數(shù)據(jù)存儲(chǔ)和大型數(shù)據(jù)集的查詢和分析等海量數(shù)據(jù)管理功能。HBase是一個(gè)分布式的、面向列的開源數(shù)據(jù)庫。
3.2BP神經(jīng)網(wǎng)絡(luò)的并行算法設(shè)計(jì)
本文使用MapReduce實(shí)現(xiàn)基于BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)模型并行算法,算法的基本思路是在Map階段計(jì)算并輸出每個(gè)權(quán)值的變化量,然后在Reduce階段計(jì)算每個(gè)權(quán)值的總變化量,最后根據(jù)總變化量與預(yù)期誤差的對(duì)比對(duì)權(quán)值進(jìn)行調(diào)整。算法運(yùn)行步驟如下:
1) 數(shù)據(jù)輸入:在MapReduce中,讀入一組數(shù)據(jù)后,先按照預(yù)定的Map任務(wù)個(gè)數(shù)將數(shù)據(jù)分割,然后把每一個(gè)輸入分片中的所有數(shù)據(jù)組織成〈key,value〉對(duì),交給每個(gè)Map任務(wù)。
2)Map處理:Map任務(wù)接收到〈key,value〉類型的數(shù)據(jù)后,計(jì)算出每個(gè)權(quán)值(value)的變化量,然后再將數(shù)據(jù)組織成〈key,value〉鍵值對(duì)形式輸出。
3) 數(shù)據(jù)排序:在把經(jīng)過Map處理后的結(jié)果發(fā)送到Reduce之前,MapReduce框架會(huì)對(duì)這些鍵值對(duì)先以key值進(jìn)行排序,然后再對(duì)相同key值的vlaue進(jìn)行合并,形成新的數(shù)據(jù)組織形式〈key,value-list〉,其中key是所有Map輸出的key中的一個(gè),value-list是同一key值所有Map輸出的vlaue的list。這樣就把每個(gè)樣本對(duì)應(yīng)的所有權(quán)值變化量放入到同一個(gè)value-list里,以便后面計(jì)算總體權(quán)值變化量。
4)Reduce處理過程:Reduce接收到重新排序的〈key,value-list〉數(shù)據(jù)后,統(tǒng)計(jì)每個(gè)權(quán)值的總體變化量,更新每個(gè)權(quán)值的值,再以〈key,value〉形式輸出。
A.Map函數(shù)偽代碼如下:
B.Reduce函數(shù)偽代碼如下:
輸入:key,vlaue-list
輸出:更新后的權(quán)值
Reduce(key,value-list)
{
While(value-list沒有處理完)
{
累計(jì)每個(gè)權(quán)值的變化量
}
更新每權(quán)值
保存計(jì)算的結(jié)果
}
4實(shí)驗(yàn)與結(jié)果分析
4.1實(shí)驗(yàn)環(huán)境
本文實(shí)驗(yàn)中采用六臺(tái)普通臺(tái)式電腦,單機(jī)配置為:處理器類型為Intel(R)Core(TM)i7-3770,內(nèi)存4G,硬盤500G。Hadoop集群設(shè)置為全分布模式,其中一臺(tái)電腦設(shè)置為Master節(jié)點(diǎn),并配置NameNode和JobTracker,其余五臺(tái)設(shè)置為Slave節(jié)點(diǎn),配置DataNode和TaskTracker。實(shí)驗(yàn)主要軟件安裝的版本為Hadoop2.2.0,Hive0.9.0,Oozie3.32,Jdk1.6。
4.2算法收斂速度與訓(xùn)練精度測(cè)試
此項(xiàng)測(cè)試的目的是測(cè)試算法的收斂速度與訓(xùn)練精度。本文從學(xué)習(xí)者學(xué)習(xí)記錄數(shù)據(jù)庫中抽取5個(gè)班267個(gè)學(xué)生的學(xué)習(xí)記錄數(shù)據(jù),記為267組數(shù)據(jù),取其中230組數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),其余37組數(shù)據(jù)作為測(cè)試數(shù)據(jù),用于檢查訓(xùn)練生成的模型。評(píng)價(jià)采用五級(jí)制(優(yōu)秀、良好、中等、合格、不合格),分別對(duì)應(yīng)5個(gè)數(shù)字區(qū)間。將誤差精度設(shè)定為0.02,最大訓(xùn)練次數(shù)為1000。實(shí)驗(yàn)結(jié)果如表2所示。
表2 算法收斂速度與訓(xùn)練精度訓(xùn)練結(jié)果
在37組測(cè)試數(shù)據(jù)中,測(cè)試正確的數(shù)據(jù)有35級(jí),測(cè)試錯(cuò)誤的有2組,正確率約為94.6%。在對(duì)出現(xiàn)偏差的樣本數(shù)據(jù)分析后發(fā)現(xiàn),有1個(gè)期望結(jié)果輸出為9.1(優(yōu)秀),但測(cè)試結(jié)果為8.9(良好),另一個(gè)期望結(jié)果輸出為7(良好),測(cè)試結(jié)果是6.9(合格),分類錯(cuò)誤率占5.4%,偏差只出現(xiàn)在相鄰區(qū)間,這樣的誤差率在網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)的應(yīng)用上屬于合理范圍。
4.3海量數(shù)據(jù)運(yùn)行測(cè)試
Hadoop集群用于網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)的數(shù)據(jù)分析處理是要發(fā)揮其強(qiáng)大而高效的大數(shù)據(jù)集并行處理能力,因此,本文接下來進(jìn)行海量數(shù)據(jù)的運(yùn)行測(cè)試,目的是測(cè)試BP神經(jīng)網(wǎng)絡(luò)并行算法的加速比,檢驗(yàn)算法是否具有較高的可擴(kuò)展性。從網(wǎng)絡(luò)學(xué)習(xí)平臺(tái)數(shù)據(jù)庫中抽取5000名學(xué)生半年和三年的各種學(xué)習(xí)活動(dòng)記錄數(shù)據(jù),分別有892500條記錄和5344500條記錄。
把抽取的半年和三年學(xué)習(xí)活動(dòng)數(shù)據(jù)集分別在單機(jī)、三機(jī)集群和六機(jī)集群中進(jìn)行耗時(shí)測(cè)試,各運(yùn)行10次,計(jì)算平均耗時(shí),測(cè)試結(jié)果如表3所示。
表3 并行運(yùn)行測(cè)試結(jié)果
耗時(shí)統(tǒng)計(jì),如圖1所示。
圖1 BP并行算法運(yùn)行耗時(shí)
加速比,如圖2所示。
圖2 BP并行算法加速比
從表3、圖4和圖5的實(shí)驗(yàn)結(jié)果可知,本文提出的BP神經(jīng)網(wǎng)絡(luò)并行算法在處理較小規(guī)模數(shù)據(jù)集時(shí),多機(jī)集群與單機(jī)的運(yùn)行耗時(shí)沒有特別明顯的優(yōu)勢(shì)。但在處理大數(shù)據(jù)集時(shí)表現(xiàn)出明顯的優(yōu)勢(shì),具有較好的加速比和良好的可擴(kuò)展性。
5結(jié)語
本文構(gòu)建了基于BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)模型,并設(shè)計(jì)基于Hadoop的BP神經(jīng)網(wǎng)絡(luò)并行算法,解決網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)中的大數(shù)據(jù)集分析和處理問題。實(shí)驗(yàn)證明,該評(píng)價(jià)模型擁有較快的收斂速度和較高的精度,可用于網(wǎng)絡(luò)學(xué)習(xí)的學(xué)習(xí)評(píng)價(jià),并且在Hadoop集群環(huán)境下具有較好的加速比和良好的可擴(kuò)展性,較好地解決了網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)數(shù)據(jù)處理量大、耗時(shí)過長(zhǎng)的缺點(diǎn),為網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)提供了高效而準(zhǔn)確的新方法。
參 考 文 獻(xiàn)
[1] 侯麗平.對(duì)網(wǎng)絡(luò)學(xué)習(xí)者形成性評(píng)價(jià)及評(píng)價(jià)系統(tǒng)的研究與設(shè)計(jì)[D].北京:北京交通大學(xué),2007:30-45.
HOU Liping. The Formative Accessment for E-Learners and the Research and Design of the Evaluation System[D]. Beijing: Beijing Jiaotong University,2007:30-45.
[2] 李景奇,韓錫斌,等.基于CIPP模式的網(wǎng)絡(luò)學(xué)習(xí)跟蹤與評(píng)價(jià)系統(tǒng)設(shè)計(jì)[J].電化教育研究,2009,7:53-57.
LI Jingqi, HAN Xibin, et al. Design of network learning tracking and evaluation system based on CIPP model[J]. E-education Research,2009,7:53-57.
[3] 王建宏,馮穎凌.基于AHP和模糊綜合評(píng)判的網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)[J].管理學(xué)家學(xué)術(shù)版,2011,8:57-63.
WANG Jianhong, FENG Yingling. Network learning evaluation based on AHP and fuzzy comprehensive evaluation[J]. An Academic Edition of ManaMaga,2011,8:57-63.
[4] 陳莉萍,哈渭濤.個(gè)性化網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)模型與系統(tǒng)的設(shè)計(jì)[J].電子設(shè)計(jì)工程,2009,3:83-85.
CHEN Liping, HA Weitao. The design of personalized network learning evaluation model and system[J]. Electronic Design Engineering,2009,3:83-85.
[5] WHITE T. Hadoop: The Definitive Guide[M]. 3th Edition. USA: O’Reilly Media, Inc.,2012:12-35.
[6] 陸嘉恒.大數(shù)據(jù)挑戰(zhàn)與NoSQL數(shù)據(jù)庫技術(shù)[M].北京:電子工業(yè)出版社,2013.
LU Jiaheng. Big data challenge and NoSQL database technology[M]. Beijing: Electronics Industry Press,2013.
[7] 李友坤.BP神經(jīng)網(wǎng)絡(luò)的研究分析及改進(jìn)應(yīng)用[D].淮南:安徽理工大學(xué),2012:19-25.
LI Youkun. Research analysis and improvement of BP neural network[D]. Huainan: Anhui University of Science and Technology,2012:19-25.
[8] 李玉斌,武書寧,姚巧紅.網(wǎng)絡(luò)學(xué)習(xí)評(píng)價(jià)研究的現(xiàn)狀與分析[J].現(xiàn)代遠(yuǎn)距離教育,2013,149(5):34-39.
LI Yubin, WU Shuling, YAO Qiaohong. Current situation and analysis of network learning evaluation[J]. Modern Distance Education,2013,149(5):34-39.
[9] 崔文斌,牟少敏,王云誠,等.Hadoop大數(shù)據(jù)平臺(tái)的搭建與測(cè)試[J].山東農(nóng)業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,44(4):550-555.
CUI Wenbin, MOU Shaomin, WANG Yuncheng, et al. Build and test of Hadoop big data platform[J]. Journal of Shandong Agricultural University(Natural Science Edition),2013,44(4):550-555.
[10] 劉仁坤,楊亭亭,王麗娜.論現(xiàn)代遠(yuǎn)程教育多元化的學(xué)習(xí)評(píng)價(jià)方式[J].遠(yuǎn)程教育,2012,303(4):52-57.
LIU Renkun, YANG Tingting, WANG Lina. On the diversified learning evaluation method of Modern Distance Education[J]. Modern Distance Education,2012,303(4):52-57.
中圖分類號(hào)TP311
DOI:10.3969/j.issn.1672-9722.2016.02.016
作者簡(jiǎn)介:陳志華,男,碩士,講師,研究方向:數(shù)據(jù)挖掘、云計(jì)算、大數(shù)據(jù)管理、信息技術(shù)教學(xué)應(yīng)用。
*收稿日期:2015年6月9日,修回日期:2015年9月25日