貝葉斯網(wǎng)絡(luò)在學(xué)生模型建模中的應(yīng)用分析
1 有關(guān)貝葉斯網(wǎng)絡(luò)理論知識(shí)
貝葉斯網(wǎng)絡(luò)(Bayesian Networks)也稱為信度網(wǎng)、因果網(wǎng),主要用于表示變量之間的依賴關(guān)系,并為任何全聯(lián)合概率分布提供一種簡明的規(guī)范。貝葉斯網(wǎng)表達(dá)了各個(gè)節(jié)點(diǎn)間的條件獨(dú)立關(guān)系,可以直觀地從貝葉斯網(wǎng)中得出屬性間的條件獨(dú)立以及依賴關(guān)系;另外可以認(rèn)為貝葉斯網(wǎng)以另一種形式表示出了事件的聯(lián)合概率分布,根據(jù)貝葉斯網(wǎng)的網(wǎng)絡(luò)結(jié)構(gòu)以及條件概率表(CPT)可以快速得到每個(gè)基本事件(所有屬性值的一個(gè)組合)的概率。貝葉斯學(xué)習(xí)理論利用先驗(yàn)知識(shí)和樣本數(shù)據(jù)來獲得對(duì)未知樣本的估計(jì),而概率(包括聯(lián)合概率和條件概率)是先驗(yàn)信息和樣本數(shù)據(jù)信息在貝葉斯學(xué)習(xí)理論當(dāng)中的表現(xiàn)形式。
2 學(xué)生模型中教學(xué)資源信息的建模
貝葉斯網(wǎng)絡(luò)的建模目的是對(duì)所包含的定性知識(shí)和定量知識(shí)進(jìn)行結(jié)構(gòu)描述,定性部分由網(wǎng)絡(luò)結(jié)構(gòu)來描述,定量部分由條件概率分布函數(shù)來表示。從原始數(shù)據(jù)中構(gòu)造貝葉斯網(wǎng)絡(luò)模型,實(shí)質(zhì)也是對(duì)原始數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘:先找出最符合原始數(shù)據(jù)定性的網(wǎng)絡(luò)圖關(guān)系,然后根據(jù)網(wǎng)絡(luò)圖中的因果關(guān)系,計(jì)算節(jié)點(diǎn)間的條件概率。構(gòu)造貝葉斯網(wǎng)絡(luò)可以分為4個(gè)階段:(1)定義域變量;(2)確定網(wǎng)絡(luò)結(jié)構(gòu);(3)確定條件概率分布函數(shù);(4)運(yùn)用到實(shí)際系統(tǒng)中,并根據(jù)系統(tǒng)產(chǎn)生的數(shù)據(jù)優(yōu)化貝葉斯網(wǎng)絡(luò)。
在學(xué)生模型中教學(xué)資源信息的建模初期要考慮整個(gè)教學(xué)資源信息的網(wǎng)絡(luò)結(jié)構(gòu),然后再考慮局部的知識(shí)結(jié)構(gòu):知識(shí)點(diǎn)的前驅(qū)、后繼關(guān)系,知識(shí)點(diǎn)之間的相互影響程度,知識(shí)點(diǎn)的狀態(tài),以及與知識(shí)點(diǎn)相關(guān)的測試(包括識(shí)記、理解、應(yīng)用、分析、綜合等狀態(tài)),只有經(jīng)過測試,才能實(shí)現(xiàn)個(gè)性化教學(xué)。整個(gè)過程為將來個(gè)性化的評(píng)估做準(zhǔn)備,根據(jù)評(píng)估結(jié)果實(shí)現(xiàn)貝葉斯網(wǎng)絡(luò)的局部更新,也即學(xué)生知識(shí)狀態(tài)的更新,貝葉斯網(wǎng)絡(luò)根據(jù)更新過的學(xué)生狀態(tài),個(gè)性化地把內(nèi)容呈現(xiàn)給學(xué)生[3]。
2.1 學(xué)生模型中整體教學(xué)資源的知識(shí)結(jié)構(gòu)
本文把教學(xué)資源分為6個(gè)層次:課程知識(shí)、主知識(shí)項(xiàng)(按章劃分)、一級(jí)知識(shí)項(xiàng)(按節(jié)劃分)、二級(jí)知識(shí)項(xiàng)(也稱復(fù)合知識(shí)項(xiàng))、基本概念知識(shí)項(xiàng)、與上述知識(shí)相關(guān)的測試。層與層之間只有繼承關(guān)系,同層內(nèi)的知識(shí)可以是前驅(qū)和后繼的關(guān)系,也可以是平行和關(guān)聯(lián)等關(guān)系??梢哉J(rèn)為前驅(qū)和后繼關(guān)系是關(guān)聯(lián)的一種特殊形式。
2.2 學(xué)生模型中局部教學(xué)資源的知識(shí)結(jié)構(gòu)
2.2.1 定義域變量和確定網(wǎng)絡(luò)結(jié)構(gòu)
學(xué)生模型的建模就是要針對(duì)學(xué)生所學(xué)課程掌握的知識(shí)結(jié)構(gòu)進(jìn)行建模,從而根據(jù)學(xué)生的知識(shí)狀況給出學(xué)生學(xué)習(xí)狀況的評(píng)價(jià)。
以《Delphi程序設(shè)計(jì)教程》為例,按照課程的章節(jié)安排列出課程的知識(shí)結(jié)構(gòu),為了簡化,只選取部分知識(shí)內(nèi)容做出說明,整體結(jié)構(gòu)可依次類推。比如在基本程序控制結(jié)構(gòu)這一章,一級(jí)知識(shí)項(xiàng)(章)為:基本程序控制結(jié)構(gòu);二級(jí)知識(shí)項(xiàng)(節(jié))有:順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu);復(fù)合概念有:While循環(huán)、For循環(huán)、Repeat循環(huán);基本概念有:關(guān)系運(yùn)算符、賦值語句、變量、數(shù)據(jù)類型。需要在貝葉斯網(wǎng)絡(luò)中加入測試項(xiàng)作為輸入節(jié)點(diǎn),也可稱之為觀測節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)代表一個(gè)測試該知識(shí)點(diǎn)的測試項(xiàng)。
節(jié)點(diǎn)的狀態(tài)表示學(xué)生對(duì)該知識(shí)項(xiàng)的掌握程度,例如可以用4個(gè)等級(jí)來表示學(xué)生對(duì)知識(shí)項(xiàng)的掌握程度,A:表示學(xué)生對(duì)特定知識(shí)項(xiàng)已完全熟練掌握; B:表示學(xué)生對(duì)知識(shí)項(xiàng)基本掌握,但是仍有一些問題;C:表示學(xué)生處在初級(jí)階段,有許多問題;D:表示學(xué)生對(duì)該知識(shí)項(xiàng)完全不了解。每一等級(jí)對(duì)應(yīng)一個(gè)條件概率值(值的加權(quán)和為1),該值是基于對(duì)用戶的觀測值得到的用戶對(duì)知識(shí)項(xiàng)的掌握程度。在系統(tǒng)設(shè)計(jì)過程中,為了簡化,設(shè)置節(jié)點(diǎn)的狀態(tài)為True(掌握)、False(未掌握)。
2.2.2 條件概率估計(jì)
經(jīng)過上面的分析,接下來將討論如何獲得知識(shí)項(xiàng)之間的影響程度的條件概率表。
在貝葉斯網(wǎng)絡(luò)構(gòu)建中所有節(jié)點(diǎn)都要給定條件概率,對(duì)于沒有父節(jié)點(diǎn)的節(jié)點(diǎn),需要給定其先驗(yàn)概率,條件概率可以通過樣本學(xué)習(xí)和通過專家估計(jì)獲得[4]。
(1)設(shè)計(jì)分析
在由數(shù)據(jù)類型(A)、關(guān)系運(yùn)算符(B)、變量(C)、While循環(huán)(D)教學(xué)資源構(gòu)成的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,每個(gè)節(jié)點(diǎn)有兩個(gè)離散的狀態(tài):True和False,如果需要,節(jié)點(diǎn)也可以包括更多的狀態(tài)。設(shè)計(jì)網(wǎng)絡(luò)時(shí),必須指定每個(gè)節(jié)點(diǎn)的條件概率表,需要獲得P(A)、P(C)、P(B)、P(D/C)、P(D/B)。
(2)樣本收集
經(jīng)驗(yàn)數(shù)據(jù)來自于某校某班學(xué)生學(xué)習(xí)“基本程序控制結(jié)構(gòu)”這一章節(jié)后,經(jīng)過測試,對(duì)其測試結(jié)果進(jìn)行分析并獲得學(xué)習(xí)知識(shí)項(xiàng)之間的相互影響程度,這樣就確定了利用貝葉斯網(wǎng)絡(luò)所建學(xué)生模型中網(wǎng)絡(luò)拓?fù)渲R(shí)項(xiàng)之間的條件概率函數(shù)。
將學(xué)生的得分情況分為100~90、90~80、80~70、70~60、60以下5個(gè)分?jǐn)?shù)段。認(rèn)為如果學(xué)生答對(duì)涉及到該知識(shí)項(xiàng)的題目,那么他對(duì)該知識(shí)項(xiàng)的知識(shí)狀態(tài)為True(掌握);反之,如果答錯(cuò),則認(rèn)為他對(duì)該知識(shí)項(xiàng)的知識(shí)狀態(tài)為False(未掌握)。
(3)學(xué)習(xí)條件概率表[5-6]
算法的設(shè)計(jì)思想是:首先按照網(wǎng)絡(luò)構(gòu)建中節(jié)點(diǎn)的拓?fù)漤樞?,根?jù)每個(gè)分?jǐn)?shù)段隨機(jī)抽取n份考試的試卷用于對(duì)網(wǎng)絡(luò)中各節(jié)點(diǎn)的狀態(tài)進(jìn)行賦值,當(dāng)所有節(jié)點(diǎn)都被賦值一遍后就得到該網(wǎng)絡(luò)中的一次采樣樣本,依此重復(fù),得到10 n個(gè)樣本,即一個(gè)樣本序列;然后對(duì)該樣本序列按相關(guān)列進(jìn)行聯(lián)合統(tǒng)計(jì)可得到網(wǎng)絡(luò)近似推理結(jié)果。由于隨機(jī)采樣時(shí)考慮了節(jié)點(diǎn)的先驗(yàn)信息,所以當(dāng)樣本數(shù)n取很大時(shí),這些采樣樣本的邊緣統(tǒng)計(jì)量和條件統(tǒng)計(jì)量就可以趨近于事件的真實(shí)發(fā)生概率和條件發(fā)生概率。
對(duì)所有節(jié)點(diǎn)都采樣了m遍,得到m組樣本,即樣本序列S,然后對(duì)樣本序列S按列進(jìn)行單獨(dú)統(tǒng)計(jì),得到節(jié)點(diǎn)的全概率;對(duì)多列進(jìn)行聯(lián)合統(tǒng)計(jì),得到節(jié)點(diǎn)間的聯(lián)合概率和條件概率。
所謂聯(lián)合統(tǒng)計(jì),就是把證據(jù)節(jié)點(diǎn)和推理目標(biāo)節(jié)點(diǎn)的采樣樣本聯(lián)合起來進(jìn)行統(tǒng)計(jì),就得到了給定證據(jù)后目標(biāo)節(jié)點(diǎn)發(fā)生的條件概率和聯(lián)合概率。對(duì)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)按拓?fù)漤樞虿蓸觤次,得到樣本序列S,對(duì)樣本序列進(jìn)行適當(dāng)?shù)慕y(tǒng)計(jì),可以得到網(wǎng)絡(luò)的近似推理結(jié)果。
節(jié)點(diǎn)Ni(i=1,…,n)發(fā)生的全概率就是單獨(dú)對(duì)該列進(jìn)行統(tǒng)計(jì)的結(jié)果。例如,要知道學(xué)生對(duì)于“變量”(C)已經(jīng)True的情況的概率P(C=True),只要把對(duì)是T的那些樣本挑選出來,然后統(tǒng)計(jì)一下T的個(gè)數(shù),除以總的采樣次數(shù)m,就可以近似為C這一知識(shí)項(xiàng)學(xué)生已經(jīng)True(掌握)的概率,即:
節(jié)點(diǎn)Ni(i=1,…,n)發(fā)生的條件概率就是把那些條件節(jié)點(diǎn)和該節(jié)點(diǎn)所在的相關(guān)列聯(lián)合起來進(jìn)行統(tǒng)計(jì)。例如,計(jì)算節(jié)點(diǎn)“D”在節(jié)點(diǎn)“B”已經(jīng)True(掌握)情況下發(fā)生T狀態(tài)(D也為True)的概率,也即求P(D=True|B=True),可以這樣進(jìn)行:首先,把在“B”中是T的那些樣本挑選出來,形成新的樣本序列So,其組數(shù)為no;其次,把樣本序列So中在“D”中是T的那些樣本挑選出來,然后統(tǒng)計(jì)T的個(gè)數(shù),除以no,就可以近似為“D”在“B”取狀態(tài)為True的情況下發(fā)生False狀態(tài)的概率:
類似地,幾個(gè)節(jié)點(diǎn)的聯(lián)合概率則是把同時(shí)滿足這些節(jié)點(diǎn)狀態(tài)的樣本挑出來,得到的樣本組數(shù)除以總的樣本組數(shù)m即可。
單獨(dú)的節(jié)點(diǎn)狀態(tài)概率,可以使用條件概率規(guī)則,并沿著邊進(jìn)行傳播。
網(wǎng)絡(luò)設(shè)計(jì)完成后,條件概率表進(jìn)行了指定,網(wǎng)絡(luò)進(jìn)行了傳播。
通過上面的分析,從定性方面完成了學(xué)生所學(xué)知識(shí)項(xiàng)的邏輯關(guān)系,并且通過經(jīng)驗(yàn)數(shù)據(jù)獲得了關(guān)于這些知識(shí)項(xiàng)之間存在影響程度的定量數(shù)據(jù),最終構(gòu)建成的個(gè)性化教學(xué)中關(guān)于《Delphi程序設(shè)計(jì)教程》課程中章節(jié)知識(shí)項(xiàng)的學(xué)生模型的框架如圖1所示。
2.2.3 學(xué)生模型原型系統(tǒng)的實(shí)現(xiàn)
根據(jù)上面理論方面的分析,已經(jīng)構(gòu)建了個(gè)性化教學(xué)系統(tǒng)中學(xué)生模型的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)圖,為了證明整個(gè)系統(tǒng)框架的可行性,需要把前面的理論構(gòu)建與具體的技術(shù)相結(jié)合以實(shí)現(xiàn)可用的系統(tǒng)。
該系統(tǒng)設(shè)計(jì)中運(yùn)用不同的顏色來標(biāo)記知識(shí)項(xiàng)掌握的4種情況:綠色表示已掌握;紅色表示已學(xué)習(xí)但未掌握;黃色表示未學(xué)習(xí),適合學(xué)習(xí);灰色表示不適合學(xué)習(xí)。當(dāng)貝葉斯網(wǎng)絡(luò)獲得證據(jù)信息后標(biāo)記的顏色狀態(tài)會(huì)發(fā)生變化?;谪惾~斯網(wǎng)絡(luò)先驗(yàn)概率,知識(shí)項(xiàng)全部標(biāo)記為黃色,如圖2所示,新注冊(cè)用戶登錄系統(tǒng)時(shí)可在黃色節(jié)點(diǎn)中點(diǎn)擊選擇最初學(xué)習(xí)節(jié)點(diǎn),學(xué)習(xí)后對(duì)相應(yīng)知識(shí)項(xiàng)進(jìn)行測試,根據(jù)系統(tǒng)導(dǎo)航,若測試合格則按引導(dǎo)進(jìn)行下一知識(shí)項(xiàng)的學(xué)習(xí),未通過系統(tǒng)會(huì)提示返回上一個(gè)節(jié)點(diǎn)重新學(xué)習(xí)。
從這個(gè)系統(tǒng)中可以看到:基于貝葉斯網(wǎng)絡(luò)的個(gè)性化教學(xué)系統(tǒng)既有交互性,又體現(xiàn)了個(gè)性化,通過系統(tǒng)的導(dǎo)航功能(不同顏色的應(yīng)用)可以幫助進(jìn)行學(xué)習(xí)的指導(dǎo),當(dāng)學(xué)生想學(xué)某一概念時(shí)系統(tǒng)會(huì)把它的前驅(qū)知識(shí)點(diǎn)以序列形式呈現(xiàn)給學(xué)生,不同學(xué)生要求不一樣,系統(tǒng)提供的導(dǎo)航也不一樣,真正體現(xiàn)了個(gè)性化教學(xué)。
隨著網(wǎng)絡(luò)教學(xué)平臺(tái)的不斷涌現(xiàn),個(gè)性化教學(xué)系統(tǒng)的研究和開發(fā)成為遠(yuǎn)程教育中的關(guān)鍵問題和熱點(diǎn)。而在個(gè)性化教學(xué)系統(tǒng)中的學(xué)生模型是其中的重要組成部分,在遠(yuǎn)程教育領(lǐng)域起著重要的作用。因此,研究如何設(shè)計(jì)和利用學(xué)生模型來實(shí)現(xiàn)遠(yuǎn)程教育中的個(gè)性化教學(xué)有著重要的意義。
參考文獻(xiàn)
[1] 劉桓,曹紅菊.自適應(yīng)學(xué)習(xí)系統(tǒng)的研究與設(shè)計(jì)[J].教育技術(shù)導(dǎo)刊,2006,(3):39-40.
[2] 余勝泉.適應(yīng)性學(xué)習(xí)——遠(yuǎn)程教育的發(fā)展趨勢.開放教育研究,2000,6(3):70-76.
[3] 冀俊忠,劉椿年.貝葉斯網(wǎng)及概率推理在智能教學(xué)中的應(yīng)用[J].北京工業(yè)大學(xué)學(xué)報(bào),2002,9(28):353-358.
[4] 翼俊忠,劉椿午,沙志強(qiáng).貝葉斯模型的學(xué)習(xí)、推理和應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2003,7(5):145-147.
[5] 胡兆勇,屈梁生.貝葉斯網(wǎng)絡(luò)推理的一種仿真算法[J].系統(tǒng)仿真學(xué)報(bào),2004,26(2):286-288.
[6] 劉偉娜,霍利民,張立國.貝葉斯網(wǎng)絡(luò)精確推理算法的研究[J].網(wǎng)絡(luò)與通信,2006,22(9):92-94.