主要有以下7個(gè)步驟:
1. 收集大量的垃圾郵件和非垃圾郵件,建立垃圾郵件集和非垃圾郵件集。
2. 提取郵件主題和郵件體中的獨立字符串,例如 ABC32,¥234等作為T(mén)OKEN串并統計提取出的TOKEN串出現的次數即字頻。按照上述的方法分別處理垃圾郵件集和非垃圾郵件集中的所有郵件。
3. 每一個(gè)郵件集對應一個(gè)哈希表,hashtable_good對應非垃圾郵件集而hashtable_bad對應垃圾郵件集。表中存儲TOKEN串到字頻的映射關(guān)系。
4. 計算每個(gè)哈希表中TOKEN串出現的概率P=(某TOKEN串的字頻)/(對應哈希表的長(cháng)度)。
5. 綜合考慮hashtable_good和hashtable_bad,推斷出當新來(lái)的郵件中出現某個(gè)TOKEN串時(shí),該新郵件為垃圾郵件的概率。數學(xué)表達式為:
A 事件 ---- 郵件為垃圾郵件;
t1,t2 …….tn 代表 TOKEN 串
則 P ( A|ti )表示在郵件中出現 TOKEN 串 ti 時(shí),該郵件為垃圾郵件的概率。
設
P1 ( ti ) = ( ti 在 hashtable_good 中的值)
P2 ( ti ) = ( ti 在 hashtable_ bad 中的值)
則 P ( A|ti ) =P2 ( ti ) /[ ( P1 ( ti ) +P2 ( ti ) ] ;
6. 建立新的哈希表hashtable_probability存儲TOKEN串ti到P(A|ti)的映射
7. 至此,垃圾郵件集和非垃圾郵件集的學(xué)習過(guò)程結束。根據建立的哈希表 hashtable_probability可以估計一封新到的郵件為垃圾郵件的可能性。
當新到一封郵件時(shí),按照步驟2,生成TOKEN串。查詢(xún)hashtable_probability得到該TOKEN 串的鍵值。
假設由該郵件共得到N個(gè)TOKEN 串,t1,t2…….tn,hashtable_probability中對應的值為 P1 , P2 , ……PN , P(A|t1 ,t2, t3……tn) 表示在郵件中同時(shí)出現多個(gè)TOKEN串t1,t2……tn時(shí),該郵件為垃圾郵件的概率。
由復合概率公式可得
P(A|t1 ,t2, t3……tn)=(P1*P2*……PN)/[P1*P2*……PN+(1-P1)*(1-P2)*……(1-PN)]
當 P(A|t1 ,t2, t3……tn) 超過(guò)預定閾值時(shí),就可以判斷郵件為垃圾郵件。
樸素貝葉斯分類(lèi)器是一種應用基于獨立假設的貝葉斯定理的簡(jiǎn)單概率分類(lèi)器,之所以成為樸素,應該是Naive的直譯,意思為簡(jiǎn)單,樸素,天真。
1、貝葉斯方法 貝葉斯方法是以貝葉斯原理為基礎,使用概率統計的知識對樣本數據集進(jìn)行分類(lèi)。由于其有著(zhù)堅實(shí)的數學(xué)基礎,貝葉斯分類(lèi)算法的誤判率是很低的。
貝葉斯方法的特點(diǎn)是結合先驗概率和后驗概率,即避免了只使用先驗概率的主觀(guān)偏見(jiàn),也避免了單獨使用樣本信息的過(guò)擬合現象。貝葉斯分類(lèi)算法在數據集較大的情況下表現出較高的準確率,同時(shí)算法本身也比較簡(jiǎn)單。
2、樸素貝葉斯算法 樸素貝葉斯算法(Naive Bayesian algorithm) 是應用最為廣泛的分類(lèi)算法之一。 樸素貝葉斯方法是在貝葉斯算法的基礎上進(jìn)行了相應的簡(jiǎn)化,即假定給定目標值時(shí)屬性之間相互條件獨立。
也就是說(shuō)沒(méi)有哪個(gè)屬性變量對于決策結果來(lái)說(shuō)占有著(zhù)較大的比重,也沒(méi)有哪個(gè)屬性變量對于決策結果占有著(zhù)較小的比重。 雖然這個(gè)簡(jiǎn)化方式在一定程度上降低了貝葉斯分類(lèi)算法的分類(lèi)效果,但是在實(shí)際的應用場(chǎng)景中,極大地簡(jiǎn)化了貝葉斯方法的復雜性。
擴展資料 研究意義 人們根據不確定性信息作出推理和決策需要對各種結論的概率作出估計,這類(lèi)推理稱(chēng)為概率推理。概率推理既是概率學(xué)和邏輯學(xué)的研究對象,也是心理學(xué)的研究對象,但研究的角度是不同的。
概率學(xué)和邏輯學(xué)研究的是客觀(guān)概率推算的公式或規則。 而心理學(xué)研究人們主觀(guān)概率估計的認知加工過(guò)程規律。
貝葉斯推理的問(wèn)題是條件概率推理問(wèn)題,這一領(lǐng)域的探討對揭示人們對概率信息的認知加工過(guò)程與規律、指導人們進(jìn)行有效的學(xué)習和判斷決策都具有十分重要的理論意義和實(shí)踐意義。
為了測試評估貝葉斯分類(lèi)器的性能,用不同數據集進(jìn)行對比實(shí)驗是必不可少的. 現有的貝葉斯網(wǎng)絡(luò )實(shí)驗軟件包都是針對特定目的設計的,不能滿(mǎn)足不同研究的需要. 介紹了用Matlab在BNT軟件包基礎上建構的貝葉斯分類(lèi)器實(shí)驗平臺MBNC,闡述了MBNC的系統結構和主要功能,以及在MBNC上建立的樸素貝葉斯分類(lèi)器NBC,基于互信息和條件互信息測度的樹(shù)擴展的貝葉斯分類(lèi)器TANC,基于K2算法和GS算法的貝葉斯網(wǎng)絡(luò )分類(lèi)器BNC. 用來(lái)自UCI的標準數據集對MBNC進(jìn)行測試,實(shí)驗結果表明基于MBNC所建構的貝葉斯分類(lèi)器的性能優(yōu)于國外同類(lèi)工作的結果,編程量大大小于使用同類(lèi)的實(shí)驗軟件包,所建立的MBNC實(shí)驗平臺工作正確、有效、穩定. 在MBNC上已經(jīng)進(jìn)行貝葉斯分類(lèi)器的優(yōu)化和改進(jìn)實(shí)驗,以及處理缺失數據等研究工作。
為了測試評估貝葉斯分類(lèi)器的性能,用不同數據集進(jìn)行對比實(shí)驗是必不可少的. 現有的貝葉斯網(wǎng)絡(luò )實(shí)驗軟件包都是針對特定目的設計的,不能滿(mǎn)足不同研究的需要. 介紹了用Matlab在BNT軟件包基礎上建構的貝葉斯分類(lèi)器實(shí)驗平臺MBNC,闡述了MBNC的系統結構和主要功能,以及在MBNC上建立的樸素貝葉斯分類(lèi)器NBC,基于互信息和條件互信息測度的樹(shù)擴展的貝葉斯分類(lèi)器TANC,基于K2算法和GS算法的貝葉斯網(wǎng)絡(luò )分類(lèi)器BNC. 用來(lái)自UCI的標準數據集對MBNC進(jìn)行測試,實(shí)驗結果表明基于MBNC所建構的貝葉斯分類(lèi)器的性能優(yōu)于國外同類(lèi)工作的結果,編程量大大小于使用同類(lèi)的實(shí)驗軟件包,所建立的MBNC實(shí)驗平臺工作正確、有效、穩定. 在MBNC上已經(jīng)進(jìn)行貝葉斯分類(lèi)器的優(yōu)化和改進(jìn)實(shí)驗,以及處理缺失數據等研究工作。
為了測試評估貝葉斯分類(lèi)器的性能,用不同數據集進(jìn)行對比實(shí)驗是必不可少的. 現有的貝葉斯網(wǎng)絡(luò )實(shí)驗軟件包都是針對特定目的設計的,不能滿(mǎn)足不同研究的需要. 介紹了用Matlab在BNT軟件包基礎上建構的貝葉斯分類(lèi)器實(shí)驗平臺MBNC,闡述了MBNC的系統結構和主要功能,以及在MBNC上建立的樸素貝葉斯分類(lèi)器NBC,基于互信息和條件互信息測度的樹(shù)擴展的貝葉斯分類(lèi)器TANC,基于K2算法和GS算法的貝葉斯網(wǎng)絡(luò )分類(lèi)器BNC. 用來(lái)自UCI的標準數據集對MBNC進(jìn)行測試,實(shí)驗結果表明基于MBNC所建構的貝葉斯分類(lèi)器的性能優(yōu)于國外同類(lèi)工作的結果,編程量大大小于使用同類(lèi)的實(shí)驗軟件包,所建立的MBNC實(shí)驗平臺工作正確、有效、穩定. 在MBNC上已經(jīng)進(jìn)行貝葉斯分類(lèi)器的優(yōu)化和改進(jìn)實(shí)驗,以及處理缺失數據等研究工作.。
和決策樹(shù)模型相比,樸素貝葉斯分類(lèi)器(Naive Bayes Classifier,或 NBC)發(fā)源于古典數學(xué)理論,有著(zhù)堅實(shí)的數學(xué)基礎,以及穩定的分類(lèi)效率。同時(shí),NBC模型所需估計的參數很少,對缺失數據不太敏感,算法也比較簡(jiǎn)單。理論上,NBC模型與其他分類(lèi)方法相比具有最小的誤差率。但是實(shí)際上并非總是如此,這是因為NBC模型假設屬性之間相互獨立,這個(gè)假設在實(shí)際應用中往往是不成立的,這給NBC模型的正確分類(lèi)帶來(lái)了一定影響。
解決這個(gè)問(wèn)題的方法一般是建立一個(gè)屬性模型,對于不相互獨立的屬性,把他們單獨處理。例如中文文本分類(lèi)識別的時(shí)候,我們可以建立一個(gè)字典來(lái)處理一些詞組。如果發(fā)現特定的問(wèn)題中存在特殊的模式屬性,那么就單獨處理。
這樣做也符合貝葉斯概率原理,因為我們把一個(gè)詞組看作一個(gè)單獨的模式,例如英文文本處理一些長(cháng)度不等的單詞,也都作為單獨獨立的模式進(jìn)行處理,這是自然語(yǔ)言與其他分類(lèi)識別問(wèn)題的不同點(diǎn)。
實(shí)際計算先驗概率時(shí)候,因為這些模式都是作為概率被程序計算,而不是自然語(yǔ)言被人來(lái)理解,所以結果是一樣的。
在屬性個(gè)數比較多或者屬性之間相關(guān)性較大時(shí),NBC模型的分類(lèi)效率比不上決策樹(shù)模型。但這點(diǎn)有待驗證,因為具體的問(wèn)題不同,算法得出的結果不同,同一個(gè)算法對于同一個(gè)問(wèn)題,只要模式發(fā)生變化,也存在不同的識別性能。這點(diǎn)在很多國外論文中已經(jīng)得到公認,在機器學(xué)習一書(shū)中也提到過(guò)算法對于屬性的識別情況決定于很多因素,例如訓練樣本和測試樣本的比例影響算法的性能。
決策樹(shù)對于文本分類(lèi)識別,要看具體情況。在屬性相關(guān)性較小時(shí),NBC模型的性能稍微良好。屬性相關(guān)性較小的時(shí)候,其他的算法性能也很好,這是由于信息熵理論決定的。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:3.547秒