鐘新成
(長治學院計算機系,山西長治046011)
近年來,高校大學生普遍出現(xiàn)了沉迷于網(wǎng)絡游戲、對前途感覺到迷茫、缺乏危機意識、厭學、上課睡覺玩手機等現(xiàn)象,很多學生因掛科數(shù)量太多而被勸退,虛度了自己的青春、辜負了父母的心血、浪費了社會資源。學情預警是現(xiàn)階段高校加強學風建設和教育教學質量的重要環(huán)節(jié)[1-2]。其目的是為了采取某種防范措施引導及督促學生學習,讓學生能順利的完成學業(yè)。針對學生在校求學過程中的不良記錄及厭學傾向,及時排查,及時提示,告知本人和家長長此以往可能導致的利害關系。由于目前的學情預警僅以不及格數(shù)量和上課出勤情況來決定是否需要預警的局限性,它只能挑選出明面上需要預警的學生,且具有滯后性,并不能起到防范于未然。在考慮到可能影響學業(yè)的主要因素下,擬采用機器學習中的樸素貝葉斯方法對學生進行分類。
樸素貝葉斯模型(Naive Bayesian Classifier,NBC)具有很好的健壯性和高效性,其模型簡單,即使屬性間有關聯(lián),它也能取得不錯的分類效果?,F(xiàn)今已廣泛應用于分類、聚類等數(shù)據(jù)挖掘領域。但由于其將所有屬性看做是獨立的,建模過程中會丟失很重要的數(shù)據(jù)信息,所以存在一定的局限性。目前,很多學者都致力于模型的改進,大致可分為兩類,一種是抓主要矛盾,放松屬性變量間獨立性的限制,考慮局部的相關性;一種是仍采用樸素貝葉斯的優(yōu)良模式,只是從不同角度進行加權,以達到改善分類的效果。鑒于加權模式的時間復雜度較低且具有良好的分類效果,將加權模式與樸素貝葉斯進行結合,給出了基于加權樸素貝葉斯的學情預警分類算法。
曾誰飛等[3]提出一種改進的樸素貝葉斯增量算法,該算法的基本思想是借助傳統(tǒng)類置信閾值去構建一個最小后驗概率來作為樣本選擇的雙閾值,一旦發(fā)現(xiàn)語料中有新的特征,便會將其加入特征空間,并對分類器做相應的更新。實驗結果表明,類置信閾值對原始增量算法起到了很好的補充作用,分類效果也較原始增量算法優(yōu)。石洪波等[4]提出一種限定性的雙層貝葉斯分類模型,該模型基于分類原則和貝葉斯定理,通過選擇關鍵屬性建立屬性間的依賴關系,并在數(shù)據(jù)集上取得了不錯的分類效果。王雙成等[5]針對連續(xù)樸素貝葉斯不能有效反應屬性間的條件依賴關系,而是依賴特別繁雜且難以實現(xiàn)的聯(lián)合密度估計,提出一種基于高斯核函數(shù)的連續(xù)屬性完全貝葉斯分類算法,結果表明,該算法能很好處理連續(xù)域的分類問題。張鵬等[6]給出一種基于數(shù)據(jù)處理和特征重構的樸素貝葉斯隱私保護算法,理論分析和實驗結果表明,基于ERRPH和TRR的隱私保護方法具有很好的隱私性、準確性和適用性。鄧維斌等[7]基于粗糙集信息觀為屬性計算加權系數(shù),該方法在英文垃圾郵件過濾中取得了良好的效果。張明衛(wèi)等[8]基于相關系數(shù)對屬性賦予權重,并將該方法在中醫(yī)小兒肺炎病例數(shù)據(jù)集上做了相關實驗研究和分析。陳克非等[9]直接對后驗概率中的每個條件概率按類別賦予不同的權值,改進后的樸素貝葉斯分類器取得了較好的分類能力。華銳等[10]直接將特征加權作用到每個條件概率上,一定程度上客服了屬性獨立性的不足,并將該方法對小樣本數(shù)據(jù)集進行了定量分析。
貝葉斯分類器屬于概率框架下的決策方法,同時它也是一種有監(jiān)督的學習算法,訓練集越完備,其預測效果就越好,泛化能力就會越強。它的基本思想是基于后驗概率p(Ci|X)去尋求樣本X分類為Ci所產生的期望損失最小。分類公式可寫為
由貝葉斯公式可以看出,類條件概率p(Ci|X)是所有屬性上的聯(lián)合概率,很難從有限的樣本中訓練估計得出。為避開這一問題,樸素貝葉斯假設各個屬性是相互獨立的。對于學生樣本X={A1,A2,...,An}的分類傾向C={C1,C2,...,Cm},得到貝葉斯預警分類公式
其中d為屬性數(shù)目,Aj為X在第 j個屬性上的取值,p(Ci)為預警類別i的先驗概率;p(X|Ci)為貝葉斯模型的后驗概率。對于分類而言,即比較式(2)的取值大小,由于分母相同(即 p(X)相同),只需比較分子,于是得到樸素貝葉斯分類器的表達式
可以看出,樸素貝葉斯分類器的基本思想是通過訓練集D來估計類先驗概率p(Ci),并為各屬性估計條件概率 p(Aj|Ci)。令DCi為訓練集中第Ci樣本組成的集合,如果有足夠多的獨立同分布樣本,便可估計出類先驗概率
若所研究的屬性是離散的,則條件概率p(Aj|Ci)可估計為
其中Dci,Aj表示DCi中在第 j個屬性上取值為Aj的樣本組成的集合。
由于某些屬性攜帶的信息可能會被訓練集中未出現(xiàn)的屬性值“抹去”,常用“拉普拉斯修正”來進行“平滑”處理
其中,N表示訓練集D中可能出現(xiàn)的類別數(shù),Nj表示第 j個屬性可能的取值數(shù)。
樸素貝葉斯是一種理想的概率模型,現(xiàn)實中很難做到各屬性相互獨立,因此該分類模型具有一定的局限性。本文提出的屬性加權算法直接作用到每個分解的條件概率 p(Aj|Ci)上,一定程度上克服了屬性獨立假設帶來的不足。
于是后驗概率p(Ci|X)可修改為:
經(jīng)拉普拉斯校準之后有:
此處,令α=1/p(X),對于分類而言,該值不需要計算。學生數(shù)據(jù)分為兩類,任意數(shù)據(jù)X有k個屬性,X=(A1,A2,...,Ak),Aj有qj個不同的取值。通過引入該系數(shù),樸素貝葉斯分類器的分類效果得到了明顯的改進。
將某高等院校6個系30個班級共1500名大二學生作為觀察對象。選擇大二學生的原因是可以根據(jù)他們大一和大二的掛科情況來做標記。主要采集以下幾類屬性數(shù)據(jù)以及預警類別:
X=(A1,A2,A3,A4,A5)
A1:是否沉迷于網(wǎng)絡游戲;
A2:上學期期末成績;
A3:是否為學生會、社團聯(lián)合會主力;
A4:有無晚自習習慣;
A5:本學期課程出勤情況,
C=(C1,C2)
C1:表示需要預警,
C2:表示不需要預警,
每種屬性的可能取值見表1。
表1 各屬性取值
根據(jù)大二上學期的學習情況,我們統(tǒng)計觀察到以下樣本數(shù)據(jù),并根據(jù)一學期掛科數(shù)標記為是否需要預警,若大于等于兩科則標記為是,否則標記為否。其中1200組用來進行模型訓練,300組數(shù)據(jù)用于模型測試,部分樣本標記信息見表2。
表2 對學生樣本進行分類并標記
根據(jù)式(10)可知,特征加權樸素貝葉斯分類器需要通過python編程統(tǒng)計的數(shù)據(jù)有N(Ci),N(D),qj,N(Aj=xj),N(Ci,Aj=xj),該算法可用圖1來描述。
圖1 特征加權樸素貝葉斯學情預警分類算法
實驗目標是對未加權的樸素貝葉斯、基于規(guī)則的方法以及基于平均距離進行聚類的方法進行比較,評價指標包括正確率和計算時間。實驗結果如表3所示。
表3 各算法分類準確率和計算時間比較
由實驗結果可以看出,加權樸素貝葉斯方法獲得了91.7%的正確率和2.3s的計算時間,而樸素貝葉斯方法獲得了88.3%的正確率和2.0s的計算時間,可見就正確率而言,加權樸素貝葉斯方法比普通的樸素貝葉斯方法更優(yōu),這是因為式(10)賦予了一個權重系數(shù)ωj,該系數(shù)體現(xiàn)了屬性Aj的某一取值在樣本中出現(xiàn)的概率,若概率越大,說明該屬性對模型的貢獻越大。而單純的樸素貝葉斯視各屬性為獨立的,在一定程度上忽略了屬性間的耦合情況,比如一般沉迷于網(wǎng)絡游戲的學生,很大程度上就會曠課,更別談晚自習了。就計算時間而言,兩者只有微小的區(qū)別。此外,基于規(guī)則的方法和基于平均距離聚類的方法的正確率都要低于加權樸素貝葉斯方法,但是基于規(guī)則的方法的運行時間更短,這是由于規(guī)則匹配的方法的時間復雜度較前兩者更低。
上述實驗建模屬性是5個,下面通過不同建模屬性數(shù)目來比較加權前后樸素貝葉斯的分類表現(xiàn)情況。在獲取數(shù)據(jù)時,我們還對三個比較重要屬性進行了調查和統(tǒng)計。分別是:A6:大學入學成績,A7:本學期是否談戀愛,A8:是否沉迷于網(wǎng)絡電視劇。特征加權前后的分類準確率如圖2所示。
圖2 FWNBC與NBC分類準確性比較
從圖2可以看出,當屬性數(shù)為5時,樸素貝葉斯和特征加權樸素貝葉斯的分類效果同時達到最佳。當屬性數(shù)較少時,樸素貝葉斯和加權樸素貝葉斯的分類效果差不多,當屬性數(shù)目為3~6時,特征加權樸素貝葉斯的分類效果明顯好于樸素貝葉斯,當屬性數(shù)目大于6時樸素貝葉斯的分類效果反而比特征加權樸素貝葉斯好,一種可能的原因是由于訓練樣本集太小,導致分類更傾向于正例,分類效果反而更低了。另一種可能是隨著屬性數(shù)目的增加,屬性間的關聯(lián)耦合加強,該模型沒能很好的反應屬性間的關聯(lián)關系,從而導致分類準確率降低。
基于加權樸素貝葉斯方法設計并實現(xiàn)了對學情預警的分類,并和樸素貝葉斯、基于規(guī)則的方法以及基于平均距離聚類的方法進行了比較,由于對公式中的每個條件概率賦予了一個權重系數(shù),該系數(shù)的大小體現(xiàn)了某一屬性的重要性,所以分類準確率較后三者要高。高校教務處或專職輔導員可以利用該分類算法提前對所管理的班級學生進行預警,將問題學生扼制在萌芽狀態(tài)。但是本文所涉及的特征加權樸素貝葉斯方法沒有考慮屬性間的關聯(lián)關系,隨著屬性數(shù)目的增加,可能導致分類準確率降低的情況,具有一定的局限性。計算時間也較基于規(guī)則的方法長,這對于大數(shù)據(jù)分析是至關重要的,所以下一步的研究方向將是如何和其他機器學習方法進行融合,考慮部分重點屬性間的關聯(lián)性,在保證準確率的前提下縮短計算時間。