韓魯峰
摘 ?要: 針對(duì)傳統(tǒng)的網(wǎng)絡(luò)教學(xué)平臺(tái)選課過(guò)程中缺乏個(gè)性化推薦的缺點(diǎn),提出一種基于Mini Batch K-Means算法的課程推薦聚類分析方法,該方法通過(guò)對(duì)網(wǎng)絡(luò)教學(xué)平臺(tái)中的課程及學(xué)生分別進(jìn)行聚類分析來(lái)實(shí)現(xiàn)個(gè)性化研究。與標(biāo)準(zhǔn)的K-Means算法相比,Mini Batch K-Means算法選取小批量的數(shù)據(jù)子集,從而加快了計(jì)算速度, 減少了k均值的收斂時(shí)間。文章通過(guò)一個(gè)實(shí)例說(shuō)明了該方法在面對(duì)海量的網(wǎng)絡(luò)數(shù)據(jù)時(shí),能夠更高效地實(shí)現(xiàn)選課過(guò)程中的課程個(gè)性化推薦。
關(guān)鍵詞: 數(shù)據(jù)挖掘; K-Means; 個(gè)性化; 教學(xué)平臺(tái)
中圖分類號(hào):TP399 ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A ? ?文章編號(hào):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 引言
隨著互聯(lián)網(wǎng)與教育事業(yè)的日益融合及發(fā)展,網(wǎng)絡(luò)化教學(xué)已經(jīng)成為當(dāng)今教育發(fā)展新的生長(zhǎng)點(diǎn)和現(xiàn)代教育技術(shù)主流的發(fā)展方向。當(dāng)前的網(wǎng)絡(luò)教學(xué)還普遍存在教學(xué)模式單一、教學(xué)資源簡(jiǎn)單累積、智能化程度低等問(wèn)題,而使用教學(xué)平臺(tái)的學(xué)生學(xué)習(xí)能力、個(gè)人興趣、學(xué)習(xí)基礎(chǔ),都存在著巨大的差異[1]。由此帶來(lái)的是網(wǎng)絡(luò)教學(xué)平臺(tái)不能適應(yīng)學(xué)習(xí)者個(gè)性化需求的矛盾。
為了解決上述矛盾,本文將數(shù)據(jù)挖掘技術(shù)應(yīng)用于高校的教育教學(xué), 開(kāi)發(fā)個(gè)性化的網(wǎng)絡(luò)教學(xué)平臺(tái),針對(duì)不同學(xué)生的學(xué)習(xí)需求以及學(xué)習(xí)風(fēng)格對(duì)學(xué)生進(jìn)行個(gè)性化推薦,從而有效的提高教學(xué)質(zhì)量。
1 數(shù)據(jù)挖掘
1.1 數(shù)據(jù)挖掘概念
數(shù)據(jù)挖掘是數(shù)據(jù)庫(kù)知識(shí)發(fā)現(xiàn)過(guò)程中的一個(gè)步驟[2]。WEB數(shù)據(jù)挖掘大致分為三類:內(nèi)容挖掘、結(jié)構(gòu)挖掘、用戶使用記錄挖掘。將Web數(shù)據(jù)挖掘應(yīng)用于網(wǎng)絡(luò)教學(xué)平臺(tái),對(duì)教學(xué)數(shù)據(jù)庫(kù)中的大量數(shù)據(jù)進(jìn)行抽取、轉(zhuǎn)換、分析和模型化處理,使網(wǎng)絡(luò)教學(xué)平臺(tái)更加規(guī)范化、個(gè)性化、智能化。以此幫助我們?cè)诮逃虒W(xué),課程制定和創(chuàng)新型人才的培養(yǎng)等方面進(jìn)行有效的決策[3]。
1.2 聚類算法
最早的聚類思想出現(xiàn)在我國(guó)的《戰(zhàn)國(guó)策 齊策三》中,即“物以類聚,人以群分”。聚類是將數(shù)據(jù)劃分為若干組的過(guò)程,并使得同一個(gè)組內(nèi)的數(shù)據(jù)對(duì)象之間相似度越高越好,而不同組中的數(shù)據(jù)對(duì)象之間相似度越低越好[4]。
根據(jù)聚類算法所采用的基本思想,可以將聚類算法分為以下四類:層次聚類算法、分割聚類算法、基于約束的聚類算法、機(jī)器學(xué)習(xí)中的聚類算法。本文采用的Mini Batch K-Means算法是K-Means算法的改進(jìn)版,K-Means算法是分割聚類算法的一種,是解決聚類問(wèn)題的一種經(jīng)典方法。Mini Batch K-Means算法在求解穩(wěn)定的聚類中心時(shí),每次隨機(jī)抽取一批數(shù)據(jù),然后進(jìn)行K-Means計(jì)算,直至中心點(diǎn)穩(wěn)定之后,再將所有的數(shù)據(jù)依據(jù)這些中心點(diǎn)進(jìn)行分類,從而達(dá)到和K-Means一樣的效果,同時(shí)又大大的減少了計(jì)算量。
1.3 K-means算法的原理
K-means算法是最常用的聚類算法,整個(gè)聚類過(guò)程如圖1所示,假如我們?cè)谧鴺?biāo)軸中存在A,B,C,D,E五個(gè)點(diǎn),然后我們初始化兩個(gè)中心點(diǎn),也就是將五個(gè)點(diǎn)分成兩個(gè)類。采用歐式距離計(jì)算距離,把每個(gè)點(diǎn)分到離其最近的中心點(diǎn)所代表的類中。所有點(diǎn)分配完畢后,根據(jù)一個(gè)類內(nèi)的所有點(diǎn)重新計(jì)算該類中的中心點(diǎn)。然后迭代分配點(diǎn)和更新中心點(diǎn)的步驟,直至中心點(diǎn)的變化很小或達(dá)到指定的迭代次數(shù)[5]。
2 聚類算法在個(gè)性化網(wǎng)絡(luò)教學(xué)平臺(tái)的應(yīng)用
信息技術(shù)和教學(xué)技術(shù)的發(fā)展,促進(jìn)了網(wǎng)絡(luò)教學(xué)平臺(tái)的誕生,目前國(guó)內(nèi)的網(wǎng)絡(luò)教學(xué)平臺(tái)只實(shí)現(xiàn)了網(wǎng)絡(luò)資源的共享以及學(xué)生學(xué)習(xí)時(shí)間和空間的靈活性,個(gè)性化教學(xué)環(huán)節(jié)還很薄弱。個(gè)性化推薦的實(shí)質(zhì)是將學(xué)生信息與系統(tǒng)中的模型進(jìn)行匹配,尋找具有相同或相近興趣的學(xué)生,然后相互推薦瀏覽過(guò)的信息。個(gè)性化推薦服務(wù)已經(jīng)應(yīng)用于很多領(lǐng)域,并取得了驚人的效果。將個(gè)性化推薦服務(wù)應(yīng)用于網(wǎng)絡(luò)教學(xué)平臺(tái)能夠有效解決學(xué)生面對(duì)海量資源“迷航”的情況,由此減少學(xué)生尋找資源所需的時(shí)間,從而提高學(xué)習(xí)效率。
2.1 聚類算法設(shè)計(jì)
本文選用Mini Batch K-Means算法進(jìn)行個(gè)性化選課推薦。
2.1.1 算法用到的公式
假定給定數(shù)據(jù)樣本X,包含了n個(gè)對(duì)象X={X1,X2,X3,…,Xn}。其中每個(gè)對(duì)象都具有m個(gè)維度的屬性。K-means算法的目標(biāo)是將n個(gè)對(duì)象根據(jù)對(duì)象間的相似性聚集到指定的k個(gè)類簇中,每個(gè)對(duì)象屬于且僅屬于一個(gè)其到類簇中心距離最小的類簇中。
2.1.2 算法的主要過(guò)程
算法:改進(jìn)的K-means算法(Mini Batch K-Means算法)
輸入:包含n個(gè)學(xué)生對(duì)象,m條課程對(duì)象,聚類個(gè)數(shù)k1=k2=3
輸出:k個(gè)聚類及其中心
主要步驟:
⑴ 隨機(jī)抽取100個(gè)有效樣本;
⑵ 初始化k個(gè)聚類中心;
⑶ 計(jì)算出每個(gè)對(duì)象到這k個(gè)中心的距離,如果Xi(1≤i≤n,1≤i≤m)這個(gè)對(duì)象跟kj(1≤j≤3)這個(gè)中心的距離最小,那么Xi屬于kj這個(gè)中心。這樣即可得到初步的k個(gè)聚類及聚類中心;
⑷ 根據(jù)第二步得到的每個(gè)聚類分別計(jì)算新的聚類中心,和第二步得到的聚類中心對(duì)比,如果不同,則繼續(xù)第二步,如果相同,則繼續(xù)第一步,直到聚類中心變化不大。
⑸ 將所有的樣本根據(jù)中心點(diǎn)進(jìn)行分類。
2.2 個(gè)性化課程推薦的數(shù)據(jù)挖掘?qū)崿F(xiàn)過(guò)程
個(gè)性化推薦服務(wù)可以根據(jù)學(xué)生的個(gè)人基本信息、已選的課程、查詢的課程、活躍度等,制定課程推薦策略。本文使用Mini Batch K-Means聚類算法對(duì)課程和學(xué)生分別進(jìn)行聚類并做進(jìn)一步的數(shù)據(jù)挖掘與分析。
2.2.1 課程聚類
根據(jù)課程的部分屬性進(jìn)行聚類分析,用以得到課程的熱門(mén)程度。首先,進(jìn)行數(shù)據(jù)預(yù)處理。根據(jù)需要,從教學(xué)數(shù)據(jù)庫(kù)中選擇2018年信息工程方向的課程信息表、學(xué)生選課信息表,將兩張表進(jìn)行關(guān)聯(lián)生成新表,再?gòu)男卤碇须S機(jī)各抽取100條記錄,從課程年度被選修的次數(shù)、課程年度被查詢的次數(shù)、課程年度評(píng)價(jià)得分三個(gè)角度對(duì)記錄進(jìn)行聚類分析得到表1,根據(jù)分析結(jié)果來(lái)劃分課程的熱門(mén)程度。其次,進(jìn)行數(shù)據(jù)清洗。刪除掉異常數(shù)據(jù)記錄或是數(shù)據(jù)有缺的記錄。最后,對(duì)統(tǒng)計(jì)結(jié)果進(jìn)行聚類挖掘得到表2。本文設(shè)置聚類個(gè)數(shù)K值為3,分別代表熱門(mén)課程(聚類標(biāo)識(shí)為1)、一般課程(聚類標(biāo)識(shí)為2)、冷門(mén)課程(聚類標(biāo)識(shí)為3),對(duì)清洗過(guò)后有效的數(shù)據(jù)進(jìn)行聚類。
分析表1、表2的結(jié)果,可以得出以下結(jié)論:從課程的被選次數(shù)及被查詢次數(shù)來(lái)看,順應(yīng)當(dāng)前大數(shù)據(jù)時(shí)代的課程比較熱門(mén),綜合了金融和IT 的課程相對(duì)熱門(mén),可考慮增設(shè)此類相關(guān)課程。此處的數(shù)據(jù)分析只選取了信息工程方向相關(guān)課程,其他方向的課程可以用同樣方法進(jìn)行聚類分析和挖掘。
2.2.2 學(xué)生聚類
首先,進(jìn)行數(shù)據(jù)預(yù)處理。根據(jù)需要,從教學(xué)數(shù)據(jù)庫(kù)中選擇2018年信息工程方向的學(xué)生信息表、學(xué)生選課信息表,將兩張表進(jìn)行關(guān)聯(lián)生成新表,再?gòu)男卤碇须S機(jī)各抽取100條記錄,從學(xué)生對(duì)資源訪問(wèn)的次數(shù)、訪問(wèn)持續(xù)的時(shí)間、發(fā)帖回帖的次數(shù)三個(gè)方面對(duì)記錄進(jìn)行聚類分析得到表3,并根據(jù)分析結(jié)果來(lái)劃分學(xué)生類別。其次,進(jìn)行數(shù)據(jù)清洗。清理掉異常的數(shù)據(jù)記錄和數(shù)據(jù)有缺失的記錄。最后,對(duì)統(tǒng)計(jì)結(jié)果進(jìn)行聚類挖掘得到表4。本文設(shè)置聚類個(gè)數(shù)K值為3,分別代表活躍學(xué)生(聚類標(biāo)識(shí)為1)、普遍學(xué)生(聚類標(biāo)識(shí)為2)、消極學(xué)生(聚類標(biāo)識(shí)為3),對(duì)清洗過(guò)后有效數(shù)據(jù)進(jìn)行聚類。
2.2.3 個(gè)性化課程推薦及推薦結(jié)果評(píng)估
以信息工程方向的學(xué)生選課情況和查詢數(shù)據(jù)作為驗(yàn)證,出現(xiàn)在選課和訪問(wèn)查詢數(shù)據(jù)中的學(xué)生共1046條,這些學(xué)生中共有405人選修或查詢過(guò)推薦的課程,推薦成功率為38.72%。
3 結(jié)束語(yǔ)
在“以學(xué)生為中心”的教育背景下, 只有提高網(wǎng)絡(luò)教學(xué)平臺(tái)的智能性,才能更好地為各種學(xué)生群體提供有針對(duì)性的服務(wù),真正達(dá)到因材施教的目的[6]。本文將數(shù)據(jù)挖掘技術(shù)中的Mini Batch K-Means聚類算法應(yīng)用于個(gè)性化課程推薦服務(wù),從根本上改變了網(wǎng)絡(luò)教學(xué)平臺(tái)的服務(wù)方式,學(xué)生從只能“大海撈針”式選課轉(zhuǎn)變?yōu)榭筛鶕?jù)個(gè)人需求及平臺(tái)提供的個(gè)性化推薦服務(wù)進(jìn)行選課,提高了學(xué)生的滿意度和網(wǎng)絡(luò)資源的利用率,使網(wǎng)絡(luò)教學(xué)平臺(tái)更加規(guī)范化、個(gè)性化、智能化。由于選取數(shù)據(jù)的學(xué)校是財(cái)經(jīng)類院校,可能對(duì)聚類結(jié)果有一定的影響,后期可以選取綜合性高校進(jìn)行分析,提出更有效的改善網(wǎng)絡(luò)教學(xué)平臺(tái)的辦法。
參考文獻(xiàn)(References):
[1] Xu Rui. Survey of clustering algorithm[J].IEEE Tran on Neural Networks,2005.16(3):645-678
[2] 金陽(yáng),左萬(wàn)利.一種基于動(dòng)態(tài)近鄰選擇模型的聚類算法[J].計(jì)算機(jī)學(xué)報(bào),2007.30(5):756-762
[3] 倪巍偉,陳耿,吳英杰.一種基于局部密度的分布式聚類挖掘算法[J].軟件學(xué)報(bào),2008.19(9):2339-2348
[4] 潘小鳳.基于聚類算法的圖書(shū)館書(shū)目推薦服務(wù)[J].圖書(shū)館學(xué)刊,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] 張勝.數(shù)據(jù)挖掘中聚類算法的研究[J].軟件導(dǎo)刊,2008.6(7):66-67