韓魯峰



摘 ?要: 針對傳統的網絡教學平臺選課過程中缺乏個性化推薦的缺點,提出一種基于Mini Batch K-Means算法的課程推薦聚類分析方法,該方法通過對網絡教學平臺中的課程及學生分別進行聚類分析來實現個性化研究。與標準的K-Means算法相比,Mini Batch K-Means算法選取小批量的數據子集,從而加快了計算速度, 減少了k均值的收斂時間。文章通過一個實例說明了該方法在面對海量的網絡數據時,能夠更高效地實現選課過程中的課程個性化推薦。
關鍵詞: 數據挖掘; K-Means; 個性化; 教學平臺
中圖分類號:TP399 ? ? ? ? ?文獻標識碼:A ? ?文章編號:1006-8228(2020)01-84-03
Abstract: Aiming at the shortcomings of traditional network teaching platform that lacks personalized recommendation, this paper proposes a clustering analysis method based on Mini Batch K-Means algorithm. The method realizes individualized research by clustering the courses and students in the network teaching platform. Compared with the standard K-Means algorithm, Mini Batch K-Means algorithm selects small subsets of data, which speeds up the calculation and reduce the convergence time of K-Means. This paper illustrates an example that can effectively implement the personalized recommendation of the courses during the course selection process in the face of massive network data.
Key words: data mining; K-Means; personalize; teaching platform
0 引言
隨著互聯網與教育事業的日益融合及發展,網絡化教學已經成為當今教育發展新的生長點和現代教育技術主流的發展方向。當前的網絡教學還普遍存在教學模式單一、教學資源簡單累積、智能化程度低等問題,而使用教學平臺的學生學習能力、個人興趣、學習基礎,都存在著巨大的差異[1]。由此帶來的是網絡教學平臺不能適應學習者個性化需求的矛盾。
為了解決上述矛盾,本文將數據挖掘技術應用于高校的教育教學, 開發個性化的網絡教學平臺,針對不同學生的學習需求以及學習風格對學生進行個性化推薦,從而有效的提高教學質量。
1 數據挖掘
1.1 數據挖掘概念
數據挖掘是數據庫知識發現過程中的一個步驟[2]。WEB數據挖掘大致分為三類:內容挖掘、結構挖掘、用戶使用記錄挖掘。將Web數據挖掘應用于網絡教學平臺,對教學數據庫中的大量數據進行抽取、轉換、分析和模型化處理,使網絡教學平臺更加規范化、個性化、智能化。以此幫助我們在教育教學,課程制定和創新型人才的培養等方面進行有效的決策[3]。
1.2 聚類算法
最早的聚類思想出現在我國的《戰國策 齊策三》中,即“物以類聚,人以群分”。聚類是將數據劃分為若干組的過程,并使得同一個組內的數據對象之間相似度越高越好,而不同組中的數據對象之間相似度越低越好[4]。
根據聚類算法所采用的基本思想,可以將聚類算法分為以下四類:層次聚類算法、分割聚類算法、基于約束的聚類算法、機器學習中的聚類算法。本文采用的Mini Batch K-Means算法是K-Means算法的改進版,K-Means算法是分割聚類算法的一種,是解決聚類問題的一種經典方法。Mini Batch K-Means算法在求解穩定的聚類中心時,每次隨機抽取一批數據,然后進行K-Means計算,直至中心點穩定之后,再將所有的數據依據這些中心點進行分類,從而達到和K-Means一樣的效果,同時又大大的減少了計算量。
1.3 K-means算法的原理
K-means算法是最常用的聚類算法,整個聚類過程如圖1所示,假如我們在坐標軸中存在A,B,C,D,E五個點,然后我們初始化兩個中心點,也就是將五個點分成兩個類。采用歐式距離計算距離,把每個點分到離其最近的中心點所代表的類中。所有點分配完畢后,根據一個類內的所有點重新計算該類中的中心點。然后迭代分配點和更新中心點的步驟,直至中心點的變化很小或達到指定的迭代次數[5]。
2 聚類算法在個性化網絡教學平臺的應用
信息技術和教學技術的發展,促進了網絡教學平臺的誕生,目前國內的網絡教學平臺只實現了網絡資源的共享以及學生學習時間和空間的靈活性,個性化教學環節還很薄弱。個性化推薦的實質是將學生信息與系統中的模型進行匹配,尋找具有相同或相近興趣的學生,然后相互推薦瀏覽過的信息。個性化推薦服務已經應用于很多領域,并取得了驚人的效果。將個性化推薦服務應用于網絡教學平臺能夠有效解決學生面對海量資源“迷航”的情況,由此減少學生尋找資源所需的時間,從而提高學習效率。
2.1 聚類算法設計
本文選用Mini Batch K-Means算法進行個性化選課推薦。
2.1.1 算法用到的公式
假定給定數據樣本X,包含了n個對象X={X1,X2,X3,…,Xn}。其中每個對象都具有m個維度的屬性。K-means算法的目標是將n個對象根據對象間的相似性聚集到指定的k個類簇中,每個對象屬于且僅屬于一個其到類簇中心距離最小的類簇中。
2.1.2 算法的主要過程
算法:改進的K-means算法(Mini Batch K-Means算法)
輸入:包含n個學生對象,m條課程對象,聚類個數k1=k2=3
輸出:k個聚類及其中心
主要步驟:
⑴ 隨機抽取100個有效樣本;
⑵ 初始化k個聚類中心;
⑶ 計算出每個對象到這k個中心的距離,如果Xi(1≤i≤n,1≤i≤m)這個對象跟kj(1≤j≤3)這個中心的距離最小,那么Xi屬于kj這個中心。這樣即可得到初步的k個聚類及聚類中心;
⑷ 根據第二步得到的每個聚類分別計算新的聚類中心,和第二步得到的聚類中心對比,如果不同,則繼續第二步,如果相同,則繼續第一步,直到聚類中心變化不大。
⑸ 將所有的樣本根據中心點進行分類。
2.2 個性化課程推薦的數據挖掘實現過程
個性化推薦服務可以根據學生的個人基本信息、已選的課程、查詢的課程、活躍度等,制定課程推薦策略。本文使用Mini Batch K-Means聚類算法對課程和學生分別進行聚類并做進一步的數據挖掘與分析。
2.2.1 課程聚類
根據課程的部分屬性進行聚類分析,用以得到課程的熱門程度。首先,進行數據預處理。根據需要,從教學數據庫中選擇2018年信息工程方向的課程信息表、學生選課信息表,將兩張表進行關聯生成新表,再從新表中隨機各抽取100條記錄,從課程年度被選修的次數、課程年度被查詢的次數、課程年度評價得分三個角度對記錄進行聚類分析得到表1,根據分析結果來劃分課程的熱門程度。其次,進行數據清洗。刪除掉異常數據記錄或是數據有缺的記錄。最后,對統計結果進行聚類挖掘得到表2。本文設置聚類個數K值為3,分別代表熱門課程(聚類標識為1)、一般課程(聚類標識為2)、冷門課程(聚類標識為3),對清洗過后有效的數據進行聚類。
分析表1、表2的結果,可以得出以下結論:從課程的被選次數及被查詢次數來看,順應當前大數據時代的課程比較熱門,綜合了金融和IT 的課程相對熱門,可考慮增設此類相關課程。此處的數據分析只選取了信息工程方向相關課程,其他方向的課程可以用同樣方法進行聚類分析和挖掘。
2.2.2 學生聚類
首先,進行數據預處理。根據需要,從教學數據庫中選擇2018年信息工程方向的學生信息表、學生選課信息表,將兩張表進行關聯生成新表,再從新表中隨機各抽取100條記錄,從學生對資源訪問的次數、訪問持續的時間、發帖回帖的次數三個方面對記錄進行聚類分析得到表3,并根據分析結果來劃分學生類別。其次,進行數據清洗。清理掉異常的數據記錄和數據有缺失的記錄。最后,對統計結果進行聚類挖掘得到表4。本文設置聚類個數K值為3,分別代表活躍學生(聚類標識為1)、普遍學生(聚類標識為2)、消極學生(聚類標識為3),對清洗過后有效數據進行聚類。
2.2.3 個性化課程推薦及推薦結果評估
以信息工程方向的學生選課情況和查詢數據作為驗證,出現在選課和訪問查詢數據中的學生共1046條,這些學生中共有405人選修或查詢過推薦的課程,推薦成功率為38.72%。
3 結束語
在“以學生為中心”的教育背景下, 只有提高網絡教學平臺的智能性,才能更好地為各種學生群體提供有針對性的服務,真正達到因材施教的目的[6]。本文將數據挖掘技術中的Mini Batch K-Means聚類算法應用于個性化課程推薦服務,從根本上改變了網絡教學平臺的服務方式,學生從只能“大海撈針”式選課轉變為可根據個人需求及平臺提供的個性化推薦服務進行選課,提高了學生的滿意度和網絡資源的利用率,使網絡教學平臺更加規范化、個性化、智能化。由于選取數據的學校是財經類院校,可能對聚類結果有一定的影響,后期可以選取綜合性高校進行分析,提出更有效的改善網絡教學平臺的辦法。
參考文獻(References):
[1] Xu Rui. Survey of clustering algorithm[J].IEEE Tran on Neural Networks,2005.16(3):645-678
[2] 金陽,左萬利.一種基于動態近鄰選擇模型的聚類算法[J].計算機學報,2007.30(5):756-762
[3] 倪巍偉,陳耿,吳英杰.一種基于局部密度的分布式聚類挖掘算法[J].軟件學報,2008.19(9):2339-2348
[4] 潘小鳳.基于聚類算法的圖書館書目推薦服務[J].圖書館學刊,2013.11(12):109-111
[5] C.Romero,S.Ventura.Educational data mining:A survey from 1995to 2005[J].Expert Systems with Applications,2007.33:135-146
[6] 張勝.數據挖掘中聚類算法的研究[J].軟件導刊,2008.6(7):66-67