貝葉斯網(wǎng)絡(luò)在學(xué)生模型建模中的應(yī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ì)用戶的觀測(cè)值得到的用戶對(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)過測(cè)試,對(duì)其測(cè)試結(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所示。
評(píng)論