張 云
(安徽開(kāi)放大學(xué) 教務(wù)處,合肥 230022)
安徽開(kāi)放大學(xué)的主要教育形式是現(xiàn)代遠(yuǎn)程教育。近年來(lái)隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,線上教學(xué)模式在開(kāi)放教育中的應(yīng)用日益廣泛。與普通高校的全日制學(xué)生不同,開(kāi)放教育學(xué)生來(lái)自各行各業(yè),需要平衡工學(xué)矛盾;學(xué)生年齡跨度比較大,學(xué)習(xí)目的和學(xué)習(xí)需求呈現(xiàn)多元化。線上學(xué)習(xí)可以隨時(shí)隨地進(jìn)行,學(xué)生可以根據(jù)自己學(xué)習(xí)情況重復(fù)觀看課程視頻,也可以利用碎片時(shí)間進(jìn)行學(xué)習(xí)。線上學(xué)習(xí)為開(kāi)放教育的學(xué)生提供了非常便利的學(xué)習(xí)方式[1],因此學(xué)生的線上學(xué)習(xí)需求旺盛。但是,線上學(xué)習(xí)也存在一些缺點(diǎn),如課堂上師生間缺乏交流互動(dòng),無(wú)法及時(shí)了解學(xué)生對(duì)知識(shí)點(diǎn)的掌握情況,無(wú)法直觀了解學(xué)生處于哪個(gè)年齡層次等。這些信息的缺乏影響了教師對(duì)課程教學(xué)效果的判斷以及制定合適的教學(xué)計(jì)劃。
學(xué)生的考試成績(jī)是檢查學(xué)生學(xué)習(xí)情況以及檢驗(yàn)教師教學(xué)成果的重要途徑。通過(guò)開(kāi)放大學(xué)的教務(wù)系統(tǒng)可以查詢學(xué)生的學(xué)習(xí)成績(jī),包含形考成績(jī)、卷面成績(jī)以及綜合成績(jī)。為了解線上教學(xué)模式的效果,了解不同年齡階段學(xué)生線上課堂知識(shí)點(diǎn)的掌握情況,深層次挖掘成績(jī)數(shù)據(jù)里面所隱藏的有價(jià)值信息十分必要。本文對(duì)不同年齡段學(xué)生期末考試相關(guān)成績(jī)進(jìn)行聚類分析,挖掘?qū)W生線上學(xué)習(xí)成效與學(xué)生年齡之間的關(guān)系,為教師針對(duì)不同年齡段的學(xué)生制定個(gè)性化教學(xué)方案提供理論依據(jù),從而進(jìn)一步提升開(kāi)放教育的教學(xué)質(zhì)量。
K-means算法是一種有效的聚類劃分方法 ,其主要思想是:在給定K值和初始簇中心的情況下,把數(shù)據(jù)對(duì)象劃分到距離其最近的簇中心所代表的類簇中,所有數(shù)據(jù)對(duì)象分配完成之后,根據(jù)一個(gè)簇內(nèi)的所有數(shù)據(jù)對(duì)象重新計(jì)算該類簇的中心,然后再迭代進(jìn)行分配和更新簇內(nèi)中心的步驟,直至簇內(nèi)中心點(diǎn)的變化很小,或者達(dá)到指定的迭代次數(shù)[2]。
假定D={X1,X2,X3,…,Xn}是具有n個(gè)數(shù)據(jù)對(duì)象集合,其中每個(gè)數(shù)據(jù)對(duì)象都具有m個(gè)維度的屬性。K-means算法就是以歐式距離作為衡量數(shù)據(jù)對(duì)象間相似度的指標(biāo),將數(shù)據(jù)樣本D中n個(gè)數(shù)據(jù)對(duì)象依據(jù)數(shù)據(jù)對(duì)象之間相似性劃分到k個(gè)類簇C1,C2,C3,…,Ck中,其中1≤k≤n。集合中每個(gè)對(duì)象都劃分到與其距離最近的簇內(nèi)中心所在的類簇中[3-5]。
K-means具體算法流程如下[6-8]:
(1)從數(shù)據(jù)對(duì)象D中隨機(jī)選取K個(gè)對(duì)象作為初始類簇中心。
(2)根據(jù)公式(1)計(jì)算當(dāng)前每個(gè)簇內(nèi)數(shù)據(jù)對(duì)象到簇中心的歐式距離:
(1)
式(1)中Xi表示第i個(gè)數(shù)據(jù)對(duì)象,1≤i≤n,Cj表示第j個(gè)類簇中心,1≤j≤k,Xit表示第i個(gè)對(duì)象的第t個(gè)屬性,Cjt表示第j個(gè)類簇中心的第t個(gè)屬性,1≤t≤m。
(3)依次比較每個(gè)數(shù)據(jù)對(duì)象到簇中心的距離,將數(shù)據(jù)對(duì)象劃分到距離最近的簇內(nèi)中心的類簇中,得到k個(gè)類簇{S1,S2,S3,…,Sk},根據(jù)公式(2)重新計(jì)算新的類簇中心,
(2)
式(2)中Cl表示第l個(gè)類簇中心,1≤l≤k,|Sl|表示第l個(gè)類簇中數(shù)據(jù)對(duì)象的數(shù)量。
(4)重復(fù)步驟(2)和(3)直至類簇中心不變或達(dá)到指定的迭代次數(shù)。
數(shù)據(jù)的質(zhì)量決定了聚類模型預(yù)測(cè)結(jié)果,其涉及很多因素,比如數(shù)據(jù)的真實(shí)性、時(shí)效性、完整性等[9]?,F(xiàn)實(shí)中,我們拿到的真實(shí)數(shù)據(jù)可能由于數(shù)據(jù)收集過(guò)程中的主客觀因素,而包含了部分無(wú)效信息、失真信息或異常數(shù)據(jù),這些數(shù)據(jù)都是造成模擬訓(xùn)練結(jié)果與實(shí)際情況不相符的主要因素。
從開(kāi)放大學(xué)教務(wù)系統(tǒng)中選取了安徽開(kāi)放大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)本科班軟件工程課程2021年春季學(xué)期期末考試相關(guān)成績(jī)進(jìn)行分析,所選成績(jī)樣本數(shù)據(jù)來(lái)自全省所有選擇該課程的學(xué)生,共計(jì)樣本成績(jī)數(shù)據(jù)240條。通過(guò)K-means算法與加權(quán)K-means算法分析結(jié)果進(jìn)行比較,選擇更適用于進(jìn)行成績(jī)分析的方法,分析不同年齡層次的開(kāi)放教育學(xué)生的考試成績(jī)與學(xué)生學(xué)習(xí)效果之間的關(guān)系。為了分析結(jié)果更加真實(shí)有效,我們選取含有成績(jī)數(shù)據(jù)的學(xué)生成績(jī)進(jìn)行模擬訓(xùn)練。
初始聚類數(shù)K值的選取,若偏離真實(shí)值,則會(huì)直接影響數(shù)據(jù)樣本聚類的效果。本文通過(guò)“手肘法”來(lái)確定初始聚類數(shù)K值?!笆种夥ā笔峭ㄟ^(guò)聚類數(shù)K與誤差平方和(SSE)之間對(duì)應(yīng)的關(guān)系,在K與SSE的關(guān)系中,我們可以通過(guò)觀察拐點(diǎn)來(lái)確定K值。隨著K值的增加,并且K值未達(dá)到真實(shí)值之前,SSE值下降的幅度會(huì)很大,數(shù)據(jù)對(duì)象的聚類會(huì)更加明顯,數(shù)據(jù)對(duì)象之間的聚合程度會(huì)逐漸增大;當(dāng)K值達(dá)到聚類數(shù)的真實(shí)值時(shí),SSE值的下降幅度會(huì)迅速減緩;而當(dāng)K值大于真實(shí)值并且繼續(xù)增加時(shí),SSE值會(huì)逐漸趨于平緩[9-10]。
K值確定步驟:
(1)通過(guò)式(1)確定每個(gè)類簇中的對(duì)象到簇內(nèi)中心的歐式距離;
(2)計(jì)算每個(gè)類簇內(nèi)的誤差平方和;
(3)計(jì)算當(dāng)前數(shù)據(jù)對(duì)象的總誤差和;
(4)K為K+1時(shí),重復(fù)計(jì)算當(dāng)前數(shù)據(jù)樣本對(duì)象的SSE值,確定K值。
誤差平方和公式:
(3)
式(3)中K為聚類的數(shù)量,X為當(dāng)前簇Ci中的數(shù)據(jù)對(duì)象,ci為當(dāng)前簇Ci的中心。
使用SPSS軟件的K聚類分析功能對(duì)課程成績(jī)進(jìn)行聚類分析,聚類數(shù)K從2增加到11的聚類結(jié)果如圖1所示,可以看出曲線在K=7時(shí)有明顯的拐點(diǎn),即“手肘”,根據(jù)“手肘法”可以確定該數(shù)據(jù)的真實(shí)聚類數(shù)應(yīng)為7。
圖1 手肘圖像結(jié)果
從公式(1)可知,如果數(shù)據(jù)對(duì)象的某一屬性變化范圍大,那么在計(jì)算聚類成員到聚類中心的距離時(shí),它的權(quán)重就會(huì)相對(duì)較高,最終會(huì)導(dǎo)致聚類中心更偏向該屬性。為更直觀說(shuō)明這一問(wèn)題,本文實(shí)驗(yàn)使用K-means算法對(duì)學(xué)生的期末考試卷面成績(jī)和年齡進(jìn)行聚類分析,結(jié)果如圖2所示。
圖2 K-means聚類算法成績(jī)分析結(jié)果
從圖2可以看出聚類有明顯的不合理之處,樣本數(shù)據(jù)的聚類中心傾向于成績(jī)屬性,在年齡屬性上跨度較大。以“★”所代表聚類為例,該聚類左右兩側(cè)存在明顯的界限,該聚類中右側(cè)的樣本數(shù)據(jù)更應(yīng)該與“?”所代表的聚類歸為一類。這是因?yàn)樵诔煽?jī)與年齡二維坐標(biāo)中,成績(jī)的取值范圍是0~100,而年齡的取值范圍為20~51。成績(jī)的取值范圍約為年齡取值范圍的3倍,由式(1)可知,使用普通K-means算法進(jìn)行聚類分析時(shí),成績(jī)維度在歐氏距離中占比更重,聚類中心會(huì)傾向于成績(jī)屬性。
通過(guò)式(1)計(jì)算歐氏距離時(shí),若某一個(gè)屬性的取值范圍明顯大于其他屬性,那么該屬性在歐氏距離中比重就會(huì)偏重。為了消除這種現(xiàn)象,可以將樣本數(shù)據(jù)的每個(gè)屬性調(diào)整到相同的取值范圍,即在進(jìn)行聚類分析前,給每一個(gè)屬性乘上不同的系數(shù)at得到X′i,其中X′i={a1Xi1,a2Xi2,…,at-1Xi(t-1),atXit}。
(4)
公式(4)中st為第t個(gè)屬性的取值范圍。
故本實(shí)驗(yàn)加權(quán)后采用的歐氏距離計(jì)算公式為:
(5)
使用公式(5)作為歐氏距離公式相當(dāng)于對(duì)每個(gè)屬性賦以不同的權(quán)重,使用加權(quán)后的算法重新對(duì)包含學(xué)生成績(jī)與年齡的樣本數(shù)據(jù)進(jìn)行聚類分析。結(jié)果如圖3所示。
圖3 加權(quán)的K-means聚類算法成績(jī)分析結(jié)果
從圖3可以看出,樣本數(shù)據(jù)不再傾向于年齡屬性的聚類,“★”所代表的聚類不再有明顯的界限,聚類結(jié)果更加科學(xué)。
通過(guò)圖2和圖3中K-means算法和加權(quán)的K-means算法聚類結(jié)果對(duì)比可知,對(duì)于相同的成績(jī)樣本數(shù)據(jù)對(duì)象,加權(quán)的K-means算法聚類比普通的K-means算法聚類效果更加明顯且更加合理。
根據(jù)前文結(jié)論可知,使用加權(quán)K-means算法能更加準(zhǔn)確探索學(xué)生的年齡與期末考試的成績(jī)是否存在關(guān)聯(lián)。前文為方便直接觀察兩種聚類結(jié)果,文中只選取了學(xué)生的綜合成績(jī)與年齡二維樣本數(shù)據(jù)進(jìn)行聚類分析。為了獲取學(xué)生的年齡、形考成績(jī)、卷面成績(jī)和綜合成績(jī)的內(nèi)在關(guān)聯(lián),使用加權(quán)的K-means算法對(duì)樣本數(shù)據(jù)進(jìn)行聚類分析,樣本數(shù)據(jù)包含學(xué)生年齡、形考成績(jī)、卷面成績(jī)、綜合成績(jī)四個(gè)維度,聚類分析后,結(jié)果如表1~3所示。
表1 最終聚類中心
從表2最終聚類中心間的距離可以看出最小的間距為18.986,聚類中心之間的距離較大,聚類結(jié)果較好。
表2 最終聚類中心間的距離
表3 聚類案例數(shù)
對(duì)表1最終的聚類中心進(jìn)行分析可以發(fā)現(xiàn),聚類1和聚類4對(duì)比可以看出這兩個(gè)聚類學(xué)生較年輕,形考成績(jī)較高,但卷面成績(jī)和綜合成績(jī)差距較大,說(shuō)明這個(gè)年齡段的學(xué)生學(xué)習(xí)時(shí)間比較充裕,有較多的時(shí)間完成課后作業(yè)。但卷面成績(jī)有高有低,說(shuō)明他們對(duì)知識(shí)的掌握程度有好有壞,授課老師可以針對(duì)這個(gè)年齡段的學(xué)生加強(qiáng)知識(shí)點(diǎn)的鞏固。
聚類2和聚類7中的學(xué)生年齡相仿,但形考成績(jī)都不理想,說(shuō)明這類學(xué)生忽視平時(shí)作業(yè)的完成,可能是因?yàn)檫@個(gè)年齡段的學(xué)生平時(shí)學(xué)習(xí)時(shí)間少,老師可以在平時(shí)作業(yè)方面多給予指導(dǎo),提升他們的形考成績(jī)。
聚類3和聚類5中學(xué)生的年齡相仿,三項(xiàng)成績(jī)都很平均,說(shuō)明這類學(xué)生學(xué)習(xí)有一定的主動(dòng)性,老師可以從平時(shí)的作業(yè)中提前了解他們的學(xué)習(xí)情況。如果他們平時(shí)的作業(yè)完成度好,那么他們的期末考試卷面成績(jī)也不會(huì)差;如果他們的平時(shí)成績(jī)完成得不好,老師可以適當(dāng)?shù)貙?duì)他們提出要求。
聚類6中的三項(xiàng)成績(jī)都較高且較為平均,說(shuō)明在這個(gè)年齡段的學(xué)生既有一定的時(shí)間完成課后作業(yè),同時(shí)也注重知識(shí)點(diǎn)的掌握與鞏固,可能是因?yàn)檫@個(gè)階段的學(xué)生對(duì)知識(shí)更加渴望,老師在授課過(guò)程中可以適當(dāng)?shù)亟档蛯?duì)他們的關(guān)注,將精力更多地放在其他學(xué)生身上。
加權(quán)的K-means算法適合用于樣本數(shù)據(jù)對(duì)象各個(gè)維度的數(shù)據(jù)范圍相差較大或明確知道某個(gè)維度的數(shù)據(jù)更重要的場(chǎng)景。使用加權(quán)的K-means算法可以更好分析學(xué)生的成績(jī)與年齡的相關(guān)性,獲得更加準(zhǔn)確的結(jié)果,為教師提供更多的學(xué)生數(shù)據(jù)信息。通過(guò)對(duì)聚類結(jié)果的分析,教師可以更加了解每個(gè)年齡段學(xué)生優(yōu)勢(shì)和弱點(diǎn),有的放矢,因材施教,更加精準(zhǔn)地指導(dǎo)每個(gè)學(xué)生的學(xué)習(xí)。在花費(fèi)同等精力的同時(shí),更加高效地提升學(xué)生的整體學(xué)習(xí)效果。