李慧芳 鐘新成 付曉麗
(長治學(xué)院計(jì)算機(jī)系,山西 長治 046011)
大學(xué)生健康安全成長是高等教育管理者所關(guān)注的重點(diǎn)工作。有些大學(xué)生因存在掛科、網(wǎng)貸、孤僻等異常行為成為學(xué)校的重點(diǎn)關(guān)注對(duì)象。如何及時(shí)發(fā)現(xiàn)學(xué)生群體中的學(xué)生異常行為并進(jìn)行心理疏導(dǎo)和關(guān)懷,已成為高校學(xué)生心理健康管理工作的一項(xiàng)重要任務(wù)。
目前,常見的異常行為檢測方法包括有監(jiān)督的異常檢測方法和無監(jiān)督的異常檢測方法。有監(jiān)督的檢測方法需要一個(gè)事先標(biāo)記好的訓(xùn)練集,從而達(dá)到訓(xùn)練分類器識(shí)別異常數(shù)據(jù)的目的。對(duì)于異常用戶特別稀少的情形,往往需要大量時(shí)間,尋找數(shù)據(jù)的效率較低。常采用支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)等建立檢測模型。無監(jiān)督的檢測方法不僅不需要提前標(biāo)記訓(xùn)練集,在新的異常數(shù)據(jù)類型出現(xiàn)后,該方法能夠更快更有效率地進(jìn)行檢測。常采用k-means、近鄰傳播等聚類方法對(duì)異常數(shù)據(jù)進(jìn)行檢測。這些算法通過對(duì)樣本按照相似性分為若干簇,使得屬于同一簇的樣本之間的距離盡可能小而不同簇間的個(gè)體間的距離盡可能大[1]。
密度峰值聚類算法于2014年在《Science》上發(fā)表,受到了廣大學(xué)者的關(guān)注[2-4]。目前,已有許多領(lǐng)域采用該算法檢測異常數(shù)據(jù)特點(diǎn)問題。文獻(xiàn)[5]通過優(yōu)化初始聚類中心,采用密度峰值聚類檢測算法改善電力大數(shù)據(jù)異常值的檢測復(fù)雜度。文獻(xiàn)[6]通過直方圖均衡化原理優(yōu)化類間距離,實(shí)現(xiàn)密度峰值聚類的短期光伏功率預(yù)測。文獻(xiàn)[7]通過密度峰值聚類算法對(duì)未知鏈路進(jìn)行分類,依據(jù)分類結(jié)果完成鏈路預(yù)測。文獻(xiàn)[8]提出一種基于網(wǎng)格的密度峰值聚類方法,該算法的基本思想是采用雙重網(wǎng)格劃分方式對(duì)雷達(dá)信號(hào)脈沖進(jìn)行實(shí)時(shí)聚類。實(shí)驗(yàn)結(jié)果表明,實(shí)時(shí)雷達(dá)分選聚類很好地處理了雷達(dá)信號(hào)的重疊嚴(yán)重問題。
本文將密度峰值聚類算法應(yīng)用于大學(xué)生異常群體預(yù)測,首先采用加權(quán)歐式距離應(yīng)用于樣本點(diǎn)間距離優(yōu)化,然后建立基于局部密度和高密度距離的決策圖,最后識(shí)別正常樣本點(diǎn)與異常樣本點(diǎn)。
密度峰值聚類算法屬于一種可以發(fā)現(xiàn)非凸簇類的無監(jiān)督學(xué)習(xí)算法,可以直觀地找到簇?cái)?shù)量,也很容易發(fā)現(xiàn)異常樣本點(diǎn)。該算法的簇中心具有兩個(gè)特點(diǎn):1)樣本點(diǎn)被相對(duì)密度較低的鄰居樣本點(diǎn)所包圍;2)樣本點(diǎn)與更高密度樣本點(diǎn)對(duì)象具有相對(duì)較大的距離。
為了便于深入分析大學(xué)生群體行為,假設(shè)學(xué)生樣本集X包括m個(gè)對(duì)象,每個(gè)數(shù)據(jù)對(duì)象有n個(gè)屬性特征,則X={x1,x2,x3,…,xm},xi=(xi1,xi2,…,xin)。
對(duì)樣本點(diǎn)xi的局部密度和高密度距離定義如下:(1)局部密度的定義:
其中i為第i個(gè)樣本點(diǎn),j為第j個(gè)樣本點(diǎn),dij為點(diǎn)xi和xj間的距離,參數(shù)d c為截?cái)嗑嚯x,φ(x)是分段函數(shù),當(dāng)dij (2)高密度距離的定義:大于自身局部密度的樣本點(diǎn)中,與離自身最近的樣本點(diǎn)之間的間距。對(duì)于任一點(diǎn)xi的高密度距離δi可表示為: 在密度峰值聚類中,距離度量方法會(huì)直接影響聚類算法的結(jié)果。常見的度量方法有歐式距離和馬氏距離。歐式距離又稱為歐幾里得距離,可以通過樣本之間的距離計(jì)算兩個(gè)樣本的相似度,距離越近就越相似[9]。在n維空間中,xi和xj間的歐式距離可表示為: 上述的歐式距離公式中樣本點(diǎn)在每個(gè)位置的屬性對(duì)樣本集的影響認(rèn)為是均等的,沒有考慮樣本各個(gè)維度之間的尺度不一致的問題,會(huì)導(dǎo)致判定結(jié)果產(chǎn)生誤差。本文提出的屬性加權(quán)距離度量方法直接作用到各個(gè)維度,將各個(gè)維度都滿足標(biāo)準(zhǔn)正態(tài)分布。兩個(gè)樣本點(diǎn)的加權(quán)歐式距離表示為: 其中Sk表示第k維度的標(biāo)準(zhǔn)差。 (1)簇類中心的識(shí)別 簇類中心是同時(shí)具備較大局部密度和較大高密度距離的樣本點(diǎn),可表示為: 由簇類中心的定義可知,當(dāng)樣本點(diǎn)i成為聚類中心點(diǎn)時(shí),其必然具有較大的密度ρ和距離δ,根據(jù)上述計(jì)算公式,此時(shí)樣本點(diǎn)也應(yīng)具有較大的γ值。該異常檢測算法以局部密度ρ為橫坐標(biāo)距離δ為縱坐標(biāo)進(jìn)行繪制據(jù)決策圖。圖1為28個(gè)樣本點(diǎn)的分布情況,圖2為依據(jù)局部密度和高密度距離都大的樣本點(diǎn)繪制的決策圖。從圖2可以看出樣本點(diǎn)1和樣本點(diǎn)具有較高的局部密度和高密度距離并可以選取為簇類中心。 (2)異常點(diǎn)的識(shí)別 為了識(shí)別異常點(diǎn)樣本,將屬于某一簇但是距離其他簇不超過d c的樣本點(diǎn)的集合定義為邊界區(qū)域,同時(shí)將邊界區(qū)域中局部密度最高的點(diǎn)定義為ρb。簇中局部密度等于或小于ρb的樣本點(diǎn)分離為異常點(diǎn)。 圖1 樣本點(diǎn)分布 圖2 決策圖 基于密度峰值距離算法的學(xué)生異常行為檢測的步驟如下: 輸入:高校學(xué)生數(shù)據(jù)樣本集X={x1,x2,x3,…,xm} 過程: Step1:計(jì)算任意兩樣本點(diǎn)之間的距離d ij,構(gòu)造相似度矩陣。 Step2:將矩陣前1%~2%的值作為截?cái)嗑嚯xdc。 Step3:根據(jù)公式計(jì)算數(shù)據(jù)樣本集中各個(gè)對(duì)象的局部密度和高密度距離。 Step4:生成有關(guān)的決策圖,標(biāo)識(shí)具有高局部密度和高密度距離的點(diǎn)為簇類中心。 Step5:將非簇類中心分配到最近的高密度簇。 Step6:將局部密度不超過邊界區(qū)密度的樣本點(diǎn)視為異常點(diǎn)。 表1 月平均樣本數(shù)據(jù)(部分) 表2 歸一化后的月平均樣本數(shù)據(jù)(部分) 輸出:輸出學(xué)生樣本集的聚類簇以及學(xué)生異常點(diǎn)樣本。 本文所用的驗(yàn)證數(shù)據(jù)集均為在長治學(xué)院智慧校園系統(tǒng)平臺(tái)上采集,將13個(gè)系部30個(gè)班級(jí)共1500名大學(xué)生作為觀察對(duì)象。采集數(shù)據(jù)分為消費(fèi)數(shù)據(jù)、出勤數(shù)據(jù)、教學(xué)數(shù)據(jù)、娛樂數(shù)據(jù)、圖書館借閱數(shù)據(jù)五大類。消費(fèi)數(shù)據(jù)包括學(xué)生食堂消費(fèi)金額、網(wǎng)購快遞次數(shù)。出勤數(shù)據(jù)包括學(xué)生運(yùn)動(dòng)出勤時(shí)間、公益活動(dòng)時(shí)間、社團(tuán)活動(dòng)參與時(shí)間、食堂寢室時(shí)間、圖書館進(jìn)出次數(shù)。教學(xué)數(shù)據(jù)包括課程作業(yè)完成情況、課堂參與度、早晚自習(xí)、課程成績。網(wǎng)絡(luò)娛樂數(shù)據(jù)包括網(wǎng)絡(luò)游戲、網(wǎng)絡(luò)追劇。圖書借閱數(shù)據(jù)包括借閱次數(shù)、借閱書籍類型。 樣本集的標(biāo)準(zhǔn)化對(duì)實(shí)驗(yàn)結(jié)果影響很大,因此在聚類前需要對(duì)樣本點(diǎn)進(jìn)行歸一化處理,使得每個(gè)樣本的屬性值轉(zhuǎn)換為[0,1]之間的數(shù)值。 樣本數(shù)據(jù)如表1所示。 歸一化處理后的樣本數(shù)據(jù)如表2所示。 為了驗(yàn)證算法的性能和效果,本文采用未加權(quán)的歐式距離密度峰值聚類算法和加權(quán)歐式距離的密度峰值聚類算法進(jìn)行比較,評(píng)價(jià)指標(biāo)包括檢測率和誤檢率。檢測率用來表示被正確檢測的異常學(xué)生個(gè)體占整個(gè)異常學(xué)生個(gè)體的比例。誤檢率用來表示正常學(xué)生個(gè)體被檢測為異常學(xué)生個(gè)體數(shù)占整個(gè)正常學(xué)生個(gè)體數(shù)的比例。實(shí)驗(yàn)結(jié)果如表3所示。 表3 各算法聚類檢測率和誤檢率比較 通過對(duì)有關(guān)班級(jí)輔導(dǎo)員和學(xué)生代表進(jìn)行詢問,實(shí)驗(yàn)結(jié)果篩選的部分學(xué)生異常個(gè)體符合對(duì)應(yīng)學(xué)生的日常生活和學(xué)習(xí)行為。部分學(xué)生異常個(gè)體如表4所示。 表4 部分異常個(gè)體 從表3可以分析得出,19***201和19***203兩位學(xué)生個(gè)體在校園活動(dòng)記錄較少,該生在圖書館進(jìn)出次數(shù)、運(yùn)動(dòng)次數(shù)都較少、校園消費(fèi)金額高、上網(wǎng)時(shí)間過長,該生可能存在不經(jīng)常參加校園活動(dòng)、作息不規(guī)律等行為,可將其認(rèn)定為異常學(xué)生個(gè)體。該生輔導(dǎo)員有必要對(duì)其學(xué)習(xí)和生活狀態(tài)進(jìn)行了解,并與其適當(dāng)進(jìn)行交流和督促。 本文從高校校園大數(shù)據(jù)入手,采用密度峰值聚類算法設(shè)計(jì)并實(shí)現(xiàn)了異常學(xué)生個(gè)體的檢測方法,并在聚類過程中選擇特征加權(quán)的距離度量方法。通過實(shí)驗(yàn)證明,本文采用的檢測算法能夠獲得較好的聚類效果和異常識(shí)別效果。本文的研究有助于高校管理者充分分析學(xué)生行為特點(diǎn),而且能夠更深層次地挖掘?qū)W生異常行為。在今后的工作中,會(huì)進(jìn)一步研究學(xué)生屬性之間的關(guān)聯(lián)對(duì)聚類結(jié)果的影響。2.2 特征加權(quán)的距離度量
2.3 簇類中心和異常點(diǎn)的識(shí)別
2.4 算法流程
3 實(shí)驗(yàn)與分析
3.1 實(shí)驗(yàn)數(shù)據(jù)及預(yù)處理
3.2 實(shí)驗(yàn)結(jié)果與分析
4 結(jié)語