亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于關(guān)聯(lián)規(guī)則與知識追蹤的編程題目推薦算法

        2022-11-25 07:38:16向程冠周東波
        計算機(jī)工程與設(shè)計 2022年11期
        關(guān)鍵詞:規(guī)則學(xué)生

        向程冠,周東波,李 雷,王 英

        (1.華中師范大學(xué) 教育大數(shù)據(jù)應(yīng)用技術(shù)國家工程實驗室,湖北 武漢 430079;2.貴州師范學(xué)院 數(shù)學(xué)與大數(shù)據(jù)學(xué)院,貴州 貴陽 550018)

        0 引 言

        編程題目推薦是在線編程教學(xué)平臺不可缺少的智能導(dǎo)學(xué)功能之一,但目前大多數(shù)的在線編程教學(xué)平臺還停留在教師傳統(tǒng)課堂的網(wǎng)絡(luò)化時空延伸,缺乏智能,只是起到連接師生的作用,教師可以給學(xué)生安排編程練習(xí)或考試,但針對學(xué)生個性化差異的智能導(dǎo)學(xué)功能薄弱,缺少針對編程題目推薦的服務(wù),并未很好發(fā)揮對學(xué)習(xí)者學(xué)習(xí)行為分析、學(xué)習(xí)意圖理解、學(xué)習(xí)狀態(tài)追蹤的作用,很難實現(xiàn)真正意義上的自適應(yīng)學(xué)習(xí)診斷與有效學(xué)習(xí)。因此,通過學(xué)習(xí)者做題情況推薦新的編程題目成為了編程教育智能導(dǎo)學(xué)的研究熱點之一。針對編程題目的特殊性與傳統(tǒng)推薦算法的缺點,提出一種基于關(guān)聯(lián)規(guī)則與知識追蹤的編程題目推薦算法。

        1 相關(guān)工作

        個性化題目推薦是智能教育領(lǐng)域中的重要問題之一[1]。通過計算學(xué)生做題的歷史數(shù)據(jù)或用戶特征數(shù)據(jù),給用戶推薦合乎規(guī)則的題目,以達(dá)到個性化的智能導(dǎo)學(xué)服務(wù)。題目推薦時大多采用基于協(xié)同過濾、基于認(rèn)知診斷與知識追蹤的推薦算法,然而基于協(xié)同過濾的算法忽略了題目之間的關(guān)聯(lián)信息,難以保證所推薦題目的解釋性與合理性。認(rèn)知診斷與知識追蹤的方法通過計算學(xué)生對知識點的掌握情況,預(yù)測待推薦題目的得分情況,但忽略了學(xué)生學(xué)習(xí)行為的共性,難以將隱藏的潛在屬性加入計算中,極易產(chǎn)生推薦誤差。

        Raciel Yera等提出了一種基于問題記憶的協(xié)同過濾算法[2],用問題矩陣記錄學(xué)生解決問題時失敗的信息,從而為學(xué)生推薦編程題目,但未記錄問題與知識點之間的關(guān)聯(lián)信息,不能判斷學(xué)習(xí)者是否已經(jīng)掌握知識點,反復(fù)推薦題目,浪費了學(xué)習(xí)者寶貴的學(xué)習(xí)時間。馬驍睿等提出了一種結(jié)合深度知識追蹤的個性化習(xí)題推薦方法[3],然而忽略了學(xué)習(xí)者學(xué)習(xí)行為過程,未考慮學(xué)習(xí)過程中推薦拔高題或鞏固題。Avi Segal等提出了一種將協(xié)同過濾與投票相結(jié)合的教學(xué)內(nèi)容個性化排序算法[4],通過協(xié)同過濾算法計算相似學(xué)生在分?jǐn)?shù)、重試次數(shù)和解題時間方面的難度排名,從而預(yù)測學(xué)生的難度排名,給學(xué)生定制個性化的試題,但忽略了學(xué)生對知識點的掌握狀態(tài)。黃振亞提出了一種融合題目語義的知識追蹤框架[5],挖掘題目內(nèi)容的個性特征對學(xué)生學(xué)習(xí)行為過程的影響,并在英語與數(shù)學(xué)題目上作了驗證,但對于編程題目卻很難從題目描述層面判斷題目間的關(guān)聯(lián)性。柏茂林通過計算能力水平相近的用戶組,將kNN協(xié)同過濾算法應(yīng)用于數(shù)學(xué)習(xí)題的個性化推薦中[6]。Surya Kant等提出了基于用戶和項目的協(xié)同過濾算法[7],通過計算用戶相似度與項目相似度進(jìn)行推薦。萬永權(quán)等提出反饋式個性化試題推薦方法[8],從試題難度與認(rèn)知層次進(jìn)行標(biāo)準(zhǔn)化,構(gòu)造能力矩陣計算學(xué)生的能力進(jìn)行試題推薦,但只能應(yīng)用于客觀題,不能應(yīng)用于編程題目的推薦中。

        知識追蹤通過歷史數(shù)據(jù)實時追蹤學(xué)習(xí)者對知識掌握狀態(tài)的變化,并預(yù)測學(xué)習(xí)者在未來學(xué)習(xí)中的表現(xiàn),目前流行的知識追蹤方法主要有貝葉斯知識追蹤(BKT)模型與基于循環(huán)神經(jīng)網(wǎng)絡(luò)的深度知識追蹤(DKT)模型[9,10],BKT只是將知識的掌握情況簡單分為“掌握”與“未掌握”,忽略了學(xué)習(xí)過程,而DKT模型只能對學(xué)習(xí)者整個知識水平建模,不能反映學(xué)習(xí)者對各個知識點的掌握情況。Jiani Zhang等提出了基于記憶網(wǎng)絡(luò)的DKVMN模型[11],用值矩陣表示學(xué)習(xí)者對各個知識點的掌握情況,并記錄題目與各知識點的依賴關(guān)系,從而追蹤學(xué)習(xí)者對各知識點的掌握情況,取得了良好的應(yīng)用效果,但忽略了學(xué)習(xí)者遺忘行為對知識點掌握的真實影響。Fangzhe Ai等在DKVMN模型的基礎(chǔ)上,加入了知識點的包含關(guān)系,改良了記憶矩陣[12]。李曉光等研究者提出了學(xué)習(xí)與遺忘融合的深度知識追蹤模型[13],考慮了遺忘行為對知識追蹤影響,取得了較好的預(yù)測性能。

        編程能力是計算機(jī)相關(guān)專業(yè)的學(xué)生應(yīng)具備的關(guān)鍵能力之一,編程能力水平主要體現(xiàn)在完成編程題目的得分情況,學(xué)習(xí)者對于編程的學(xué)習(xí)過程不是簡單的“對”與“錯”,一道編程題往往要經(jīng)過多次提交與反復(fù)修改才能完成,見表1,學(xué)習(xí)者完成一道程序題嘗試提交了10次。因此,直接使用傳統(tǒng)的個性化題目推薦算法推薦編程題目是不合適的。同時,在推薦題目時不考慮學(xué)生對知識點的掌握狀態(tài),不斷推薦題目將會浪費學(xué)習(xí)者寶貴的時間。

        表1 編程題目提交列表

        針對現(xiàn)有算法在編程題目推薦中的缺點,結(jié)合編程題特點,考慮學(xué)習(xí)者的遺忘規(guī)律特征,本文提出了一種基于關(guān)聯(lián)規(guī)則與知識追蹤的編程題目推薦算法,將關(guān)聯(lián)規(guī)則挖掘與知識追蹤結(jié)合起來,按提交次數(shù)閾值,把同一學(xué)習(xí)者在同一知識點下同時做對或做錯的題目組成交易記錄,從而挖掘出推薦規(guī)則,通過知識追蹤模型計算學(xué)習(xí)者對知識點的掌握情況,決定推薦鞏固題、拔高題或下一知識點的題目。

        2 編程題目推薦算法

        在編程題目推薦時,如果學(xué)習(xí)者已經(jīng)掌握了當(dāng)前知識點,就應(yīng)該推薦下一個知識點的題目,否則應(yīng)根據(jù)學(xué)習(xí)者的學(xué)習(xí)狀態(tài),決定推薦鞏固題或者拔高題,以免浪費學(xué)習(xí)時間,提高學(xué)習(xí)效率。因此,在設(shè)計推薦算法時需要解決兩個關(guān)鍵問題:

        (1)如何計算推薦鞏固題或拔高題?

        (2)如何計算學(xué)習(xí)者對知識點的掌握情況?

        對于問題(1),考慮將同一學(xué)習(xí)者在同一個知識點下,嘗試提交次數(shù)超過給定閾值時同時做錯、同時做對的題目組成交易數(shù)據(jù)庫,根據(jù)知識點的順序關(guān)系,使用關(guān)聯(lián)規(guī)則算法挖掘出推薦規(guī)則,對于嘗試提交次數(shù)超過給定閾值的學(xué)習(xí)者推薦鞏固題,嘗試次數(shù)小于閾值時推薦拔高題,直到學(xué)習(xí)者掌握當(dāng)前知識點時,推薦下一知識點的題目,學(xué)習(xí)者不需要做完當(dāng)前知識點下的所有題目。

        對于問題(2),考慮編程題目的特殊性與學(xué)習(xí)者遺忘規(guī)律,不能只是簡單地從結(jié)果的“對”與“錯”來評估學(xué)習(xí)者對知識點的掌握情況,雖然DKVMN模型可以通過記錄題目與各知識點的依賴關(guān)系,從而追蹤學(xué)習(xí)者對各知識點的掌握情況,然而沒有考慮到學(xué)習(xí)者的遺忘規(guī)律,也不適合編程題目的特殊性。在編程題目推薦算法時,先用DKVMN模型計算出學(xué)習(xí)者對知識點的掌握情況,再聯(lián)合使用判別分析模型,從編程題目的特殊性與學(xué)習(xí)者遺忘規(guī)律的維度評估學(xué)習(xí)者對知識點的掌握情況。

        2.1 關(guān)聯(lián)規(guī)則挖掘

        編程題目推薦時,可根據(jù)學(xué)生完成題目x的情況推薦題目集 {y1,y2,…,yn} (由n個鞏固題或拔高題組成的集合),x與yi(1≤i≤n) 是二元的推薦關(guān)系,不考慮yi與yj之間是否有推薦關(guān)系 (i≠j, 1≤i≤n, 1≤j≤n)。 因此,用關(guān)聯(lián)規(guī)則挖掘題目之間滿足規(guī)則的二階大項集。

        關(guān)聯(lián)規(guī)則作為數(shù)據(jù)挖掘中的研究熱點之一,用于挖掘數(shù)據(jù)間隱含的、未知的、有價值的關(guān)聯(lián)性[14]。Agrawal等提出了關(guān)聯(lián)規(guī)則挖掘的Apriori算法與AprioriTid算法[15],使用上一次生成的大項集作為生成新候選項集的數(shù)據(jù)基礎(chǔ),達(dá)到剪枝的目的,提高算法的執(zhí)行效率。其優(yōu)點是在首次計算大項集時掃描交易數(shù)據(jù)庫,以后每次用得到的候選項集構(gòu)造k階TID表,由k階TID表生成k+1階候選項集,除了在算法的開始階段,所構(gòu)造的TID表都要比交易數(shù)據(jù)庫小,從而減少數(shù)據(jù)掃描次數(shù)。可其缺點是在開始階段生成的TID表數(shù)據(jù)量有可能比交易數(shù)據(jù)庫大,存儲了k階TID表中下一次計算k+1階候選項集時不用的噪聲交易項,增加了掃描次數(shù),造成了不必要的I/O操作。針對上述缺點,算法改進(jìn)的關(guān)鍵在于減少I/O操作與壓縮數(shù)據(jù)量[16],因編程題目推薦時需要計算二階大項集,正處于AprioriTid算法的開始階段,本文提出了一種AprioriTid的改進(jìn)算法,用于計算題目集的二階大項集。

        性質(zhì)1 A、B為題目構(gòu)成的兩個交易集合,若A是B的子集,則A的范數(shù)不大于B的范數(shù)。反之,若A的范數(shù)大于B的范數(shù),A必然不是B的子集。

        性質(zhì)2 當(dāng)k>1時,k階候選項集一定是k-1階候選項集的子集,那么k階候選項集的元素一定取自于k-1階候選項集。

        算法改進(jìn)的基本思想:由性質(zhì)1、性質(zhì)2可知,k+1階候選項集是k階候選項集的子集,它的生成依賴于k階TID表,在構(gòu)造k階TID表時,先計算k階大項集的冪集,再計算當(dāng)前交易項與k階大項集冪集的交集,如果交集的范數(shù)大于k,則將交集寫入k階TID表中,可極大減少k階TID表的記錄數(shù),故而減少計算k+1階候選項集時的數(shù)據(jù)掃描量與I/O操作,TID表記錄數(shù)不可能比交易數(shù)據(jù)庫大,可讓算法在執(zhí)行效率上得到明顯優(yōu)化。

        用偽代碼描述改進(jìn)后的AprioriTid 算法如下:

        (1)掃描題目構(gòu)成的交易數(shù)據(jù)庫D生成L[1];

        (2)TID[1]=D;//1階TID表就是交易數(shù)據(jù)庫D

        (3)for(k=2;L[k-1] !=null&&TID[k-1]!=null;k++){

        (4)C[k]=Apriori_gen(L[k-1]);

        (5) //使用Apriori_gen生成k階候選項集

        (6) TID[k]=null;

        (7) foreach(tin TID[k-1]){

        (8) foreach(cinC[k])if(cint)c.Sup=c.Sup+1;

        (9)L[k]=null;

        (10) foreach(cinC[k])if(c.Sup≥Minsup)L[k]=L[k]+c;

        (11)M=PowerSet(L[k]);//計算L[k]的冪集

        (12)MT=t.item∩M;//交易項與候選項集冪集的交集

        (13) if(MT!=null&&|MT|>k){//|MT|>k的項寫入TID[k]

        (14)p.id=t.id;

        (15)p.item=MT;

        (16) TID[k]=TID[k]+p;

        (17) //加入k階TID表, 包含交易id與交易項

        (18) }

        (19) }

        (20)}

        表2給出了上述算法中所涉及的符號及描述。

        表2 算法中的符號及描述

        例:現(xiàn)有交易數(shù)據(jù)庫D,見表3,設(shè)最小支持?jǐn)?shù)為3,計算候選項集與大項集。

        表3 交易數(shù)據(jù)庫D

        C[1]={{A},{B},{C},{D},{E},{F},{G}},L[1]={{A},{B},{C},{D},{E}},L[1]的冪集M={A,B,C,D,E}, 求M與每個交易項的交集MT, |MT|>1時寫入TID[1]中。由TID[1]生成C[2]={{A,B},{A,C},{A,D},{A,E},{B,C},{B,D},{B,E},{C,D},{C,E},{D,E}},L[2]={{A,B},{A,C},{A,D},{B,C},{B,D},{C,D},{D,E}},L[2] 的冪集M={A,B,C,D,E}, 求M與每個交易項的交集MT, |MT|>2時寫入TID[2]中。迭代算法直到TID為空時結(jié)束,算法過程如圖1所示。

        圖1 改進(jìn)的AprioriTid算法過程

        2.2 基于知識追蹤的知識點掌握分析模型

        題目推薦的目的是為了讓學(xué)習(xí)者通過練習(xí)掌握知識,如果掌握了當(dāng)前知識點,就應(yīng)推薦下一知識點的題目。如果推薦時不考慮知識點掌握狀態(tài),不斷為其推送當(dāng)前知識點的題目顯然是不合理的。對于編程題目,一道題目需要經(jīng)過若干次反復(fù)修改與提交才能完成,在計算學(xué)習(xí)者對知識點的掌握情況時需要滿足兩個方面的要求:一是能反應(yīng)學(xué)習(xí)者對當(dāng)前知識點的掌握情況,二是要考慮編程題需要經(jīng)過若干次反復(fù)修改與提交才能完成的特殊性,一般認(rèn)為學(xué)習(xí)者對一道編程題目嘗試提交次數(shù)越多,反應(yīng)出學(xué)習(xí)者對知識點的掌握越不好。因此,考慮在DKVMN模型的基礎(chǔ)上,加入學(xué)習(xí)者每次提交的狀態(tài)、所用知識點及提交次數(shù)、學(xué)習(xí)間隔時間、上次提交時所用知識點間隔時間等行為特征,運用判別分析計算學(xué)習(xí)者學(xué)習(xí)行為對DKVMN模型預(yù)測結(jié)果的影響。

        用GA表示掌握知識點,GB表示未掌握知識點。X(i) 表示學(xué)習(xí)者特征,X(1)表示嘗試提交次數(shù),X(2)表示課程學(xué)習(xí)間隔時間,X(3)表示同一知識點學(xué)習(xí)間隔時間。X(2)、X(3)屬于學(xué)習(xí)者遺忘特征數(shù)據(jù),根據(jù)德國心理學(xué)家艾賓浩斯遺忘曲線,學(xué)習(xí)間隔時間按間隔天數(shù)t分段計算,即

        (1)

        因此,學(xué)習(xí)者數(shù)據(jù)被分成兩組: {X1i(A),X2i(A),X3i(A)|i≤n1} 與 {X1j(B),X2j(B),X3j(B)|j≤n2},n1+n2為學(xué)習(xí)者人數(shù)。

        下面給出求判別指標(biāo)的過程[17]。

        通過線性組合構(gòu)造一個判別函數(shù),用于判斷學(xué)習(xí)者學(xué)習(xí)狀態(tài),判別函數(shù)為

        Y=L(X1,X2,X3)=C1X1+C2X2+C3X3

        其中,C1、C2、C3為判別系數(shù)。

        對于GA,n1個學(xué)生共有3*n1條數(shù)據(jù),其觀測數(shù)據(jù)矩陣為

        對于GB,n2個學(xué)生共有3*n2個數(shù)據(jù),其觀測數(shù)據(jù)矩陣為

        判別函數(shù)Y可最大限度區(qū)分GA與GB兩組狀態(tài)。GA有n1個樣本

        i為1到n1的自然數(shù)。代入判別函數(shù),可得

        yi(A)=C1X1i(A)+C2X2i(A)+C3X3i(A)

        GB有n2個樣本

        i為1到n2的自然數(shù)。代入判別函數(shù),可得

        yi(B)=C1X1i(B)+C2X2i(B)+C3X3i(B)

        在判斷學(xué)生是否掌握知識點時,將學(xué)習(xí)特征數(shù)據(jù) {X(1),X(2),X(3)} 代入判別函數(shù)Y,如果Y的值大于等于yAB時判別為未掌握該知識點,否則判別為已掌握該知識點。

        2.3 編程題目推薦算法步驟

        針對編程題目的特點,按學(xué)習(xí)者嘗試提交次數(shù)閾值把作答歷史記錄數(shù)據(jù)庫劃分為兩個庫,在提交次數(shù)小于等于閾值的數(shù)據(jù)庫中,將同一學(xué)習(xí)者在同一知識點下同時做對或做錯的題目組成交易項,使用關(guān)聯(lián)規(guī)則挖掘出鞏固題推薦規(guī)則。解決一道編程題目需要多次修改與提交,熟練掌握了知識點的學(xué)生解決編程題目的提交次數(shù)相對較少,可用掌握了知識點的學(xué)生在完成編程作業(yè)時的平均提交次數(shù)作為劃分閾值。

        同理,在提交次數(shù)大于閾值的數(shù)據(jù)庫中,將同一學(xué)習(xí)者在同一知識點下同時做對或做錯的題目組成交易項,挖掘出拔高題目推薦規(guī)則。推薦時考慮題目提交次數(shù)與學(xué)習(xí)者遺忘特征,使用知識追蹤的DKVMN模型與判別分析模型計算學(xué)習(xí)者對當(dāng)前知識點的掌握狀態(tài),決定推薦鞏固題、拔高題或下一知識點的題目。

        本文算法具體步驟如下:

        步驟1 根據(jù)學(xué)習(xí)者做題歷史記錄,使用改進(jìn)后的關(guān)聯(lián)規(guī)則挖掘算法生成推薦規(guī)則。

        步驟2 生成DKVMN模型。

        步驟3 生成各知識點的判別函數(shù)Y與yAB。

        步驟4 輸入學(xué)生做題記錄,由DKVMN模型評估學(xué)生是否通過當(dāng)前知識點,未通過執(zhí)行步驟6,否則執(zhí)行步驟5。

        步驟5 輸入學(xué)生學(xué)習(xí)特征數(shù)據(jù):題目提交次數(shù)、同一知識點學(xué)習(xí)間隔時間、課程學(xué)習(xí)間隔時間,并代入與判別函數(shù)Y,如果函數(shù)值大于等于yAB執(zhí)行步驟6,否則執(zhí)行步驟7。

        步驟6 嘗試提交次數(shù)超過給定閾值時推薦鞏固題,嘗試次數(shù)小于閾值時,推薦拔高題,執(zhí)行步驟4。

        步驟7 推薦下一知識點的題目。

        3 實驗評估

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

        為了驗證本文提出的編程題目推薦算法的可行性與有效性,采用某高校在線編程教學(xué)平臺的實際生產(chǎn)數(shù)據(jù)進(jìn)行實驗,以C程序設(shè)計課程為對象,經(jīng)過專家標(biāo)注的知識點共124個,學(xué)生754人,程序提交1 358 973次,編程題目6230道。

        算法實現(xiàn)采用Python語言編寫,運行的硬件環(huán)境為Intel(R) Core(TM)i7-8550U CPU @1.80 GHz(8 CPUs),16 G內(nèi)存,操作系統(tǒng)為CentOS6。

        3.2 評測指標(biāo)選擇

        關(guān)聯(lián)規(guī)則的改進(jìn)算法評估從算法效率與精準(zhǔn)性2個方面進(jìn)行考量,算法效率從時間復(fù)雜度方面考量,精準(zhǔn)性反映算法的可靠程度與可行性,它們是推薦算法可靠可行的基礎(chǔ)保障。

        題目推薦算法評價從題目推薦的覆蓋率(Coverage)和準(zhǔn)確率 (Precision)2個方面進(jìn)行考量,覆蓋率主要用于觀察算法推薦的題目集合Prc與實際可推薦的題目集合Preal交集中題目數(shù)量占實際可推薦的題目比率,計算公式如下

        (2)

        準(zhǔn)確率主要用于觀察題目推薦算法的正確性與可行性,其計算方式為所推薦的準(zhǔn)確題目所占推薦題目總數(shù)的百分比,值越大表示推薦算法的正確性越高,計算公式如下

        (3)

        3.3 實驗結(jié)果與分析

        3.3.1 改進(jìn)的AprioriTid算法分析

        算法效率分析:選取最小支持?jǐn)?shù)為50,從1 358 973條提交記錄中隨機(jī)選擇0.5 w、1 w、1.5 w、2 w、2.5 w、3 w、3.5 w和4 w進(jìn)行對比測試,運行結(jié)果如圖2所示。另外選取數(shù)據(jù)量為4.5 w,最小支持?jǐn)?shù)分別為60、80、100、120、140、160、180和200進(jìn)行對比測試,運行結(jié)果如圖3所示。

        圖2 最小支持?jǐn)?shù)為50時兩種算法的運行時間

        圖3 隨最小支持?jǐn)?shù)增大時執(zhí)行效率比較

        從圖2、圖3中可以看出,在最小支持?jǐn)?shù)為50的情況下,改進(jìn)后的AprioriTid算法比AprioriTid算法在時間性能上平均提升了1826 MS,當(dāng)數(shù)據(jù)量增加到4 W時,改進(jìn)后比改進(jìn)前少用了2982 MS。在數(shù)據(jù)量不變的情況下,支持?jǐn)?shù)由60增加到120時,改進(jìn)后的AprioriTid算法在時間性能上平均提升了871 MS。

        算法精準(zhǔn)性分析:分別設(shè)置支持?jǐn)?shù)為50、60、80、100、120、140、160、180和200,從1 358 973條提交記錄中隨機(jī)選擇了10組數(shù)據(jù)對算法的準(zhǔn)確率進(jìn)行實驗,數(shù)據(jù)量分別為2000、4000、6000、8000、10 000、12 000、14 000、16 000、18 000和20 000,用改進(jìn)前后的AprioriTid算法分別生成大項集。實驗結(jié)果表明,改進(jìn)前后算法生成的大項集是一致的,究其原因主要在于k階TID表是構(gòu)造k+1階候選項集的數(shù)據(jù)基礎(chǔ),計算k階TID表時,先計算k階大項集的冪集,再計算出當(dāng)前交易項與k階大項集冪集的交集,如果交集的元素個數(shù)小于等于k,便不可能產(chǎn)生k+1階候選項集,并且k+1階候選項集只能產(chǎn)生于k階大項集中,通過計算交集可對不在k階大項集中元素進(jìn)行剪枝,并不影響計算k+1階候選項集,故改進(jìn)后的算法不會損耗原有算法的精準(zhǔn)性。

        3.3.2 編程題目推薦算法分析

        在實驗數(shù)據(jù)集上,設(shè)置題目提交嘗試次數(shù)閾值為5,將實驗數(shù)據(jù)集分為鞏固題數(shù)據(jù)集(提交嘗試次數(shù)小于等于5,共537 681條數(shù)據(jù))與拔高題數(shù)據(jù)集(提交嘗試次數(shù)大于5,共821 292條數(shù)據(jù))。選取400名學(xué)生的期末考試數(shù)據(jù),將考試中每個知識點的得分率超過0.8的學(xué)生劃分到GA組,其他學(xué)生劃分到GB組,統(tǒng)計學(xué)生平時練習(xí)的程序提交次數(shù)、知識點學(xué)習(xí)間隔時間與課程學(xué)習(xí)間隔時間3項學(xué)習(xí)者特征數(shù)據(jù),生成各知識點的判別指標(biāo)。設(shè)置關(guān)聯(lián)規(guī)則挖掘的支持?jǐn)?shù)為200,最多推薦題目數(shù)為20,在鞏固題數(shù)據(jù)集與拔高題數(shù)據(jù)集上分別設(shè)置訓(xùn)練集/實驗數(shù)據(jù)集為60%、70%、80%與90%的情況下,將本文算法與基于用戶的協(xié)同過濾算法(UserCF)、kNN協(xié)同過濾算法[6]、BiUCF[7]進(jìn)行10次對比實驗取平均值,實驗結(jié)果見表4、表5。

        表4 鞏固題推薦的覆蓋率與準(zhǔn)確率比較

        在覆蓋率與準(zhǔn)確率2個指標(biāo)上,本文提出的推薦算法在推薦鞏固題與拔高題方面均優(yōu)于其它3種推薦算法,原因在于本文算法考慮了編程題目的特征、學(xué)習(xí)者對知識點的掌握狀態(tài)以及學(xué)習(xí)者遺忘特征。

        4 結(jié)束語

        本文提出了一種基于關(guān)聯(lián)規(guī)則與知識追蹤的編程題目推薦算法,算法根據(jù)編程題目的特點,使用關(guān)聯(lián)規(guī)則挖掘出同一知識點下同一學(xué)習(xí)者在嘗試提交一定次數(shù)后同時“做對”與“做錯”的題目推薦規(guī)則,通過分析學(xué)習(xí)者的遺忘特征,使用知識追蹤模型與判別分析模型計算學(xué)習(xí)者對知識點的掌握狀態(tài),決定推薦鞏固題或拔高題,或進(jìn)入下一知識點學(xué)習(xí),從而優(yōu)化學(xué)習(xí)者學(xué)習(xí)效率。實驗結(jié)果表明,本文提出的推薦算法具有較好的推薦效果,并已成功應(yīng)用于某高校的在線智慧教學(xué)平臺中。

        表5 拔高題推薦的覆蓋率與準(zhǔn)確率比較

        猜你喜歡
        規(guī)則學(xué)生
        撐竿跳規(guī)則的制定
        數(shù)獨的規(guī)則和演變
        快把我哥帶走
        規(guī)則的正確打開方式
        幸福(2018年33期)2018-12-05 05:22:42
        《李學(xué)生》定檔8月28日
        電影(2018年9期)2018-11-14 06:57:21
        趕不走的學(xué)生
        讓規(guī)則不規(guī)則
        Coco薇(2017年11期)2018-01-03 20:59:57
        TPP反腐敗規(guī)則對我國的啟示
        學(xué)生寫話
        搜索新規(guī)則
        日韩国产成人精品视频| 亚洲国产成人精品无码区在线秒播| 亚洲日韩精品无码专区网站| 日本久久久| 久久麻豆精亚洲av品国产蜜臀| 亚洲熟女少妇精品综合| 久久久亚洲精品无码| 国产一区视频在线免费观看| 日韩精品一区二区亚洲av性色| 青青草视频是针对华人| 中文字幕日韩精品中文字幕| 草草影院ccyy国产日本欧美| 精品免费看国产一区二区| 天天躁日日操狠狠操欧美老妇 | 国产一区二区三区精品成人爱 | 国产精品99久久精品女同| av免费播放网站在线| a级毛片免费观看在线| 国产无套视频在线观看香蕉| 日韩av一区二区无卡| √天堂资源中文www| 最近中文字幕完整版| 四虎成人精品国产永久免费| 第一九区另类中文字幕| 天下第二社区在线视频| 囯产精品无码va一区二区| 久久精品国产亚洲不卡| 欧美日韩精品乱国产| 亚洲色偷偷综合亚洲av伊人| 亚洲免费无毛av一区二区三区| 青青河边草免费在线看的视频 | 国产美女裸身网站免费观看视频| 国产视频在线观看一区二区三区| 夜夜爽妓女8888888视频| 性夜影院爽黄a爽在线看香蕉| 蜜桃av区一区二区三| 欧美成人家庭影院| 亚洲人成亚洲精品| 成人自拍视频国产一区| 久久精品av在线观看| 国产美女久久精品香蕉69|