謝加良,陳艷玲,朱榮坤,賓紅華,李 鳳
(集美大學理學院,福建 廈門 361021)
試卷分析作為教學工作的組成部分,對于了解學生理解和掌握知識的程度,找出教學改革中存在的問題,具有重要的指導作用。試卷分析內容主要包括試卷質量和學生成績兩個方面。有學者基于數理統計的方法,從信度、效度、難度、區分度評價試卷的質量[1-3],從得分率、平均分、及格率等方面分析考核結果[4],取得了良好的效果。
為了多維度分析試卷,許多經典的機器學習算法被應用于試卷分析。例如,王平等[5]用聚類算法根據考核數據的相似度將學生聚成不同的類別,針對不同類別學生的特點提出相應的教學策略。孫小雪等[6]采用決策樹C4.5分類算法實現海量學生考試成績精準分類,有效挖掘學生考試成績中蘊含的有用信息。經典挖掘關聯規則的Apriori算法被用于挖掘試題對應知識點之間的關聯關系[7-11],并根據不同的實際需要進一步加以改進。例如,王華等[12]采用改進的Apriori算法挖掘出學生成績數據中隱藏的課程關聯規則。袁路妍等[13]通過減少連接中無效比較的次數來優化Apriori算法,并將其用于挖掘不同課程之間的關聯。劉麗娟[14]借助Hadoop技術改進Apriori算法并將其用于挖掘成績數據。孫國虹等[15]采用基于事務壓縮的Apriori算法挖掘大學生成績預警系統中的數據,從而對課程學習形成有效的預警。這些改進的Apriori算法在一定程度上提升了算法的效率,但都僅采用支持度與置信度進行規則挖掘,無法排除干擾性規則。為了挖掘有效的規則,郭鵬等[16]通過引入興趣度改進Apriori算法,并用于分析學生的成績數據,挖掘課程關聯規則。劉云翔等[17]利用基于興趣的Apriori算法分析學生成績,挖掘課程之間的關聯關系。任鴿等[18]引入提升度、興趣度改進Apriori算法,挖掘不及格課程之間的關聯規則。王鳳肆[19]運用基于知識點邏輯關系的Apriori算法挖掘出試卷知識點之間的關系,但在算法效率方面仍有待優化與改善。
基于上述分析,本文在經典Apriori算法的基礎上引入提升度、興趣度兩個度量閾值來改進規則篩選機制,通過壓縮事務數據庫、壓縮候選集、驗證頻繁集等方法來優化項集生成步驟。將改進的Apriori算法用于分析線性代數考核數據,挖掘出試卷中隱含的知識關聯規則。同時,根據關聯規則進一步挖掘課程的核心知識點以及學生的弱項知識點,客觀地測評學生知識的掌握情況,為下一輪教學改革提供參考意見。
關聯規則是一種挖掘數據集之間關聯性的算法。Apriori算法是經典的挖掘頻繁項集的關聯規則算法,該算法使用逐層搜索通過連接和剪枝兩個過程進行迭代。連接的目的是由頻繁k-1項集Lk-1通過連接產生候選集Ck;剪枝的目的是根據Apriori算法的性質剪除Ck中k-1維子集不存在于Lk-1中的項集,從而減少連接時的空間搜索次數。重復連接和剪枝直到不能產生新的頻繁項集,得到最大頻繁項集。
1.2.1 改進規則篩選機制
原算法僅用支持度S、置信度C篩選強關聯規則,若設定的最小支持度和最小置信度太小,則會產生無用冗余的規則,而太大則會遺漏有意義的規則。因此,引入提升度L、興趣度I兩個閾值來完善規則篩選機制。
提升度反映了關聯規則中的X與Y的相關性,目前普遍采用的提升度計算公式為
其中,L(X→Y)>1表明X與Y呈正相關,L(X→Y)<1表明X與Y呈負相關,L(X→Y)=1表明X與Y不相關。
興趣度反映了關聯規則正負相關的程度。本文采用王桌芳等[20]提出的基于差值的興趣度模型,記為
其中,I(X→Y)越大于0,說明X與Y正相關程度越高;I(X→Y)越小于0,說明X與Y負相關程度越高。
1.2.2 優化項集生成步驟
原始的Apriori算法存在缺陷:計算支持度時需掃描事務數據庫的全部記錄;產生大量的候選項集;驗證候選項集Ck時需掃描整個數據庫。針對上述問題,提出以下優化策略:
(1)壓縮事務集:根據最小支持度刪除事務集中的非頻繁集,避免在計算項集支持度時重復掃描記錄。
(2)壓縮候選集:根據Apriori算法的性質,若頻繁項集Lk-1中項目i的頻數小于k-1,則包含i的項集不可能出現在Lk中,所以在連接步前,先刪除Lk-1中包含i的項集,以減少可能產生的候選項集的數量。
(3)驗證候選集:原算法剪枝時,判斷Ck中所有項集的子集是否存在于Lk-1,生成一個Ck需掃描一遍Lk-1。進行改進,剪枝時判斷Lk-1的任意項集是否為Ck中項集c的子集,如果是則對c計數,即表示Lk-1包含c的k-1維子集的個數。掃描完畢時,若c的計數小于k則刪除Ck中項集c,改進后只需掃描一遍Lk-1。
選取作者單位2021—2022學年第一學期線性代數期末考試卷面各試題得分情況的數據,共計1 245條。依據同濟大學數學系編寫的《工程數學線性代數(第六版)》的章節設置,結合線性代數的知識結構及教學主要知識點分布,結合命題教師的出題思想,提取該試卷各試題所考查的知識點,部分試題對應的知識點如表1所示。

表1 試題知識點對應關系
通過分析考查知識點可以發現,該試卷基本覆蓋線性代數課程所要考查的內容和教學目標,可以進一步進行知識關聯分析。
根據每道試題的得分情況判斷是否掌握該試題知識點,將數據轉換為0-1型的離散數據,轉換規則如下:如果某試題得分大于等于該試題滿分的80%,則認為考生掌握該試題的知識點,將其成績轉換為1;如果得分小于該試題滿分的80%,則認為考生沒有掌握該試題的知識點,將其成績轉換為0。
在Python3.8環境下使用改進的Apriori算法對處理后的數據進行挖掘,經過調試,設定最小支持度為 0.3,最小置信度為0.6,最小提升度為1,最小興趣度為0.02,執行算法。
2.2.1 試卷知識點關聯分析
通過改進的Apriori算法挖掘關聯規則,部分有效的強關聯規則見表2。以規則1為例分析挖掘出的規則。規則1的支持度為0.43,置信度為0.85,說明當考生答對試題4時,有85%的可能性會答對試題3,由此得出“試題4-方陣行列式的性質/逆矩陣”與“試題3-方陣的特征值”知識點之間具有關聯關系??忌谥R掌握的過程中,“試題4-方陣行列式的性質/逆矩陣”是學習“試題3-方陣的特征值”的基礎,“試題3-方陣的特征值”的學習能進一步加強對“試題4 方陣行列式的性質/逆矩陣”的知識的理解與掌握。

表2 部分有效關聯規則
線性代數以線性方程組為主線,各章節知識點之間關聯性強、相互引用的情況多,把握知識點間的關系、構建知識結構體系成為有效教學的關鍵[21]。通過挖掘結果可以分析某個知識點在線性代數課程體系中的關聯關系,以“試題4”作為前項的有效關聯規則為例進行分析(表3)。

表3 以“試題4”為前項的關聯規則
由表3的規則1~規則3可知,“試題4-方陣行列式的性質/逆矩陣”的學習能加深考生對“試題2-矩陣的運算”“試題6-逆矩陣的定義”“試題11-代數余子式的性質”知識的理解。由規則4~規則10可知,考生對“試題4-方陣行列式的性質/逆矩陣”知識的掌握程度,會影響“試題7-矩陣的初等變換”“試題12-矩陣的初等變換”“試題13-線性方程組的解及解的結構”“試題15-行列式的性質/逆矩陣/矩陣的秩”“試題3-方陣的特征值”“試題9-方陣特征值與特征向量”“試題10-向量組的線性相關性”的學習。在線性代數課程中,許多問題可以歸結為通過初等變換化階梯形矩陣,其中涉及線性方程組的求解、特征向量的求法等問題,初等變換包括行列式的變換性質、矩陣和線性方程組的初等變換,掌握行列式變換的基本思想有助于對其他兩種變換的學習和應用??梢娡诰蚪Y果與線性代數課程體系基本一致。依此類推,可以分析試卷其他知識點的關聯關系。
結合試卷提取的知識點,匯總試卷知識點關聯規則,構建線性代數知識關聯結構圖(圖1),分別以15個節點表示試卷中15道試題的知識點,各個節點通過有向線段連接,由規則前項指向規則后項,表示試卷知識點之間的關聯關系。

圖1 知識關聯結構圖
根據試卷知識點關聯規則,優化線性代數知識點關聯圖,繪制樹型知識關聯結構圖(圖2),能夠更直觀地反映初試卷知識點的前后邏輯關系。

圖2 樹型知識關聯結構圖
2.2.2 試卷考核數據分析
根據試卷樹型知識關聯結構圖,結合各試題的得分率,分析考生在線性代數課程的弱項知識點。
2.2.2.1 考生整體知識結構分析
計算1 245位考生組成的整體在各個試題的得分率,根據得分率將知識掌握程度劃分為5個等級。整體考生對試卷知識點的掌握情況如表4所示。

表4 考生整體知識掌握情況
根據考生整體知識掌握情況,依照樹型知識點關聯圖(圖2),梳理考生整體的知識掌握過程。在掌握差的4個知識點和掌握一般的4個知識點中,“試題4-方陣行列式的性質/逆矩陣”“試題8-方陣行列式的性質”掌握差,并且“試題9-方陣的特征值與特征向量”“試題14-向量組的線性相關性/向量組的秩”掌握一般時,會導致“試題11-代數余子式的性質”“試題15-行列式的性質/矩陣的秩/逆矩陣”掌握差,同時會導致“試題7-矩陣的初等變換”“試題10-向量組的線性相關性”掌握一般。因此,考生整體的弱項知識點是“試題4-方陣行列式的性質/逆矩陣”“試題8-方陣行列式的性質”“試題9-方陣的特征值與特征向量”“試題14-向量組的線性相關性/向量組的秩”。
因此,建議教師在講授“方陣行列式的性質”的內容時,初步培養學生初等變換的思想,為學習矩陣和線性方程組的初等變換做好鋪墊。在講授“方陣的特征值與特征向量”“向量組的線性相關性/向量組的秩”等知識時,增設“方陣行列式的性質”的練習內容,理清初等行、列變換的適用場合,在知識應用過程中深化對初等變換的理解。
2.2.2.2 考生個體知識結構分析
隨機抽取1111號考生的線性代數考試成績,計算該考生在各個試題的得分率,其對試卷知識點的掌握情況如表5所示。

表5 1111號考生知識掌握情況
依照樹型知識點關聯圖(圖2),梳理1111號考生的知識掌握過程。在掌握差的4個知識點和掌握一般的“試題10-向量組的線性相關性”中,“試題4-方陣行列式的性質/逆矩陣的定義”“試題8-方陣行列式的性質”“試題9-方陣的特征值與特征向量”掌握程度差時,會導致“試題10-向量組的線性相關性”掌握一般,進而導致“試題15-行列式的性質/矩陣的秩/逆矩陣”掌握差。因此1111號考生的弱項知識點是“試題4-方陣行列式的性質/逆矩陣”“試題8-方陣行列式的性質”“試題9-方陣的特征值與特征向量”。
因此,建議教師在“方陣行列式”“方陣的特征值與特征向量”的教學中應幫助1111號學生理清初等行列變換的適用問題,例如求矩陣的特征值與特征向量時只能用初等行變換,在其后項知識的教學前布置“方陣行列式”“方陣的特征值與特征向量”的復習任務。建議1111號考生自主增強對“方陣行列式”“方陣的特征值與特征向量”的理解和練習,增強在后項知識中的應用能力。
試卷分析評價是教學工作的重要內容,本文從規則篩選機制和項集生成步驟兩方面改進Apriori算法,提出一種基于改進Apriori算法的試卷分析方法,并將其用于分析線性代數成績。經實例驗證該算法可以挖掘出試卷中隱含的知識關聯規則,對試卷進行總體評價,客觀地測評學生知識的掌握情況。同時,根據關聯規則進一步挖掘課程的核心知識點以及學生的弱項知識點,從而為下一輪教學改革提供參考意見。這個方法也同樣適用于其他學科的試卷分析,具有可推廣性和適用性。