王惠惠, 董永權, 和文斌, 范斐然
(江蘇師范大學 智慧教育學院(計算機科學與技術學院),江蘇 徐州 221116)
近年來,隨著在校學生人數的增加,班級規模增大,使得傳統的班級教學模式難以兼顧全部學生需求,比如:對于學習能力相對較強的學生,課堂教學內容可能“難以吃飽”;而對于學習能力相對較弱的學生,課堂教學內容可能“難以消化”[1].為此,研究者提出了分類教學方法.分類教學能夠突破傳統班級教學困境,立足學生差異,促進學生的個性化發展[2].
學生群體畫像采用機器學習方法挖掘學生的屬性特征,形成數據化、語義化的特征標簽,并對擁有共同特征的群體進行劃分,是大數據時代實現分類教學的方法之一[3-4].它不僅能輔助教師實施差異化教學策略,而且能緊密跟蹤、精準分析不同類別學生的學習情況[5],是當前教育領域研究的熱點之一.已有的對于學生群體畫像的研究多采用單一聚類方法,自動挖掘學生行為屬性進行分類,如:Dinh等[6]采用KMeans算法識別具有相似學習動機和學習策略的群體,并畫出5類不同特征的學生群體畫像;肖君等[7-8]發現,KMeans算法能夠幫助教師及管理者識別不同學生群體,并為學生提供個性化的學習過程評價或效果評價;喬惠[9]利用KMeans聚類方法識別具有高風險流失的學生群體畫像;王萍[10]研究了不同國家學生的學習行為和特征,采用DBSCAN聚類算法將學生分為4類學習者;張弛等[11]使用GMM算法對學生的基本信息和學習偏好進行聚類分析;羅楊洋等[12]分別采用GMM、KMeans和DBSCAN 3種聚類算法對清華大學學生的學習行為進行群體畫像分析.然而,單一聚類算法難以準確反映各類數據結構,且不同算法的聚類結果具有差異性.基于此,本文提出一種基于聚類集成的學生群體畫像方法.通過分析學生的基礎數據和行為數據,建立合理的學生群體畫像特征標簽,并運用KMeans、KModes和GMM 3種聚類方法構建基聚類器;最后,通過投票法對基聚類器的結果進行集成處理,并根據輪廓系數選取合適的類數構建學生群體畫像;同時,分析每個群體的主要特征,為后續教師制定分類教學手段和策略提供參考.
學生群體畫像的構建框架主要包括數據采集與處理、群體畫像特征標簽構建、基聚類器構建、聚類集成、群體特征分析及學生群體畫像6個部分(圖1).

圖1 學生群體畫像構建框架
數據集采用阿里云天池“數智教育”大賽某中學高一至高三年級的學生成績及行為數據(https://tianchi.aliyun.com/competition/entrance/231704/information),比賽任務是對學生基本信息和行為數據進行可視化分析.數據集共涉及學生基本信息表(student_info,已脫敏)、學生考勤表(kaoqin)、學生考勤類型表(kaoqintype)、學生成績表(chengji)、考試類型表(exam_type)和學生消費表(consumption)6張表,表關系結構如圖2所示.由于學生在校行為所產生的數據結構復雜且數量龐大,因此,必須先對各表中字段格式和內容進行清洗,減少噪聲影響.數據清洗包括去除邏輯錯誤數值和填補數據缺失值,然后整合成統一標準的數據格式.

圖2 表關系結構
從數據中挖掘和提煉學生的屬性特征,并將屬性特征標簽化.學生群體特征包含顯性特征和隱性特征,其中顯性特征包括學生的性別、政治面貌、民族、住宿情況和出生地等,隱性特征包括違紀情況、月消費金額等.通過建立學生顯性和隱性特征的標簽維度,利用聚類算法將他們劃分為不同特征的群體,精準分析他們的情況.在聚類算法中,特征選取直接影響聚類效果,因此,需要選擇與學生成績相關的重要特征[13].隨機森林算法作為學生畫像的特征選擇工具,既具有良好的魯棒性又能很好地處理異常數據[14].因此,將隨機森林算法特征重要性排名前3的學生違紀情況(X1)、學生住宿情況(X2)和學生月消費總額(X3)作為學生群體畫像的特征標簽.
聚類作為無監督學習的一種算法,依據數據的自身特性可劃分為不同類別[15].常用的聚類算法主要包括基于劃分的聚類(如KMeans、KModes)、基于密度的聚類(如DBSCAN)和基于模型的聚類(如概率模型GMM)等[16].由于學生數據規格一致,離散程度較大,不適合使用密度聚類算法[13].因此,本文運用KMeans、KModes和GMM 3種聚類算法構建基聚類器,通過投票方法對基聚類器的結果進行集成.
KMeans算法是目前應用最為廣泛的一種基于劃分的聚類方法,通常采用歐氏距離作為衡量數據間相似性的指標,相似性越大,距離越小.其核心思想是隨機設置K個初始聚類中心,依據每個數據對象與聚類中心之間的相似程度,不斷地更新聚類結果,直至收斂[17].KMeans聚類算法簡單、運算快速,適用于連續屬性的數值型數據,對各種大規模、高頻率的數據挖掘具有很強的擴展性.
KMeans聚類算法的偽代碼描述如下:
輸入:K:number of clusters,D={d1,d2,…,dn}:a data set
輸出:Kclusters:C={C1,C2,…,CK}
1:center = initClusterCenter(K)
2:while center does not change do
3:C=assignPoint2Center(D,center)
4: center=reComputeClusterCenter(C)
5:end while
6:returnC
作為KMeans算法的一種擴展,KModes聚類算法在處理離散屬性的數據點中表現較好,很好地降低了噪聲數據的影響,并減少了孤立點的敏感性[18].其核心思想是隨機設置K個初始聚類中心,依據每個數據對象與聚類中心的不同屬性個數重新劃分數據對象,不斷更新聚類結果,最終以每類的眾數作為新中心點獲得聚類結果.KModes聚類算法具有劃分原理簡單、操作簡單、執行速度快等特點.
KModes聚類算法的偽代碼描述如下:
輸入:K:number of clusters,D={d1,d2,…,dn}:a data set
輸出:Kclusters:C={C1,C2,…,CK}
1:center = initClusterCenter(K)
2:while center does not change do
3:C=assignPoint2Center(D,center)
4: center=reComputeClusterMode(C)
5:end while
6:returnC
GMM算法是一種基于概率模型的聚類算法,其核心思想為預先假設存在K個聚類中心,且每個聚類均服從混合高斯分布,計算每個數據對象與聚類中心之間的分布概率、權重和方差,得出最大似然函數值,最終將數據點所屬概率最大類作為其聚類結果.GMM算法采用概率方式,使不同數據自適應訓練獲取參數,增強了算法的泛化能力.它不僅能依據不同數據自適應訓練獲得模型相關參數[19],而且能快速地解決泛化能力差、群協遲鈍等問題[20].
GMM聚類算法的偽代碼描述如下:
輸入:K:number of component,D={d1,d2,…,dn}:a data set
輸出:Kclusters:C={C1,C2,…,CK}
1:P=φ
2:μ,π,Σ=initClusterParameter(K)
3:whilePis convergence do
4: fori=1 tondo
5: fork=1 toKdo
6:r(i,k)=computeComponent(di,k)
8:Σk=computeVariance(r(i,k),di,μk)
9:πk=computeWeight(|Dk|/|D|)
10:P=computeLikelihoodFunction(μk,Σk,πk)
11: end for
12: end for
13:end while
14:C= assignClassByMaxLikelihood(P)
15:returnC
從巢湖流域綜合土地利用動態度數值(圖2)可知,1985-2000年,土地利用綜合動態度為0.08,2000-2016年,土地利用綜合動態度為0.12。可以看出巢湖流域的土地利用程度呈上升趨勢,表明區域內土地利用變化加劇。根據巢湖流域的單一土地利用動態度變化圖(圖1)可分析區域內各土地利用類型的變化程度。
運用KMeans、KModes和GMM 3種聚類算法構建基聚類器,使用聚類集成算法(clustering ensemble algorithm,CEA)進行數據挖掘.CEA算法的核心思想是:依次采用KMeans、KModes和GMM算法對數據對象進行聚類計算,分別得到3個聚類結果,之后通過投票法,選取次數出現最多的類作為該樣本的類,以提高聚類結果的精確性和魯棒性.算法流程圖如圖3所示.

圖3 CEA集成算法流程圖
CEA聚類集成算法的偽代碼描述如下:
輸入:K:number of clusters,D={d1,d2,…,dn}:a data set
輸出:Kclusters:C={C1,C2,…,CK}
1:Lt=φ(t=1,2,3),Ck=φ(k=1,2,…,K)
2:L1=KMeans(D,K)
3:L2=KModes(D,K)
4:L3=GMM(D,K)
5:fori=1 to len(D) do
6: res=getBaseClusterClasses(di,L1,L2,L3)
7:j=getMaxOccurenceClass(res)
8:Cj=Cj∪{di}
9:end for
10:returnC
1)輪廓系數
輪廓系數用來衡量類內樣本的聚集程度[16].樣本點di的輪廓系數Si的計算公式為
其中:ai表示di和類內其他點之間的平均距離,bi表示di與最近類中所有樣本點之間的平均距離之和.輪廓系數Si越大,聚類效果越好.最佳聚類個數在輪廓系數最大時取得.
2)誤差平方和
誤差平方和衡量聚類算法中聚類劃分結果的精確度[16].計算公式為
其中:di為樣本點,ck為第k個聚類中心,d為樣本點到類的歐氏距離.誤差平方和越小,表明精確度越高,聚類效果越好.
3)信息熵
信息熵是依據聚類結果中某個類別出現的概率衡量算法魯棒性的指標[16].第i個類別的樣本集Di隨機出現的信息熵H(Di)的計算公式為
其中:di為樣本點,p(di)表示di隨機出現的概率分布值.信息熵越小,表明聚類算法魯棒性越好.
Windows 10 操作系統;CPU,Intel core i5;32 GB內存.
為獲取最佳的聚類個數,分別選取KMeans、KModes和GMM算法對實驗數據集進行輪廓系數分析.圖4為聚類中心點k取值2~9時的聚類輪廓系數圖,可以看出,聚類個數為3時效果最佳.

圖4 聚類輪廓系數圖
為驗證聚類結果的精確性,采用KMeans、KModes、GMM和CEA算法分別計算數據集的誤差平方和,比較算法的聚類性能,結果如表1所示.可以看出,GMM算法的誤差平方和最大,而CEA算法的誤差平方和最小,精確性最好.
為驗證聚類結果的魯棒性,采用信息熵比較4種算法的性能.由于聚類算法初始聚類中心均為隨機產生,因此,需要通過多次運行判斷聚類結果的魯棒性.本文對每個算法各運行10次,統計聚類結果的信息熵,結果如表1所示.可以看出,相比于其他3種算法,CEA算法的信息熵最小,魯棒性最好.

表1 4種聚類算法的誤差平方和和信息熵
選取學生違紀情況(X1)、學生住宿情況(X2)和學生月消費總額(X3)作為聚類特征.在聚類之前,使用Scikit-learn庫中MinMaxScaler方法對所選特征進行最大最小歸一化處理,以消除特征維度差異的影響.使用CEA算法對2018—2019年第1學期791名學生進行中心點k為3的聚類分析,得到3類不同特征的群體.為便于教師對學生群體進行識別,依據學生的具體特征和學習效果分為“自控型學習者”“常規型學習者”和“消費型學習者”3種類型.統計分析發現,“自控型學習者”中有13名學生的行為存在嚴重異常,將其定為離群點,并作刪除處理.學生群體畫像的聚類分析結果如表2所示.

表2 學生群體聚類分析結果
可以看出,在3類學習者中,“自控型學習者” 占14.01%,各項指標均表現最好:違紀次數最少,在校住宿,月消費水平最低,學期平均總成績最高.
“常規型學習者”占70.95%,在各項指標上均表現一般:“違紀情況”在3類學習者中最高,月消費總額處于居中層次,學期平均總成績處于中等水平.說明此類學習者自我約束性不高,沒有將全部精力投入到課程學習中.針對此類學生,在紀律方面,學校應加強違紀違規情況的管理,并深入開展政治思想工作、德育工作,培養學生的自律能力和自育能力;在學習層面,教師應不定期與學生交流情感,聚焦學生需求,解決學生遇到的問題,并及時給予反饋.
“消費型學習者”占比15.04%,在各項指標上表現都相對較差:雖然在校住宿,學校違紀次數較少,但月消費總額在3類學習者中最高,學期平均總成績最差.這可能是由于此類學生長期住宿,缺少家長的關愛和教導,沒有形成正確的消費觀念,自我約束性較差.針對此類學生,在消費層面,家長和教師應主動關心,引導其形成正確的消費觀念;在學習層面,教師應給予足夠的關愛與耐心,分析其存在的問題,從學習方法、策略等方面進行針對性的指導,促使其學習成績有較大幅度的提升.
為實現分類教學,本文通過對學生的基本信息和行為數據進行分析,提出基于聚類集成的學生群體畫像方法,分析不同群體的學習特征,從而找到提高學生成績的關鍵點,輔助教師制定更科學的分類教學策略,將因材施教落到實處.今后,還可以把學生群體畫像和學習資源相結合,分析不同類型學生所需的學習資源,進行相應的學習資源推薦研究.