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