劉艷杰,李 霞
(山東理工大學(xué) 數(shù)學(xué)與統(tǒng)計(jì)學(xué)院, 山東 淄博 255049)
評價(jià)學(xué)校教學(xué)質(zhì)量水平高低,學(xué)生成績是一項(xiàng)很重要的指標(biāo)。雖然“以分論英雄”的時(shí)代已經(jīng)過去,但是在大樣本數(shù)據(jù)下成績依然是衡量學(xué)生知識水平的一個(gè)量化標(biāo)準(zhǔn),同時(shí)也是對學(xué)校教學(xué)質(zhì)量水平的衡量。如果能夠根據(jù)高年級學(xué)生成績的關(guān)聯(lián)性對低年級學(xué)生的成績做出預(yù)測, 并且以此恰當(dāng)?shù)刂贫ê线m的教學(xué)策略,給學(xué)生發(fā)展提出合理建議, 就可以更好地提高教學(xué)質(zhì)量。對此學(xué)者提出了許多方法,如吳楠等[1]基于修正的灰色模型進(jìn)行了學(xué)生成績的預(yù)測;馬潔明等[2]基于相關(guān)向量機(jī)構(gòu)造了學(xué)生成績預(yù)測模型;陳勇[3]基于遺傳神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了成績預(yù)測;羅永國[4]通過改進(jìn)遺傳算法實(shí)現(xiàn)了學(xué)生成績預(yù)測模型的構(gòu)建。鑒于貝葉斯網(wǎng)絡(luò)的簡單可行性,本文構(gòu)建貝葉斯網(wǎng)絡(luò)對學(xué)生成績進(jìn)行預(yù)測,選取學(xué)生的7門學(xué)科成績作為樣本數(shù)據(jù),即貝葉斯網(wǎng)絡(luò)里每個(gè)節(jié)點(diǎn)分別表示這些學(xué)科,節(jié)點(diǎn)之間連接的邊表示各學(xué)科成績之間的聯(lián)系。
貝葉斯網(wǎng)絡(luò)(Bayesian Networks,BN)[5]又稱為信度網(wǎng)絡(luò),是一種結(jié)合了概率論和圖論的不確定性知識表達(dá)與推理的方法。貝葉斯網(wǎng)絡(luò)是一種圖形化模型,能夠表達(dá)出因果關(guān)系和相關(guān)的不確定性知識。貝葉斯網(wǎng)絡(luò)由有向無環(huán)圖(Directed Acyclic Graph,DAG)和條件概率表(Conditional Probability Table,CPT)兩部分構(gòu)成,所以貝葉斯網(wǎng)絡(luò)的學(xué)習(xí)包括兩個(gè)方面:一是結(jié)構(gòu)學(xué)習(xí),即構(gòu)造一個(gè)DAG,它表達(dá)了圖中各節(jié)點(diǎn)的因果關(guān)系;二是參數(shù)學(xué)習(xí),即通過樣本數(shù)據(jù)估計(jì)參數(shù)的條件概率,用條件概率量化不確定性。貝葉斯網(wǎng)絡(luò)解決問題具有明確直觀等優(yōu)點(diǎn),已經(jīng)成為學(xué)術(shù)界的研究熱點(diǎn),在許多領(lǐng)域得到了廣泛應(yīng)用,如模式識別、決策支持、醫(yī)療診斷、數(shù)據(jù)挖掘、傳感器融合和自動(dòng)控制等領(lǐng)域[6-7]。
由于學(xué)生成績數(shù)據(jù)不完整,本文選取了山東理工大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)院統(tǒng)計(jì)學(xué)專業(yè)2015級78名學(xué)生作為研究樣本,每名學(xué)生的數(shù)學(xué)分析、高等代數(shù)、解析幾何、概率論、數(shù)理統(tǒng)計(jì)、描述性統(tǒng)計(jì)和運(yùn)籌學(xué)7門學(xué)科成績作為樣本數(shù)據(jù),即每個(gè)樣本有7個(gè)特征屬性。為便于研究,7個(gè)特征屬性分別用A、H、G、Pr、M、D、R來表示。把78個(gè)樣本的相關(guān)數(shù)據(jù)命名為數(shù)據(jù)集。數(shù)據(jù)集的具體形式見表1。
表1 學(xué)生成績數(shù)據(jù)集Tab1. Student achievement data
序號數(shù)學(xué)分析高等代數(shù)解析幾何概率論數(shù)理統(tǒng)計(jì)描述性統(tǒng)計(jì)運(yùn)籌學(xué)163.171.562.667.050.165.868.8271.584.069.281.176.983.675.2372.589.580.671.386.066.478.8471.176.061.877.570.663.2 66.4582.596.095.090.992.389.696.8693.290.586.810010082.296.8????????
由于構(gòu)建的貝葉斯網(wǎng)絡(luò)模型是基于離散數(shù)據(jù)的,所以在網(wǎng)絡(luò)構(gòu)建之前,需要對數(shù)據(jù)進(jìn)行離散化預(yù)處理。本文以80分為界值,80分到100分為優(yōu)秀,80分以下為不優(yōu)秀,也就是把成績分為2個(gè)等級,優(yōu)秀用“1”表示,不優(yōu)秀用“0”表示。數(shù)據(jù)預(yù)處理結(jié)果見表2。
貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)方法可分為三大類:一是基于評分搜索的方法[8],即采用評分函數(shù)(常用的評分函數(shù)有AIC,BIC等)對網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行評分,評分最高的網(wǎng)絡(luò)將作為最終的網(wǎng)絡(luò)模型[9],這種方法主要用在蟻群算法[10-11]、 K2 算法[12]和爬山法[13]中,這種方法雖然可以得到比較精確的網(wǎng)絡(luò)結(jié)構(gòu),但當(dāng)網(wǎng)絡(luò)結(jié)構(gòu)比較復(fù)雜時(shí),由于搜索空間太大,造成較低的學(xué)習(xí)效率;二是基于依賴分析(獨(dú)立性檢測)的方法[14],這種方法主要是通過判斷變量之間的條件獨(dú)立性來確定變量對應(yīng)的節(jié)點(diǎn)之間是否存在邊,以及邊的方向,這種方法雖然容易操作實(shí)現(xiàn),但是當(dāng)變量過多時(shí),條件獨(dú)立性的判斷會(huì)呈指數(shù)增長,導(dǎo)致計(jì)算量過大,影響效率;三是混合方法,即將上述兩種方法融合到一起,這種方法集合了上述兩種算法的優(yōu)點(diǎn),成為現(xiàn)在研究貝葉斯網(wǎng)絡(luò)的主要方法[15]。本文也是在第三種方法的基礎(chǔ)上,用節(jié)點(diǎn)間的條件互信息對各節(jié)點(diǎn)進(jìn)行條件獨(dú)立性檢測,確定貝葉斯網(wǎng)絡(luò)的初步結(jié)構(gòu),再利用K2算法進(jìn)行全局優(yōu)化,最終確定網(wǎng)絡(luò)結(jié)構(gòu)。
表2 學(xué)生成績預(yù)處理結(jié)果
Tab.2 Student achievement data preprocessed
序號數(shù)學(xué)分析高等代數(shù)解析幾何概率論數(shù)理統(tǒng)計(jì)描述性統(tǒng)計(jì)運(yùn)籌學(xué)1000000020101010301101004000000051111111611 11111????????
2.3.1 相關(guān)性分析
根據(jù)7個(gè)變量之間的相關(guān)性確定任意兩個(gè)變量之間是否存邊,貝葉斯網(wǎng)絡(luò)圖中,邊代表了兩個(gè)變量之間具有關(guān)聯(lián)性。
根據(jù)表3各學(xué)科之間的皮爾遜相關(guān)系數(shù),發(fā)現(xiàn)任意變量之間的關(guān)聯(lián)系數(shù)都比較大,為了更方便區(qū)分它們之間的聯(lián)系,本文取閾值為0.65,只要兩個(gè)變量之間的相關(guān)系數(shù)比閾值大,就說明這兩個(gè)變量之間有邊的存在,再根據(jù)課程的歷史發(fā)展,按相關(guān)系數(shù)從大到小的順序給邊定向,如果在網(wǎng)絡(luò)中出現(xiàn)環(huán),舍棄相關(guān)性比較小的兩個(gè)變量之間的邊。最終得到先驗(yàn)圖,如圖1所示。
表3 學(xué)生成績相關(guān)性分析表
Tab.3 Student achievement correlation analysis table
學(xué)科數(shù)學(xué)分析高等代數(shù)解析幾何概率論數(shù)理統(tǒng)計(jì)描述性統(tǒng)計(jì)運(yùn)籌學(xué)數(shù)學(xué)分析10.8500.7310.7510.7580.6780.672高等代數(shù)0.85010.6750.7260.6560.7440.640解析幾何0.7310.67510.6190.6410.5110.604概率論0.7510.7260.61910.7110.6310.631數(shù)理統(tǒng)計(jì)0.7580.6560.6410.71110.5800.748描述性統(tǒng)計(jì)0.6780.7440.5110.6310.58010.464運(yùn)籌學(xué)0.6720.6400.6040.6310.7480.4641
圖1 貝葉斯網(wǎng)絡(luò)先驗(yàn)圖Fig.1 Bayesian network prior graph
2.3.2 K2算法全局搜索
K2算法由于其優(yōu)越性被廣泛應(yīng)用研究,但K2算法是基于節(jié)點(diǎn)的先驗(yàn)順序進(jìn)行實(shí)現(xiàn)的,研究早期學(xué)者根據(jù)歷史事實(shí)和專家經(jīng)驗(yàn)確定先驗(yàn)順序,后來為了減少K2算法的主觀性,提高貝葉斯網(wǎng)絡(luò)建立的準(zhǔn)確性,學(xué)者提出了許多方法,如生成最大權(quán)重樹,還有信息論的應(yīng)用。本文運(yùn)用變量之間的相關(guān)性和歷史經(jīng)驗(yàn),建成了圖1的先驗(yàn)順序后進(jìn)行K2算法的搜索。K2算法的搜索結(jié)果如圖2所示。
圖2 貝葉斯網(wǎng)絡(luò)K2算法搜索圖Fig.2 Bayesian network K2 algorithm search graph
由圖2可以很直觀地發(fā)現(xiàn),數(shù)學(xué)分析和高等代數(shù)是其他5門課程的基礎(chǔ),直接影響著5門學(xué)科的成績。相對之下,5門學(xué)科成績之間的相關(guān)性較弱。
貝葉斯網(wǎng)絡(luò)的參數(shù)是變量的條件概率表(CPT),本文利用數(shù)理統(tǒng)計(jì)的方法[16]建立條件概率表。根據(jù)2.3確定的貝葉斯網(wǎng)絡(luò)父子節(jié)點(diǎn)關(guān)系,依次計(jì)算出每個(gè)節(jié)點(diǎn)的條件概率,得到7門學(xué)科的條件概率表,分別見表4—表10。
表4 數(shù)學(xué)分析條件概率表
Tab.4 Mathematical analysis conditional probability table
P(A=0)P(A=1) 0.650.35
表5 高等代數(shù)條件概率表
Tab.5 Higher algebra conditional probability table
條件概率P(H=0)P(H=1)A=00.72 0.28A=101
表6 解析幾何條件概率表
Tab.6 Analytic geometry conditional probability table
條件概率P(G=0)P(G=1)A=0,H=00.890.11A=0,H=1 0.790.21A=1,H=000A=1,H=10.150.85
表7 概率論條件概率表
Tab.7 Probability theory conditional probability table
條件概率P(Pr=0)P(Pr=1)A=0,H=00.810.19A=0,H=10.500.50A=1,H=000A=1,H=10.040.96
表8 數(shù)理統(tǒng)計(jì)條件概率表
Tab.8 Mathematical statistics conditional probability table
條件概率P(M=0)P(M=1)A=0,H=0 0.830.17A=0,H=10.500.50A=1,H=000A=1,H=10.190.81
表9 描述性統(tǒng)計(jì)條件概率表
Tab.9 Descriptive statistic conditional probability table
條件概率P(D=0)P(D=1)A=0,H=00.860.14A=0,H=10.790.21A=1,H=000A=1,H=10.110.89
表10 運(yùn)籌學(xué)條件概率表
Tab.10 Operations research conditional probability table
條件概率P(R=0)P(R=1)A=0,H=00.780.22A=0,H=10.430.57A=1,H=000A=1,H=10.070.93
貝葉斯網(wǎng)絡(luò)推理[17]是在得到貝葉斯網(wǎng)絡(luò)的情況下,根據(jù)已知結(jié)點(diǎn),利用貝葉斯公式求解其他結(jié)點(diǎn)的條件概率,它的推理過程可以分為精確推理和近似推理。貝葉斯網(wǎng)絡(luò)推理主要分為4種:①預(yù)測,根據(jù)已有的證據(jù)(原因),利用貝葉斯網(wǎng)絡(luò)的推理分析,計(jì)算出在該證據(jù)下結(jié)果發(fā)生的概率; ②診斷,根據(jù)已有的結(jié)果,利用貝葉斯網(wǎng)絡(luò)的推理分析,找到造成該結(jié)果發(fā)生的證據(jù)(原因),并計(jì)算證據(jù)(原因)發(fā)生的概率; ③關(guān)聯(lián)分析,分析產(chǎn)生同一結(jié)果的不同證據(jù)(原因)之間的關(guān)聯(lián); ④混合推理,上述幾種分析方式的結(jié)合。
本文利用聯(lián)合樹算法[18]進(jìn)行預(yù)測推理。例如,如果已知一個(gè)學(xué)生的概率論成績是優(yōu)秀,那么他的運(yùn)籌學(xué)成績也是優(yōu)秀的概率是多少呢?這個(gè)問題在貝葉斯網(wǎng)絡(luò)中轉(zhuǎn)化為求解P(R|Pr=1)的值,利用貝葉斯網(wǎng)絡(luò)推理中的聯(lián)合樹算法,得到:
即如果一個(gè)學(xué)生的概率論成績優(yōu)秀,那么他的運(yùn)籌學(xué)成績優(yōu)秀的概率為42%,不優(yōu)秀的概率為58%。同理可以根據(jù)已有的任何一門學(xué)科成績?nèi)ヮA(yù)測其他未知的學(xué)科成績。
本文針對一組學(xué)生主干學(xué)科成績的樣本數(shù)據(jù),構(gòu)建了完整的貝葉斯網(wǎng)絡(luò),得到以下結(jié)論:
1)從最終的貝葉斯網(wǎng)絡(luò)拓?fù)鋱D可以發(fā)現(xiàn),相比之下,解析幾何、概率論、數(shù)理統(tǒng)計(jì)、描述性統(tǒng)計(jì)和運(yùn)籌學(xué)5門課程與數(shù)學(xué)分析和高等代數(shù)的關(guān)聯(lián)性是較強(qiáng)的,由此可見數(shù)學(xué)分析和高等代數(shù)在整個(gè)學(xué)科體系中的重要性,所以學(xué)校在挖掘新課程的同時(shí)不能忽視對這些學(xué)科的建設(shè)。
2)在得到完整的貝葉斯網(wǎng)絡(luò)之后,本文利用貝葉斯網(wǎng)絡(luò)推理的聯(lián)合樹算法,舉例說明了成績預(yù)測的方法和過程。結(jié)果表明貝葉斯網(wǎng)絡(luò)成績預(yù)測是可行的,這為學(xué)校的教學(xué)管理部門提供了依據(jù),使他們可以更好地做出管理決策。