吳鯤
(江蘇聯(lián)合職業(yè)技術(shù)學(xué)院揚(yáng)州商務(wù)分院,江蘇 揚(yáng)州 225127)
基于機(jī)器學(xué)習(xí)的學(xué)生成績預(yù)警系統(tǒng)建模與研究
吳鯤
(江蘇聯(lián)合職業(yè)技術(shù)學(xué)院揚(yáng)州商務(wù)分院,江蘇 揚(yáng)州 225127)
隨著高校智慧校園建設(shè)的深入,所采集的校園大數(shù)據(jù)呈幾何基數(shù)增長,如何充分利用大數(shù)據(jù)對校園學(xué)習(xí)生活進(jìn)行科學(xué)的預(yù)測與示警是智慧校園建設(shè)研究的重大課題。為了彌補(bǔ)以往的技術(shù)不足,采用機(jī)器學(xué)習(xí)技術(shù)應(yīng)用于成績預(yù)警這個領(lǐng)域中,隨機(jī)森林算法、應(yīng)用支持向量機(jī)(SVM,Support Vector Machine)、線性回歸、回歸分類樹等技術(shù),詳細(xì)論述了高校學(xué)生成績預(yù)警系統(tǒng)的基于機(jī)器學(xué)習(xí)的成績預(yù)警功能的設(shè)計(jì)與實(shí)現(xiàn)。
機(jī)器學(xué)習(xí);隨機(jī)森林算法;SVM;成績預(yù)警;智慧校園
高校的智慧校園建設(shè)正如火如荼地進(jìn)行,作為數(shù)字化校園的更高級階段,智慧校園建設(shè)強(qiáng)調(diào)的是“智慧”,突出的是智能,如何利用大數(shù)據(jù)技術(shù)、云服務(wù)、物聯(lián)網(wǎng)等技術(shù),以人為本地為師生、家長、社會提供信息化服務(wù),以達(dá)到為學(xué)生的發(fā)展和終生幸福打好扎實(shí)的基礎(chǔ),是智慧校園建設(shè)研究的熱點(diǎn)問題。高校學(xué)生成績管理是高校教務(wù)系統(tǒng)管理的核心,以往的學(xué)生成績管理系統(tǒng)只關(guān)注于學(xué)生學(xué)習(xí)數(shù)據(jù)的分析,計(jì)算不同成績產(chǎn)生的概率,通過一定的算法推定未來的成績從而產(chǎn)生預(yù)警。這種方法將學(xué)生的學(xué)習(xí)獨(dú)立于學(xué)生的校園活動之外,有其局限性。通過智慧校園產(chǎn)生的大數(shù)據(jù),充分采集學(xué)生的大數(shù)據(jù),如進(jìn)入圖書館學(xué)習(xí)的時間、通過門禁進(jìn)入實(shí)訓(xùn)室的時間、校園消費(fèi)軌跡、網(wǎng)絡(luò)上網(wǎng)日志等數(shù)據(jù),采用隨機(jī)森林算法建立起高校學(xué)生成績預(yù)警系統(tǒng),以期對學(xué)習(xí)行為進(jìn)行警示,全面提高學(xué)生的成績。
(一)決策樹
數(shù)據(jù)的分類以樹形結(jié)構(gòu)的方式呈現(xiàn),每個分支都代表著不同的分類情況。分類的標(biāo)準(zhǔn)分為信息增益法,用信息的增益作為分類劃分的標(biāo)準(zhǔn),如ID3、C4.5算法、基尼指數(shù)法。用數(shù)據(jù)劃分的純度來做比較,最典型的就是CART分類回歸樹所用的方法,樹構(gòu)造好了之后,可以有剪枝的操作。
(二)隨機(jī)森林
隨機(jī)森林算法是用隨機(jī)的方式來建立一個森林,森林有決策樹,每個決策樹生成是隨機(jī)的,它們之間是沒有關(guān)聯(lián)的。當(dāng)有一個新的輸入樣本進(jìn)入的時候,就讓森林中的每一棵決策樹分別進(jìn)行一下判斷,看看這個樣本應(yīng)該屬于哪一類(對于分類算法),然后看看哪一類被選擇最多,就預(yù)測這個樣本為那一類。
在傳統(tǒng)的CART算法中,每個內(nèi)部節(jié)點(diǎn)都是原始數(shù)據(jù)集的子集,根節(jié)點(diǎn)包含了所有的原始數(shù)據(jù)而在每個內(nèi)部節(jié)點(diǎn)處,從所有屬性中找出最好的分裂方式進(jìn)行分裂,然后對后續(xù)節(jié)點(diǎn)依次進(jìn)行分裂,直到葉子節(jié)點(diǎn)最后通過剪枝使測試誤差最小。與其他算法不同,隨機(jī)森林中單棵樹的生長可概括為以下幾點(diǎn):
1.使用Bagging方法形成各異的訓(xùn)練集;假設(shè)原始訓(xùn)練集中的樣本數(shù)為N,從中有放回地隨機(jī)選取個樣本形成一個新的訓(xùn)練集,以此生成一棵分類樹。
2.隨機(jī)選擇特征對分類回歸樹的內(nèi)部節(jié)點(diǎn)進(jìn)行分裂;假設(shè)共有M個特征,指定一個正整數(shù)m〈〈M,在每個內(nèi)部節(jié)點(diǎn),從M個特征中隨機(jī)抽取m個特征作為候選特征,選擇這個m特征上最好的分裂方式對節(jié)點(diǎn)進(jìn)行分裂。在整個森林的生長過程中,M的值保持不變。
3.每棵樹任其生長,不進(jìn)行剪枝。
(三)支持向量機(jī)(SVM)
支持向量機(jī)(SVM)是在統(tǒng)計(jì)學(xué)習(xí)理論和結(jié)構(gòu)風(fēng)險(xiǎn)最小原理基礎(chǔ)上發(fā)展起來的一種新的機(jī)器學(xué)習(xí)方法,是解決非線性分類、函數(shù)估算、密度估算等問題的有效手段,主要思想是建立一個最優(yōu)決策超平面,使得該平面兩側(cè)距平面最近的兩類樣本之間的距離最大化,從而對分類問題提供良好的泛化能力。根據(jù)有限的樣本信息在模型中特定訓(xùn)練樣本的學(xué)習(xí)精度和無錯誤地識別任意樣本的能力之間尋求最佳最精確的結(jié)果,保證了模型具有全局最優(yōu)、最大泛化能力、推廣能力強(qiáng)等優(yōu)點(diǎn),在解決小樣本、非線性及高維模式識別中表現(xiàn)出許多特有的優(yōu)勢,并能夠推廣應(yīng)用到函數(shù)擬合中,能夠很好地解決許多實(shí)際預(yù)測問題。
(一)關(guān)鍵數(shù)據(jù)的提取
為了對學(xué)生的期末成績走向有一個合理的預(yù)測,根據(jù)校園生活實(shí)際經(jīng)驗(yàn)進(jìn)行了關(guān)鍵詞的選取,本文從3個大項(xiàng)、12個小項(xiàng)進(jìn)行了關(guān)鍵數(shù)據(jù)的提取,涵蓋了學(xué)生進(jìn)入圖書館學(xué)習(xí)的時間、學(xué)生吃飯的時間、學(xué)生的課堂學(xué)習(xí)時間、通過門禁進(jìn)入實(shí)訓(xùn)室的時間、進(jìn)入機(jī)房的時間、校園消費(fèi)記錄、進(jìn)入宿舍時間、學(xué)生上網(wǎng)學(xué)習(xí)的時間、學(xué)生上網(wǎng)游戲的時間、學(xué)生上網(wǎng)休閑的時間作為關(guān)鍵數(shù)據(jù)進(jìn)行深入的挖掘,所采集的數(shù)據(jù)是江蘇聯(lián)合職業(yè)技術(shù)學(xué)院揚(yáng)州商務(wù)分院所有學(xué)生采集的大數(shù)據(jù)。
(二)數(shù)據(jù)特征值的提取
表1 關(guān)鍵數(shù)據(jù)表
特征的選取對于構(gòu)建決策樹的分類十分重要,提取出合適的特征值對于預(yù)測學(xué)生成績發(fā)展的趨勢具有十分重要的意義。在選擇特征值時,希望發(fā)現(xiàn)那些對學(xué)生成績波動影響特別大的特征集。
決策樹(隨機(jī)森林)的特征值的選取依賴于已知數(shù)據(jù),利用決策樹我們對測試集進(jìn)行分類,以此判斷是否需要對學(xué)生進(jìn)行預(yù)警。在這個過程中,由于樹的劃分太細(xì),很容易造成過擬合的問題。在這里,我們可以利用剪枝來確認(rèn)最終的特征值,剪枝的方法主要有如下幾種:(1)錯誤率降低剪枝:最簡單的剪枝方法,減少某個節(jié)點(diǎn)看是否能夠提高正確率(利用訓(xùn)練集來驗(yàn)證正確率而不是測試集)。(2)悲觀剪枝:主要依據(jù)概率論根據(jù)自身節(jié)點(diǎn)比較信息增益來進(jìn)行剪枝。(3)代價(jià)復(fù)雜度:主要是通過增加新的節(jié)點(diǎn)看是否能大幅提升準(zhǔn)確率,通過閾值來判斷是否增加新的節(jié)點(diǎn))。隨機(jī)森林的本質(zhì)就是多棵決策樹的組合,利用不怎么準(zhǔn)確的決策方法生成最終一個可靠的結(jié)果。
(一)模型的算法
首先我們得到?jīng)Q策樹,下面我們就需要進(jìn)行相對應(yīng)的剪枝。這里我們利用剪枝前后信息熵的變化來說明。以屬性R分裂前后的信息增益比其他屬性最大。這里信息的定義如下:
其中的m表示數(shù)據(jù)集D中類別C的個數(shù),Pi表示D中任意一個記錄屬于Ci的概率,計(jì)算時Pi=(D中屬于Ci類的集合的記錄個數(shù)/|D|)。Info(D)表示將數(shù)據(jù)集D不同的類分開需要的信息量。
熵表示的是不確定度的度量,如果某個數(shù)據(jù)集的類別的不確定程度越高,則其熵就越大。比如我們將學(xué)生上網(wǎng)瀏覽的目的定義為f1,f1的取值為{1,2,3,4,5,6},代表有六種不同的可能性,則f1的熵entropy(f1)=-(1/6*log (1/6)+…+1/6*log(1/6))=-1*log(1/6)=2.58;我們將學(xué)生進(jìn)入圖書館的目的定義為f2,f2的取值為 {1,2,3,4},f2的熵entropy(1)=-(1/4*log(1/4)+1/4*log(1/4)+1/4*log(1/4) +1/4*log(1/4)) =-log(1/4)=2;將學(xué)生進(jìn)入實(shí)訓(xùn)室的目的定義為f3,顯然學(xué)生進(jìn)入實(shí)訓(xùn)室一定是為了學(xué)習(xí),即f3的取值為{1},故其熵entropy(f3)=-1*log(1)=0??梢钥吹?,可能的情況越多,熵值也越大。而當(dāng)只有一個可能時,熵值為0,此時表示不確定程度為0,也就是學(xué)生的目的是確定的。
有了上面關(guān)于熵的運(yùn)算,我們接著計(jì)算信息增益。假設(shè)我們選擇屬性R作為分裂屬性,數(shù)據(jù)集D中,R有k個不同的取值{V1,V2,…,Vk},于是可將D根據(jù)R的值分成k組{D1,D2,…,Dk},按R進(jìn)行分裂后,將數(shù)據(jù)集D不同的類分開還需要的信息量為:
信息增益的定義為分裂前后,兩個信息量只差:
信息增益Gain(R)表示屬性R給分類帶來的信息量,我們尋找Gain最大的屬性,就能使分類盡可能的純,即最可能地把不同的類分開。不過我們發(fā)現(xiàn),對所有的屬性Info(D)都是一樣的,所以求最大的Gain可以轉(zhuǎn)化為求最新的。
(二)實(shí)際預(yù)測過程
下面這個例子會預(yù)測學(xué)生是否沉迷于網(wǎng)絡(luò),首先我們得到如此的決策樹,下面就需要進(jìn)行相對應(yīng)的剪枝。因?yàn)椴煌昙壍恼n余時間不一樣,我們將年級作為一個特征值,學(xué)生到課率作為第二個特征值,學(xué)生上網(wǎng)日志訪問游戲類網(wǎng)站地址的頻率作為第三個特征值;將學(xué)生上網(wǎng)頻率作為第四個特征值。數(shù)據(jù)集D如附表1:
圖1 決策樹
附表1的數(shù)據(jù)集是根據(jù)學(xué)生的年級、上網(wǎng)頻率、是否經(jīng)常訪問游戲IP以及到課率來確定他是否會沉迷于網(wǎng)絡(luò),即最后一列“是否沉迷于網(wǎng)絡(luò)”是類標(biāo)。現(xiàn)在我們用信息增益選出最佳的分類屬性,計(jì)算按年級分裂后的信息量:
整個式子由三項(xiàng)累加而成,第一項(xiàng)為一年級,14條記錄中有5條為一年級,其中2(占2/5)條沉迷于網(wǎng)絡(luò),3(占3/5)條不沉迷于網(wǎng)絡(luò)。第二項(xiàng)為二年級,第三項(xiàng)為三年級。類似的有:
同理,得出:lnfo訪問游戲(D)=0.789 ,lnfo到課率(D)=0.892
可以得出lnfo年級(D)最小,說明不要增加信用等級這個節(jié)點(diǎn),增加之后不確定新增加,即以年級分裂后,分得的結(jié)果中類標(biāo)最純,此時以年級作為根結(jié)點(diǎn)的測試屬性。
由于數(shù)據(jù)來源不同,存在不同的結(jié)果結(jié)合。這里首先根據(jù)隨機(jī)森林得到相對應(yīng)的分類。然后進(jìn)行剪枝,得到相對應(yīng)的特征,再利用這些特征對結(jié)果進(jìn)行分類,同時我們把這個隨機(jī)森林方法應(yīng)用到歷史的情況,利用提取學(xué)生的一卡通、門禁等各種數(shù)據(jù)以及SVM方法來擬合某學(xué)期成績的升降(采用交叉檢驗(yàn),使得結(jié)果具有穩(wěn)定性不至于出現(xiàn)過擬合的問題)。利用這個擬合函數(shù)來預(yù)測學(xué)生本學(xué)期的分差,而如果結(jié)果的趨勢和Tree的判別趨勢相同我們就選擇采信這種方法,如果兩個結(jié)果趨勢矛盾,我們將利用這個學(xué)生本人的歷史數(shù)據(jù)再次進(jìn)行SVM模擬,將結(jié)果加入到之前的SVM模型當(dāng)中。
用SVM方法來擬合歷史上特征量的變化和最終分差的差別,利用這個SVM擬合來擬合本學(xué)習(xí)期學(xué)生的變化得到最終的分差。這里的分差表示學(xué)生本學(xué)期均分和以往均分的變化,正值表示學(xué)生成績下滑,負(fù)值表示學(xué)生成績上升。因此,我們就可以在學(xué)期中通過這種算法不斷提醒某些學(xué)生可能存在成績下滑的危險(xiǎn)或大幅度上升的趨勢。
(一)預(yù)測結(jié)果
完成對模型建模與計(jì)算后,分別對學(xué)校一年級、二年級、三年級的學(xué)生數(shù)據(jù)進(jìn)行分類與擬合,計(jì)算最終分差,這里截取了部分同學(xué)的分差,如表2,并形成年級成績分差趨勢圖,如圖2。
(二)結(jié)果分析
如圖3所示,我們將2015年學(xué)校三個年級成績趨勢分差的預(yù)測值和學(xué)校三個年級實(shí)際成績分差進(jìn)行了對比,模型擬合效果總體成績趨勢較為理想,但預(yù)測分差值和實(shí)際分差值浮動的幅度還是較大,需要在以后的研究中再引入其他數(shù)據(jù)加以改進(jìn)。
表2 各年級學(xué)生成績分差
附表1 學(xué)生上網(wǎng)數(shù)據(jù)統(tǒng)計(jì)
圖2 各年級學(xué)生成績分差趨勢
圖3 預(yù)測成績與實(shí)際對比圖
[1]Brett Lanta.機(jī)器學(xué)習(xí)與R語言[M].北京:機(jī)械工業(yè)出版社,2015:5-17.
[2]方匡南,吳見彬,朱建平,謝邦昌.隨機(jī)森林方法研究綜述[J].統(tǒng)計(jì)與信息壇,2011(3):32-38.
[3]董師師,黃哲學(xué).隨機(jī)森林理論淺析[J].集成技術(shù),2013(1):1-7.
[4]劉華煜.基于支持向量機(jī)的機(jī)器學(xué)習(xí)研究[D].大慶石油學(xué)院,2005.
[5]王全才.隨機(jī)森林特征選擇[D].大連理工大學(xué),2011.
TP
A
1673-0046(2016)12-0178-03