邵雋
摘要:影響智能教學(xué)系統(tǒng)中教學(xué)決策的一個核心因素是系統(tǒng)中學(xué)習(xí)模型的質(zhì)量。學(xué)習(xí)模型是一種以人類學(xué)生解決問題的各種方法為基礎(chǔ)的模型。一個好的學(xué)習(xí)模型能夠匹配學(xué)生行為模式,為學(xué)習(xí)任務(wù)難度和相關(guān)問題之間的學(xué)習(xí)轉(zhuǎn)化提供有效信息。然而,傳統(tǒng)構(gòu)建模型的方式一方面非常耗時,而且還容易丟失具有重要教育意義的內(nèi)容和學(xué)習(xí)方式。自動化方式可以構(gòu)建更好的學(xué)習(xí)模型,但需要一些工程知識,同時其模型難以解釋。該文討論了一種基于內(nèi)容特征使用聚類算法來構(gòu)建學(xué)習(xí)模型的方法。
關(guān)鍵詞:聚類;學(xué)習(xí)模型;K-mean算法
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)36-8599-02
1 簡介
學(xué)習(xí)模型是智能教育系統(tǒng)的核心組成部分,它表達(dá)了學(xué)生處理問題的不同方法。一種常用的表達(dá)學(xué)習(xí)模型的方法是在智能教育系統(tǒng)中使用一組知識成分對學(xué)生處理的問題進(jìn)行建模。所謂知識成分是指由一組相關(guān)任務(wù)的表現(xiàn)推斷而得的一組認(rèn)知功能或結(jié)構(gòu)單元。一組知識成分是一個學(xué)生通過成功完成目標(biāo)任務(wù)獲得的。例如:在代數(shù)中知識成分是指如何求解kw=k這種形式的問題。一個學(xué)習(xí)模型為智能教育系統(tǒng)提供了如何做出教育決策的重要信息。一個較好的學(xué)習(xí)模型有能力預(yù)測任務(wù)難度及相關(guān)問題之間的學(xué)習(xí)轉(zhuǎn)化。因此,具備良好學(xué)習(xí)模型的智能教育系統(tǒng)通常提供了更有效的學(xué)習(xí)體驗。
傳統(tǒng)構(gòu)建學(xué)習(xí)模型的方法包括結(jié)構(gòu)化面談、關(guān)系分析等。然而這些方法通常都非常耗時并且需要相關(guān)專業(yè)的經(jīng)驗,更為重要的是都太過主觀化。這些方法都忽略了在教育過程中非常重要的一個環(huán)節(jié):知識的獲取。而采用機器學(xué)習(xí)技術(shù)來產(chǎn)生學(xué)習(xí)模型的方法通常能夠找到更好的模型,但卻很難去解釋其結(jié)果。例如:采用主成分分析自動構(gòu)建學(xué)習(xí)模型,它的一個限制是僅僅在人工提供的成分中分析,如果某個因素或成分是未知的,算法很難找到更好的模型。
為了解決上述問題,該文通過聚類算法(K-mean)開發(fā)學(xué)習(xí)模型,為了同時兼顧預(yù)測準(zhǔn)確度和模型的可解釋性,算法的特征包含了問題內(nèi)容特征和性能特征,所以相同聚類中的問題步驟具有相似的形式并和人類學(xué)生的相似性能所關(guān)聯(lián)。每個聚類對應(yīng)學(xué)生需要學(xué)習(xí)的一個知識成分。下文首先描述如何使用統(tǒng)計方法評估學(xué)習(xí)模型的質(zhì)量;然后論述如何產(chǎn)生算法的特征,最后討論如何應(yīng)用聚類算法尋找學(xué)習(xí)模型。
2 評估學(xué)習(xí)模型的質(zhì)量
學(xué)習(xí)模型可以被一組知識成分所表達(dá),每個問題的解決步驟對應(yīng)一個知識成分。所以現(xiàn)在問題是給定人類學(xué)生如何在某個領(lǐng)域解決問題的數(shù)據(jù)集,如何尋找一組知識成分來匹配學(xué)生的這個行為。
現(xiàn)有幾種方法來使用學(xué)習(xí)數(shù)據(jù)匹配學(xué)習(xí)模型,該文使用附加因子模型來衡量學(xué)習(xí)模型的質(zhì)量。附加因子模型是Logistic回歸的一個實例,它使用學(xué)生、知識成分及每次交互的知識成分作為自變量對學(xué)習(xí)過程進(jìn)行建模,如下所示:
lnpij1-pij=θi+βkQkj+βkQkjγkNik
其中,i代表學(xué)生i,j代表第j個步驟,k代表技能或知識成分k,pij為學(xué)生i正確完成第j步的概率,θi為學(xué)生i的能力系數(shù),βk為技能或知識成分k的難度系數(shù),Qkj為在第k步使用技能k的矩陣,γk為技能k的學(xué)習(xí)率系數(shù),Nik為學(xué)生i已經(jīng)使用技能k的練習(xí)數(shù)量。
由此,質(zhì)量越好的學(xué)生模型,預(yù)測的精度越高。為了訓(xùn)練參數(shù),該文使用最大似然估計,為了避免過擬合,該文采用交叉驗證來檢驗學(xué)生模型的質(zhì)量。
3 發(fā)現(xiàn)學(xué)習(xí)模型
有了上述的評估方法,注意到我們的任務(wù)不僅僅是發(fā)現(xiàn)一個模型來預(yù)測學(xué)生行為的好壞,同時需要該模型在概念上有意義。換句話說,對于相同的知識成分中的步驟應(yīng)當(dāng)概念與性能上都是類似的。通過一組解決問題的步驟來發(fā)現(xiàn)學(xué)習(xí)模型是一個聚類任務(wù),該算法對解決問題的步驟進(jìn)行分組,把比較相似的分為一組。在本文中,每個聚類對應(yīng)學(xué)習(xí)模型中的一個知識成分。從聚類的角度看如果內(nèi)容與性能同時相似度很高,那么算法找到的知識成分就能符合之前討論的性質(zhì)。因此,該文在聚類算法采用了兩種類型的特征:內(nèi)容特征與性能特征。
3.1 預(yù)處理
在產(chǎn)生特征前,首先需要把問題步驟標(biāo)記化,即所有的數(shù)字替換為K,所有的變量替換為w。例如:-3x=6標(biāo)記化后為-Kw=K。實際上,標(biāo)記化的程度會影響模型的結(jié)果,因此通過預(yù)處理移除步驟中不同的數(shù)值。例如:-3x=6 的解決方法可以被輕易用于-300x=30,通過預(yù)處理標(biāo)記化后,都會被表達(dá)為-Kw=K。
3.2產(chǎn)生特征
在預(yù)處理后,我們需要為這些標(biāo)記化的步驟產(chǎn)生特征,這里有兩大類特征:內(nèi)容特征和性能特征。
3.2.1 內(nèi)容特征
內(nèi)容特征是基于標(biāo)記化步驟的問題內(nèi)容信息來定義的。更具體的說,對每個標(biāo)記化的步驟,羅列出二元組與三元組,如果步驟中包含二元組或三元組,則設(shè)置為1,不包含則設(shè)置為0。例如:對于-Kw=K來說,二元組包括了:-K、Kw、w=和=K,而三元組有-Kw,Kw=和w=K??紤]二元組Kw和三元組+K=,對于步驟-Kw=K來說,特征Kw的值為1,而特征+K=的值為0,因為+K=沒有出現(xiàn)在步驟中。但對于步驟Kw+K=K來說,特征Kw 和特征+K=的值都為1。
通過使用這些內(nèi)容特征,可以確定在同一個聚類中的步驟具備相同的內(nèi)容特征,同時它們形式上有相似性。這點滿足相同聚類具有相似概念步驟這個性質(zhì)。此外,通過在一個知識成分中具有相同特征聚類的步驟,具有很好的可解釋性。
3.2.2 性能特征
在算法中使用的第二類特征是性能特征。這些特征衡量人類學(xué)生解決標(biāo)記化步驟的平均性能。例如:學(xué)生的反映時間和學(xué)生第一次嘗試的正確率。需要注意的是,性能特征僅僅用于訓(xùn)練數(shù)據(jù)創(chuàng)建聚類。一旦完成預(yù)測學(xué)生的性能,性能數(shù)據(jù)就不會被使用。對于測試數(shù)據(jù),僅使用內(nèi)容特征識別當(dāng)前步驟所屬聚類。換句話說,對于每個測試數(shù)據(jù),基于內(nèi)容特征計算測試數(shù)據(jù)到所有訓(xùn)練數(shù)據(jù)的距離,并分配測試數(shù)據(jù)到最近的訓(xùn)練數(shù)據(jù)所在的聚類。常用的性能特征通常包括:平均錯誤率,平均提示率,平均正確率,第一次嘗試錯誤率,第一次嘗試提示率,第一次嘗試正確率,平均每步所用時間(秒),平均正確的步驟所用時間(秒),平均錯誤的步驟所用時間(秒),平均完成每步的學(xué)生數(shù),平均每個學(xué)生完成步驟所嘗試的次數(shù)。endprint
3.3 主成分分析
在進(jìn)行聚類算法前,首先需要對所有的特征進(jìn)行歸一化到0-1范圍,然后對產(chǎn)生的特征進(jìn)行主成分分析。主成分分析是一個數(shù)學(xué)過程,它映射一組可能相關(guān)的觀察變量到一組線性不相關(guān)的變量,這些線性不相關(guān)變量被稱為主成分。第一個主成分指向最大可能的因素,后面的成分與前面的正交并指向較小的因素。
在上述變化后,在投影空間中的所有特征都互為正交,因此按順序移除信息量較小的特征,該文僅保留投影空間中前40個主成分,它們覆蓋了數(shù)據(jù)中95%的因素。
3.4 聚類算法
為了找到學(xué)習(xí)模型,該文使用k-mean算法來對數(shù)據(jù)進(jìn)行聚類,數(shù)據(jù)點之間的距離采用歐氏距離進(jìn)行衡量。算法采用類似期望最大值的方式,具體過程如下所示:
輸入:進(jìn)行聚類算法的所有點P,聚類的數(shù)量k
輸出:每個聚類的中心點C,每個聚類的點M
1) 在P中隨機為每個聚類選擇中心點c;
2) 計算P中每個點p與每個聚類中心點c之間的距離,選擇其中距離最小的m,并把該點歸入距離最小的那個聚類;
3) 重新計算每個聚類的中心點c;
4) 重復(fù)步驟2,直到每個點到中心點的聚類始終為最小,及其所屬的聚類沒有改變?yōu)橹埂?/p>
首先、為每個聚類隨機初始化中心點;然后、在分配階段,把每個數(shù)據(jù)點分配給與之最近的聚集;第三、在更新階段,重新計算每個聚類的均值,并把它作為數(shù)據(jù)的中心點。上述三步重復(fù)執(zhí)行直到收斂。K-Mean算法要求事先確定聚類的數(shù)量k,而我們并不知道有多少聚類,可以選擇不同的數(shù)量進(jìn)行測試(例如:20,30,40),并選擇其中最好的。此外,即便是相同的聚類數(shù)量,不同的初始值也會導(dǎo)致不同的聚類結(jié)果,可以多次執(zhí)行算法并選擇聚類內(nèi)差異較小和聚類間差異較大的。
4 總結(jié)
本文介紹了一種基于機器學(xué)習(xí)算法自動尋找學(xué)習(xí)模型的應(yīng)用。為了發(fā)現(xiàn)有效的知識成分用于預(yù)測人類學(xué)生的性能,同時具有可解釋性,該文把內(nèi)容特征加入到特征控件并應(yīng)用聚類算法發(fā)現(xiàn)學(xué)習(xí)模型。在將來我們的工作是應(yīng)用更多機器學(xué)習(xí)及相關(guān)領(lǐng)域的技術(shù)到學(xué)習(xí)模型等教育領(lǐng)域,同時這也是教育領(lǐng)域發(fā)展的重要趨勢之一。
參考文獻(xiàn):
[1] 邵峰晶,于忠清.數(shù)據(jù)挖掘原理與算法[M].中國水利水電出版社,2003.
[2] Salton G,Wong A,Yang C S.A vector space model for automatic indexing[J]. Communications of the ACM,1975.endprint