趙亞慧,崔榮一,金 城,趙琳琳,崔 旭
(延邊大學工學院,吉林 延邊朝鮮族自治州133002)
影響大學課程學習效果的因素很多,而且很復雜,如何利用歷史數據自動分析影響學習成績的因素,是提高教學研究效率的重要工作。“大學計算機程序設計”課程一般被安排在大學一年級,而一年級的課程學習成績會直接受入學前各種因素的影響。
通過分析高考考生信息和一年級學習成績的相關性,發現影響入學后學生學習成績的主要因素,對教學設計具有十分重要的預見性價值,有利于針對不同學生群體合理組織和落實教學工作。
針對上述問題,國內學者進行了相關研究工作,部分結果表明:學生的高考數學成績與學生入學后的大學數學專業課成績無顯著相關性[1];學生的高考成績與學生入學后的考試成績呈弱相關性[2];偏重記憶的文科類課程與高考成績的關聯性較大,邏輯推理類課程與高考成績的關聯則較弱[3]。這些研究主要是基于統計方法,對于沒有明顯統計學規律的多元復雜數據,其效果并不理想。
本文旨在通過對高考考生信息和大學一年級程序設計課程學習成績相關性的自動分析,發現影響程序設計學習成績的入學前的主要因素,其主要技術路線是:利用高考考生數據和一年級程序設計期末考試成績訓練隨機森林機器學習模型[4],建立根據考生數據預測一年級成績的分類器;使用局部可理解的模型無關解釋(Local interpretable model-agnostic explanations,LIME)技術對影響分類器的高考考生信息主要特征進行相關性分析,得出主要影響因素。
利用機器學習方法可以從一類數據中自動發現規律,主要分為監督學習、無監督學習和強化學習[5]。決策樹是一種廣泛應用于現實領域的樹狀分類器,但當數據復雜時該算法的準確率較低。為了解決這一問題,BREIMAN提出了隨機森林算法[6-8],該算法具有解釋性好、結構簡單、計算開銷小等優點[9]。
隨機森林算法的具體步驟如下。
輸入:樣本集D={(x1,y1),(x2,y2),…,(xm,ym)}。
決策樹迭代次數為T。
輸出:隨機森林f(x)。
Step1:fort=1 toT。
對訓練集進行第t次隨機采樣,共采集m次,由此得到包含m個樣本的采樣集Dt;用采樣集Dt訓練第t個決策樹模型Gt(x)。
Step 2:在形成的T個決策樹中,利用投票表決法確定結果類型。
可解釋性是機器學習中尚未得到解決的重要問題,一個機器學習模型是否可解釋決定該模型的終極價值。如果模型不可解釋,無法相信模型的預測結果是否合理正確。
LIME是由RIBEIRO等人2016年發表的開源工具,旨在解釋能真實地反映分類器在被預測樣本上的行為,而且能解釋任何模型,不需要進行模型適配。它是對不可知模型的局部解釋,幫助人們理解和解釋復雜機器學習模型如何作出決策。該工具可以用于解釋任何分類模型,包括隨機森林、梯度提升樹、神經網絡等。而且它可以應用于多種輸入數據中,比如表格數據、圖像數據或者文本數據。
為了搞清楚哪一部分輸入對預測結果產生貢獻,LIME利用輸入值在其周圍做微小擾動,觀察模型的預測行為。然后根據這些擾動的數據點距離原始數據的距離分配權重,基于它們學習得到一個可解釋的模型和預測結果。
利用LIME計算調整特征屬性貢獻度的基本流程如下:在原始樣本中隨機替換掉若干特征,以此得到含有噪聲的數據;計算模型對的預測值;求出原樣本與生成樣本之間的距離,并將其作為權重;利用生成樣本、預測值和權重訓練一個簡單的線性模型g;計算模型g擬合樣本的結果與模型預測樣本結果之間的差值,然后根據差值對模型進行解釋(差值越小,貢獻度越大)。
本文以某大學計算機專業一年級“C語言程序設計”課程為例,收集2014—2016級3個年級的學生高考報名個人信息,包括高考成績、學生生源、民族、考生類別和入學第一年的C語言期末考試成績。3個年級的學生人數分別為115人、157人和145人。
3個年級學生的高考考生信息特征屬性及其分布如表1所示。由表1可知,在性別方面,男生數量略高于女生;在民族結構方面,漢族學生占57.2%,少數民族學生占42.8%;在考生類別方面,城市考生占58.7%;在生源方面,考生主要來自吉林省,占比49.9%。

表1 各特征對模型的貢獻度
將采集的學生C語言成績按分數段分為5類:100~90(第1類),89~80(第2類),79~70(第3類),69~60(第4類),59~0(第5類)。
確定高考考生信息中對一年級C語言成績具有重要影響的信息屬性的過程分為兩個部分:建立成績預測模型和解釋模型。
3.2.1 建立成績預測模型
這一部分的目標是根據高考考生信息預測大學一年級時C語言成績,步驟如下:將整理后的數據按9∶1分為訓練集和測試集;利用各年級的訓練集數據訓練隨機森林模型,并通過調整隨機森林的參數得到最優的預測模型;利用Bootstrap方法從訓練集中隨機抽取多個訓練樣本子集,并對每個子集分別進行隨機森林建模;利用測試集對各隨機森林進行測試,并綜合多棵隨機森林的測試結果,以投票方式得出最終的C語言課程成績預測模型。
3.2.2 模型解釋
使用LIME工具計算其對隨機森林模型的貢獻度,確定對C語言成績影響最大的高考考生信息的屬性,步驟如下:對數據集進行擾動,并獲得基于擾動數據集的預測結果;根據新的樣本和目標實例的接近程度對其進行加權;使用擾動數據集訓練加權的可解釋模型;通過分析可解釋模型的訓練結果來分析預測模型。
利用隨機森林算法對數據進行訓練,為獲取最佳分類效果,本文利用實驗確定模型參數,結果如下:

根據表1中的貢獻度結果,本文將各年級中排序為前2的特征作為最大的相關性特征。這些特征包括考生生源、民族、總成績、數學成績和語文成績5個特征。在所有特征中任取5種特征,并按不重復原則組合方案進行排列組合,共得到126種組合方式。為驗證本文選擇的特征方案為最佳方案,本文對126種不同的特征組合使用隨機森林進行了訓練和測試,結果表明,在所有的特征組合方案中,本文提出的特征選擇方案的準確率最高(68%),是最優組合方案。
在本文提出的特征組合方案中,5種特征與C語言成績相關度最大的原因如下:高考總成績是反映一個學生學習能力的重要指標,因此C語言成績與高考總成績呈一定相關性;因少數民族考生錄取分數標準與漢族考生有差異,且入學初期會存在一定的漢語表達障礙,因此少數民族學生在大一初期的學習成績偏低;學好“計算機程序設計”課程需要學生具有較好的邏輯思維能力,而數學成績在一定程度上能體現一個學生的邏輯思維能力,因此數學成績與C語言成績具有較大的相關性;語文成績能夠體現學生的表達能力和理解能力,其對學習和理解知識至關重要,因此語文成績與C語言成績也具有較大的相關性。
本文利用基于隨機森林算法和LIME解釋工具對C語言成績的高考考生信息影響因素進行了分析,結果表明,考生生源、總成績、民族、數學成績和語文成績5種特征與C語言成績的相關性最高。本文的研究結果有助于教師根據新生的實際情況設計出具有針對性的教學模式,以提高學生的學習成績。
在今后的研究中筆者們將進一步擴大實驗數據以提高擬合模型的能力,同時引進模型解釋領域的新成果,提高判別模型預測性能因素的合理性、準確性,獲得更具普適性的因果證據,為大學一年級教學設計提供有價值的依據。