国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于特征嵌入的學(xué)生知識(shí)點(diǎn)熟練度預(yù)測①

2022-02-15 06:41史浩杰賈俊鋮
關(guān)鍵詞:矩陣向量答題

史浩杰,李 幸,賈俊鋮,匡 健,章 紅

1(蘇州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,蘇州 215006)

2(初速度(蘇州)科技有限公司,蘇州 215100)

在學(xué)生學(xué)習(xí)過程中,大多數(shù)學(xué)生都是需要練題來提升自己的能力.在如今教育信息化時(shí)代,有海量的試題可以給學(xué)生練習(xí),要想在海量的試題中選擇合適的試題必須要知道學(xué)生知識(shí)點(diǎn)掌握情況[1,2],因此幫助教師挖掘出學(xué)生知識(shí)點(diǎn)熟練度是教育中急需解決的問題.

隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,傳統(tǒng)教育模式已經(jīng)得到了很大的改變,一些教師的工作可以讓計(jì)算機(jī)去做,像試卷批改,學(xué)生知識(shí)點(diǎn)診斷分析等等.現(xiàn)有的學(xué)生知識(shí)點(diǎn)診斷分析大多數(shù)采用認(rèn)知診斷模型[3–7],它是認(rèn)知心理學(xué)[5]與教育測量學(xué)相結(jié)合的產(chǎn)物,主要通過學(xué)生的答題記錄來挖掘出學(xué)生的潛在信息[8],例如DINA模型[8]結(jié)合Q 矩陣[3,8]來挖掘出學(xué)生對(duì)試題所考察知識(shí)點(diǎn)的掌握情況,由于Q 矩陣只能給出試題考察知識(shí)點(diǎn)的離散化信息(即考察的知識(shí)點(diǎn)只有考察和未考察),因此也只能預(yù)測出學(xué)生知識(shí)點(diǎn)的離散化程度(即學(xué)生對(duì)知識(shí)點(diǎn)只有掌握和未掌握).

在實(shí)際做題過程中,知識(shí)點(diǎn)熟練度在0.9和1.0的情況下解決難題就可能體現(xiàn)出差距,這一點(diǎn)在數(shù)學(xué)等理科上體現(xiàn)的非常明顯.針對(duì)上述問題本文提出了通過特征嵌入[9]來預(yù)測學(xué)生的知識(shí)點(diǎn)熟練度的方法,對(duì)學(xué)生和試題分別以知識(shí)點(diǎn)作為特征嵌入,分別建立對(duì)應(yīng)知識(shí)點(diǎn)的向量,并通過神經(jīng)網(wǎng)絡(luò)[2,10,11]來訓(xùn)練和調(diào)整學(xué)生知識(shí)點(diǎn)熟練度.

1 問題描述

無論是傳統(tǒng)的線下教育還是線上的智能教育[12,13],我們的最終目的都是讓學(xué)生能夠提高自己的知識(shí)能力.然而光靠課上聽講并不能完全應(yīng)對(duì)考試,學(xué)生更多的還是需要課下練習(xí)試題,學(xué)生選擇的試題必須緊密結(jié)合學(xué)生自身知識(shí)點(diǎn)掌握情況,否則就是事倍功半,讓學(xué)生失去學(xué)習(xí)的信心.

大多數(shù)的教師在對(duì)學(xué)生知識(shí)點(diǎn)熟練度做出判斷時(shí)基本上按照這些要求來判定:如果學(xué)生能夠答對(duì)試題(排除猜測),說明該學(xué)生知識(shí)點(diǎn)熟練度是達(dá)到了試題對(duì)知識(shí)點(diǎn)考察的要求,甚至高于試題知識(shí)點(diǎn)考察要求;相反如果學(xué)生答錯(cuò)該試題或者沒有拿到全部分?jǐn)?shù)(排除失誤)說明該學(xué)生在試題考察的知識(shí)點(diǎn)上至少有一個(gè)沒有達(dá)到要求.也就是說學(xué)生知識(shí)點(diǎn)熟練度是可以通過答題情況來反應(yīng)的,教師判斷的準(zhǔn)確性取決于對(duì)試題考察知識(shí)點(diǎn)難度[14]的精準(zhǔn)分析,因此如果在清楚試題考察知識(shí)點(diǎn)的難度和學(xué)生在該試題上的得分的情況下,預(yù)測出學(xué)生知識(shí)點(diǎn)熟練度并不難.

在教育領(lǐng)域中,給定學(xué)生的答題記錄為R,R中包含以下信息:學(xué)生集合D={d1,d2,…,dN},試題集合T={t1,t2,…,tM},知識(shí)點(diǎn)集合C={c1,c2,…cK}.每條答題記錄由(dn,tm,snm) 組成,其中snm表示學(xué)生dn在試題tm上的得分(得分已經(jīng)轉(zhuǎn)化為百分比,即得分率).Q為試題關(guān)聯(lián)知識(shí)點(diǎn)矩陣,由相關(guān)領(lǐng)域?qū)<覙?biāo)記,表示為Q=[qmk]M×K,qmk=1 表示試題tm考察了知識(shí)點(diǎn)ck,否則qmk=0.

問題定義:給定答題記錄R和試題知識(shí)點(diǎn)關(guān)聯(lián)矩陣Q,如何精確地預(yù)測出學(xué)生知識(shí)點(diǎn)熟練度.

2 學(xué)生知識(shí)點(diǎn)熟練度預(yù)測方法

為了解決上述問題,本文提出了一種基于特征嵌入的學(xué)生知識(shí)點(diǎn)熟練度預(yù)測方法FE-SKP (feature embedding-student knowledge proficiency),利用神經(jīng)網(wǎng)絡(luò)強(qiáng)大的功能來捕捉學(xué)生與試題之間的關(guān)系,其中第2.1 節(jié)給出了 FE-SKP 方法的框架,第2.2 節(jié)將會(huì)介紹具體做法.

2.1 FE-SKP 框架

本節(jié)提出的FE-SKP 方法包含兩個(gè)步驟:第1 個(gè)步驟是構(gòu)造嵌入模塊,其目的是構(gòu)建學(xué)生和試題的知識(shí)點(diǎn)向量;第2 個(gè)步驟是構(gòu)建網(wǎng)絡(luò)模型,其目的是通過輸出學(xué)生的得分預(yù)測來檢驗(yàn)對(duì)其知識(shí)點(diǎn)熟練度預(yù)測是否準(zhǔn)確,如果與實(shí)際得分有差距則在訓(xùn)練過程中進(jìn)行調(diào)整.

嵌入模塊:嵌入模塊主要包括學(xué)生知識(shí)點(diǎn)嵌入和試題知識(shí)點(diǎn)嵌入,學(xué)生知識(shí)點(diǎn)嵌入是將學(xué)生構(gòu)建成在每個(gè)知識(shí)點(diǎn)上掌握程度的向量,試題知識(shí)點(diǎn)嵌入是將試題構(gòu)建成對(duì)每個(gè)知識(shí)點(diǎn)考察難度的向量.構(gòu)造過程如下:

1)學(xué)生知識(shí)點(diǎn)嵌入:首先給定一組學(xué)生的集合,嵌入模塊首先將其單獨(dú)在相應(yīng)的空間下進(jìn)行初始嵌入,從而獲得由固定知識(shí)點(diǎn)數(shù)量維度構(gòu)成的學(xué)生知識(shí)點(diǎn)向量.我們將學(xué)生知識(shí)點(diǎn)向量用SnP表示,含義為學(xué)生dn的知識(shí)點(diǎn)熟練向量,該向量包含學(xué)生在所有知識(shí)點(diǎn)上的熟練度,類似于認(rèn)知診斷中的學(xué)生向量,不同之處在于學(xué)生在每個(gè)知識(shí)點(diǎn)的熟練度都具體量化而并非離散,例如SnP=(0.1,0.5)表示該學(xué)生dn在知識(shí)點(diǎn)1 上的熟練度為0.1,在知識(shí)點(diǎn)2 上的熟練度為0.5.

2)試題知識(shí)點(diǎn)嵌入:試題知識(shí)點(diǎn)嵌入學(xué)生知識(shí)點(diǎn)嵌入類似,嵌入模塊首先將其單獨(dú)在相應(yīng)的空間下進(jìn)行初始嵌入,從而獲得由固定知識(shí)點(diǎn)數(shù)量維度構(gòu)成的試題知識(shí)點(diǎn)向量,再結(jié)合Q矩陣的信息計(jì)算出試題的權(quán)重.我們將試題知識(shí)點(diǎn)向量用EmKnow表示,含義為試題tm考察的知識(shí)點(diǎn)難度向量,該向量包含試題tm在每個(gè)知識(shí)點(diǎn)上的考察難度.與認(rèn)知診斷中Q矩陣的區(qū)別在于每個(gè)知識(shí)點(diǎn)并不是用1和0 表示考察和未考察,而是具體量化考察難度,例如EmKnow=(0.2,0.8)表示該試題tm對(duì)知識(shí)點(diǎn)1的考察難度為0.2,對(duì)知識(shí)點(diǎn)2的考察難度為0.8.

網(wǎng)絡(luò)模塊:網(wǎng)絡(luò)模塊主要用于檢驗(yàn)學(xué)生知識(shí)點(diǎn)熟練度預(yù)測是否正確,由于學(xué)生知識(shí)點(diǎn)熟練度沒法直接給出,因此我們通過學(xué)生知識(shí)點(diǎn)熟練度預(yù)測他們?cè)谠囶}上的得分來檢驗(yàn).這里選用卷積神經(jīng)網(wǎng)絡(luò)模型,在訓(xùn)練期間,如果輸出了錯(cuò)誤的預(yù)測,則優(yōu)化算法會(huì)根據(jù)實(shí)際情況調(diào)整學(xué)生知識(shí)點(diǎn)熟練度,如果輸出正確說明學(xué)生知識(shí)點(diǎn)熟練度達(dá)到試題考察要求甚至還要高于試題考察要求.

2.2 FE-SKP 具體方法

(1)嵌入模塊

學(xué)生知識(shí)點(diǎn)嵌入:首先我們輸入學(xué)生集合D={d1,d2,…,dN},將每個(gè)學(xué)生單獨(dú)進(jìn)行初始嵌入,從而獲得維度為K的序列A=(a1,a2,…,aN),操作為Emb1,Emb1和an計(jì)算方法如下:

接著使用Sigmoid 函數(shù)讓學(xué)生的知識(shí)點(diǎn)熟練度在0–1 之間,得到學(xué)生dn知識(shí)點(diǎn)熟練SnP∈[0,1]1×K,SnP計(jì)算方法如下所示:

試題知識(shí)點(diǎn)嵌入:為了讓考察知識(shí)點(diǎn)的難度具體化,我們首先需要計(jì)算知識(shí)點(diǎn)的權(quán)重,知識(shí)點(diǎn)的權(quán)重計(jì)算分為兩步,第1 步是它在該試題考察的知識(shí)點(diǎn)中占的比重,第2 步是它在所有試題考察的知識(shí)點(diǎn)中占的比重.我們分別用wmk和Lk表示知識(shí)點(diǎn)ck在試題tm中所占的比重以及在所有知識(shí)點(diǎn)中所占的比重,知識(shí)點(diǎn)ck的權(quán)重用tck表示,如下所示:

用向量TCm=(tc1,tc2,…,tcK)表示試題tm中所有知識(shí)點(diǎn)的權(quán)重,接著計(jì)算每道試題難度Diffm∈[0,1],試題難度通過學(xué)生得分計(jì)算,如下所示:

接著輸入試題集合T={t1,t2,…,tM},將每個(gè)試題單獨(dú)進(jìn)行初始嵌入,從而獲得維度為K的序列B=(b1,b2,…,bM),操作為Emb1,bm計(jì)算方法如下所示:

將知識(shí)點(diǎn)權(quán)重向量乘以bm后,再乘以該試題難度Diffm,使用Sigmoid 函數(shù)將每個(gè)知識(shí)點(diǎn)難度控制在0–1 之間,最后再乘以Q矩陣得到試題tm考察知識(shí)點(diǎn)難度EmKnow,計(jì)算方法如下所示:

其中,EmKnow∈[0,1]1×K,qm∈{0,1}1×K,°為哈達(dá)瑪積符號(hào).

(2)網(wǎng)絡(luò)模塊

該網(wǎng)絡(luò)模型包括嵌入層,輸入層,卷積層,池化層,全連接層和輸出層,其結(jié)構(gòu)如圖1所示.

圖1 FE-SKP 方法結(jié)構(gòu)

嵌入層為學(xué)生知識(shí)點(diǎn)熟練度SnP和試題知識(shí)點(diǎn)考察難度EmKnow,輸入層接受學(xué)生特征與試題特征的關(guān)系x,如下所示:

x通過卷積層執(zhí)行卷積操作獲得隱藏層Hc=,j為卷積核大小;Hc經(jīng)過p-max池化層得到新的隱藏層計(jì)算方法如下所示:

最后新的隱藏層Hcp經(jīng)過兩個(gè)全連接層和一個(gè)輸出層,得到最后的得分預(yù)測y,計(jì)算方式分別如下所示:

其中,w為權(quán)重參數(shù)矩陣,b為偏移量.

FE-SKP 方法的損失函數(shù)是輸出學(xué)生得分預(yù)測y和真實(shí)標(biāo)簽學(xué)生實(shí)際得分s之間的交叉熵,計(jì)算方法如下所示:

3 實(shí)驗(yàn)結(jié)果分析

本節(jié)主要驗(yàn)證FE-SKP 方法的有效性,其中第3.1 節(jié)介紹數(shù)據(jù)集信息,第3.2 節(jié)為數(shù)據(jù)處理過程,第3.3 節(jié)給出評(píng)價(jià)指標(biāo),最后第3.4和第3.5 節(jié)給出實(shí)驗(yàn)結(jié)果并且對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析.

3.1 數(shù)據(jù)集

我們使用一組真實(shí)的數(shù)據(jù)集ASSIST (ASSISTments 2009–2010 skill builder) 進(jìn)行實(shí)驗(yàn),該數(shù)據(jù)集是ASSISTments 在線輔導(dǎo)系統(tǒng)收集的開放數(shù)據(jù)集,包含了學(xué)生的答題日志.每個(gè)學(xué)生答題日志學(xué)生的編號(hào),試題編號(hào),試題考察的知識(shí)點(diǎn)編號(hào)以及學(xué)生在該試題上的得分,一共有4 163 個(gè)學(xué)生,17 746 道試題和123 個(gè)知識(shí)點(diǎn)(每個(gè)知識(shí)點(diǎn)用不同編號(hào)表示,例如知識(shí)點(diǎn)1 表示函數(shù)),324 572 條答題日志,詳細(xì)信息如表1所示.

表1 數(shù)據(jù)集信息

3.2 數(shù)據(jù)預(yù)處理

由于我們需要輸入Q矩陣,學(xué)生和試題編號(hào),因此我們需要將日志中的信息提取出來.首先我們將答題日志進(jìn)行改進(jìn),原本是一個(gè)學(xué)生編號(hào)對(duì)應(yīng)他所做的所有試題信息,我們將每條日志改為一個(gè)學(xué)生編號(hào),一道試題信息.

接著是Q矩陣的構(gòu)造,因?yàn)榇痤}日志只有試題考察知識(shí)點(diǎn)的編號(hào),因此我們需要先構(gòu)造一個(gè)全為0的矩陣,維度是試題數(shù)乘以知識(shí)點(diǎn)數(shù),接著將試題考察的知識(shí)點(diǎn)編號(hào)對(duì)應(yīng)矩陣中的位置,將0 改為1 即可構(gòu)造每道試題的Q矩陣.具體處理過程如圖2所示:

圖2 數(shù)據(jù)處理流程

最后選擇80%作為訓(xùn)練集,20%作為測試集.

3.3 實(shí)驗(yàn)評(píng)價(jià)指標(biāo)

由于學(xué)生知識(shí)點(diǎn)熟練度我們無法直接判斷預(yù)測結(jié)果是否準(zhǔn)確,因此我們通過預(yù)測學(xué)生在試題上得分來判斷知識(shí)點(diǎn)熟練度預(yù)測的效果.在本次實(shí)驗(yàn)中,我們使用準(zhǔn)確率(Accuracy)、均方根誤差(RMSE)、ROC 曲線下的面積(AUC)作為評(píng)價(jià)指標(biāo),其計(jì)算公式分別如下所示:

其中,TP表示正確預(yù)測學(xué)生答對(duì)試題的數(shù)量,FP表示錯(cuò)誤預(yù)測學(xué)生答錯(cuò)試題的數(shù)量,FN表示錯(cuò)誤預(yù)測學(xué)生答對(duì)試題的數(shù)量,TN表示正確預(yù)測學(xué)生答錯(cuò)試題的數(shù)量.U表示正樣本數(shù)量,V表示負(fù)樣本數(shù)量,I(P正樣本,P負(fù)樣本)計(jì)算方法如下所示:

3.4 實(shí)驗(yàn)結(jié)果

為了驗(yàn)證本實(shí)驗(yàn)的有效性,我們對(duì)比了傳統(tǒng)的一些方法,其中包括認(rèn)知診斷模型(DINA,IRT[15],MIRT[16,17])和概率矩陣(PMF)[18].對(duì)比方法的原理介紹如下:

DINA 方法:根據(jù)學(xué)生在每道試題上的得分情況來診斷出學(xué)生的知識(shí)狀態(tài),其中用0 表示學(xué)生未掌握考察的知識(shí)點(diǎn),用1 表示學(xué)生掌握了考察的知識(shí)點(diǎn),再結(jié)合知識(shí)點(diǎn)關(guān)聯(lián)矩陣對(duì)學(xué)生進(jìn)行得分預(yù)測.

IRT 方法:在已知試題的難度、區(qū)分度、猜測系數(shù)的情況下建立能力參數(shù)的極大似然函數(shù),得到學(xué)生的能力參數(shù)后,通過3PL 模型計(jì)算出學(xué)生答對(duì)試題的概率.

MIRT 方法:在IRT 模型的基礎(chǔ)上,將學(xué)生完成一道試題需要的多種能力(即需要掌握的多個(gè)知識(shí)點(diǎn))、試題特征與答對(duì)概率進(jìn)行模型化.

PMF 方法:通過學(xué)生在每道試題上的得分以及試題知識(shí)點(diǎn)關(guān)聯(lián)矩陣,分別建立學(xué)生和試題的知識(shí)點(diǎn)潛在向量,假設(shè)學(xué)生和試題潛在向量服從高斯分布,通過已知的學(xué)生得分矩陣得到學(xué)生和試題的特征矩陣,用特征矩陣預(yù)測學(xué)生在試題上的得分.

介紹完對(duì)比實(shí)驗(yàn)方法后,我們?cè)谠摂?shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),結(jié)果如表2所示.

表2 實(shí)驗(yàn)結(jié)果

3.5 實(shí)驗(yàn)結(jié)果分析

根據(jù)實(shí)驗(yàn)結(jié)果,我們可以發(fā)現(xiàn)FE-SKP 方法在各項(xiàng)評(píng)價(jià)指標(biāo)中效果最好,主要原因在于以下幾點(diǎn):

DINA 模型主要適用于客觀題,對(duì)于一些得分不是0 分就是滿分的題目處理的是比較好的,因?yàn)榭陀^題只要有一個(gè)知識(shí)點(diǎn)不熟練基本上就是不得分,是可以將學(xué)生的知識(shí)點(diǎn)熟練度視為未掌握,但是對(duì)于一些連續(xù)性得分像主觀題效果并不是很好,因?yàn)橹饔^題只要學(xué)生答對(duì)一個(gè)得分點(diǎn)就可以獲得相應(yīng)的分?jǐn)?shù),DINA模型無法將學(xué)生和試題的知識(shí)點(diǎn)量化,在測試主觀題時(shí)只要學(xué)生有一個(gè)知識(shí)點(diǎn)不會(huì)該試題得分就是0 分,導(dǎo)致主觀題的準(zhǔn)確率不高,均方根誤差比較大;IRT 模型認(rèn)為學(xué)生的單維能力與測試得到的分?jǐn)?shù)是線性關(guān)系的,但是在實(shí)際情況中往往不成線性關(guān)系,比如我們?cè)谶M(jìn)行考試時(shí),想要從50 分考到60 分很容易,但是想要從90 分考到100 分卻很難,因?yàn)?0 分與100 分的差距主要體現(xiàn)在難題上,難題涉及到的知識(shí)點(diǎn)非常多,并不是單個(gè)能力就能體現(xiàn)出來,所以在進(jìn)行一些區(qū)分度大的題目上進(jìn)行測試效果并不是很好;PMF 對(duì)于學(xué)生的得分預(yù)測結(jié)果缺乏一定的解釋性,因?yàn)闈撛谧兞康木S度可以任意設(shè)置,很難說明潛在變量一定是知識(shí)點(diǎn),另一方面它難以融合更多的有用特征,例如像試題知識(shí)點(diǎn)的考察難度.因此,這3 種傳統(tǒng)的方法的效果并不是很理想.

相對(duì)于傳統(tǒng)的3 種方法,MIRT的效果還是比較好的.MIRT 相對(duì)于IRT的區(qū)別主要是潛在向量的建模,IRT 潛在向量是一維的,而MIRT 潛在向量是多維,即一道試題會(huì)測試K種能力,而學(xué)生在做這道試題時(shí)最后的得分對(duì)應(yīng)了K種能力,但是仍然存在IRT 模型中能力與得分線性關(guān)系的缺陷.而FE-SKP 方法利用了卷積神經(jīng)網(wǎng)絡(luò)強(qiáng)大的擬合能力,提取更具有決定性的特征,使其能夠捕捉到學(xué)生與試題之間的關(guān)系,并且在構(gòu)建試題知識(shí)點(diǎn)嵌入是考慮了試題考察的知識(shí)點(diǎn)權(quán)重以及試題的難度,提高了預(yù)測試題知識(shí)點(diǎn)考察難度的準(zhǔn)確性,從側(cè)面提升了學(xué)生知識(shí)點(diǎn)熟練度預(yù)測的準(zhǔn)確性和分類效果,并且能夠減少均方根誤差.

4 結(jié)論與展望

本文將知識(shí)點(diǎn)作為特征嵌入到學(xué)生與試題之中,并且通過卷積神經(jīng)網(wǎng)絡(luò)來捕捉學(xué)生與試題之間的聯(lián)系,從提升試題知識(shí)點(diǎn)考察難度準(zhǔn)確率來增加學(xué)生知識(shí)點(diǎn)熟練度預(yù)測的準(zhǔn)確率.雖然較傳統(tǒng)方法上準(zhǔn)確率有所提高,但是準(zhǔn)確率并沒有達(dá)到教育上完美要求,教師面對(duì)的是一個(gè)班級(jí)甚至是幾個(gè)班級(jí)的學(xué)生,對(duì)每個(gè)學(xué)生都需要負(fù)責(zé).因此希望在后面的工作中,可以繼續(xù)提升準(zhǔn)確率,大大減輕教師和學(xué)生的壓力.

猜你喜歡
矩陣向量答題
向量的分解
答題、拍照、必微博、求關(guān)注…… 減了老負(fù)擔(dān),又練“新技能”
多項(xiàng)式理論在矩陣求逆中的應(yīng)用
向量垂直在解析幾何中的應(yīng)用
向量五種“變身” 玩轉(zhuǎn)圓錐曲線
矩陣
矩陣
矩陣
武陟县| 丰台区| 锡林浩特市| 横山县| 察哈| 都匀市| 大新县| 元朗区| 东乡县| 富源县| 泰顺县| 揭阳市| 岚皋县| 旬邑县| 白水县| 喀什市| 保德县| 兴隆县| 苏尼特左旗| 泰和县| 丽水市| 杭锦后旗| 台东市| 镇坪县| 沙洋县| 安图县| 乾安县| 宁强县| 临邑县| 绥滨县| 北碚区| 桐庐县| 伽师县| 桐乡市| 南川市| 盐津县| 虞城县| 德令哈市| 永安市| 巴林右旗| 庆城县|