摘 要:本文結合對原始樸素貝葉斯分類器原理的分析,論述智能助理軟件的設計過程中,所需推薦算法與其之間存在的差異性。并針對在校園收集和整合信息的特點和所需推薦方式,對原始樸素貝葉斯文本分類器算法加以修改。將得到的校園信息智能推薦算法實現在智能助理軟件中。經測試,算法具有較好的準確性。
關鍵詞:樸素貝葉斯分類器;校園信息提示;智能推薦算法
中圖分類號:TP181 文獻標識碼:A
1 引言(Introduction)
隨著知識社會的到來及“互聯網+”行動計劃的制定,互聯網上的海量數據逐漸被有效地收集和整合。國內的一些互聯網企業在針對用戶的個性化服務上進行了探索,如豆瓣網提供了推薦書籍、音樂等服務,百度旅游在假期提供推薦旅游路線,自動匹配低價機票和酒店等服務。這些創新取得了很好的效果,大大提高了企業的競爭力。目前的智能個人助理軟件都沒有針對特定群體進行優化,而是面向所有用戶進行開發。這樣的軟件涉及的信息過于分散,缺乏解決實際問題的能力。此外,由于樸素貝葉斯方法在預測和分類中被廣泛應用,如在預測項目交付率[1]、互聯網流量分類[2]、云檢測和估計算法[3]等。因此本文提出了針對校園實時信息進行推薦的基于樸素貝葉斯方法的智能推薦算法研究。
2 樸素貝葉斯分類器(Naive Bayes classifier)
2.1 樸素貝葉斯分類器概述
貝葉斯學習方法中的樸素貝葉斯學習器,常被稱為樸素貝葉斯分類器。在某些領域其性能可與神經網絡和決策樹學習能力相當[4]。分類問題一直是機器學習、模式分類和數據挖掘的核心問題[5]。
貝葉斯方法的新實例分類目標是在給定描述實例的屬性值
其中,VNB表示樸素貝葉斯分類器輸出的目標值。
2.2 樸素貝葉斯分類器分析
假設給定了如下表1所示的訓練樣本數據,學習的目標是根據給定天氣的結果判斷是否打網球。
樣本數據集提供了14個訓練樣本,使用此表的數據,并以樸素貝葉斯分類器來分類下面的新實例:(Outlook=sunny,Temperature=cool,Humidity=high,Wind=strong)對于新實例預測目PlayTennis的目標值(Yes或No),由上面的公式可以得到:
其他數據同理代入后得到:
故應分類到no中。
3 校園信息智能推薦算法(Campus recommendation
algorithm)
3.1 算法說明
與上述例子有所區別,在校園信息智能推薦算法中,所面對情況中的新實例的屬性值范圍不是僅限于數據庫中記錄,而是所有可能的輸入值。在新實例中可能存在記錄中沒有涉及到的屬性值。算法需要根據新實例與數據記錄的匹配程度推測新實例的目標值,將其所對應關鍵字返回,將新實例記錄于數據庫中,以此來達到對新實例學習的目的。
給定了如表2所示的訓練樣本數據,學習的目標是以當前的時間節點為條件,根據用戶歷史查詢記錄,推測客戶當前可能最需要獲取的信息,即返回通過算法計算得出的概率值最大的記錄所對應的關鍵字(時間僅以上下午進行分類)。
3.2 算法的過程
如圖1程序框圖所示,通過二層循環依次計算每條記錄與其他記錄匹配程度的概率值并保存概率最高的一組記錄。最后,將保存的記錄關鍵字返回。算法包含二層循環,時間復雜度為O(n2)。
3.3 算法測試
算法測試所采用的數據庫為MySQL,通過Android客戶端在特定時間進行相應內容的查詢,由Java Web端的Servlet將數據記錄在服務器中,即生成如圖2所示的數據表。
當數據庫完成對基礎數據的收集后,用戶再通過客戶端要求推薦信息時,算法會根據以上信息進行計算,分析數據表記錄。將得出關鍵字返回,查詢相應關鍵字,得到所需信息,結果和表2計算結果一致,如圖3所示。
4 結論(Conclusion)
本文闡述了原始樸素貝葉斯分類器的基本原理,給出了對其進行變換后的形式化定義。在此基礎上,進一步對基于此理論的校園信息智能推薦算法進行描述,給出了算法的過程、時間復雜度,并將算法實際應用于基于JavaWeb服務器的項目中,得到測試結果。測試結果與計算結果一致,達到了預期目的,能夠返回所期望數據。
參考文獻(References)
[1] Stewart,B.Predicting Project Delivery Rates Using the Naive-Bayes Classifier[J].Journal of Software Maintenance and Evolution Research and Practice,2002,14(3):161-79.
[2] Jun Zhang,Chao Chen.Internet Traffic Classification by Aggregating Correlated Naive Bayes Predictions[J].IEEE Transactions on Information Forensics and Security,2013,8(1):5-15.
[3] Islam,T.CLOUDET:a Cloud Detection and Estimation Algorithm for Passive Microwave Imagers and Sounders Aided by NaiveBayes Classifier and Multilayer Perceptron[J].IEEE Journal of Selected Topics In Applied Earth Observations And Remote Sensing,2015,8(9):296-301.
[4] Tom M.Mitchell.Machine Learning[M].The McGraw-Hill Companies,Inc.1997.
[5] LI Xu-Sheng,GU0 Yao-Huang.Extended Tree Augmented Naive Bayesian Classifier[J].Pattern Recognition and Artificial Intelligence,2006,19(4):470-474.
[6] Zhong Hong-rui,Zhang Yong,Yu Jing-wen.Data Classification On Naive Bayes In Cloud Computing Environment[J].Computer Applications and Software,2005,32(3):28-30.
[7] Yazdami,M.Artificial intelligence:Principles and Applications[M].Chapman and Hall,Ltd.,New York,NY,1995(1):1.
[8] Langley P,Iba W,Thompson K.An Analysis of Bayesian Classifiers[J].In:Proc of the 10th National Conference on Artificial Intelligence.San Jose,USA;AAAI Press,1992:223-228.
[9] Thomas G.Dietterieh.Ensemble Methods in Machine Learning
[C]. Lecture Notes in Computer Science,2000.
[10] Phinecos.Text Classification Algorithm Based on Naive Bayes Classifier(http://phinecos.cnblogs.com/2008,10,21).
作者簡介:
賈志鵬(1994-),男,本科生.研究領域:機器學習.