貝葉斯試驗(yàn)報(bào)告材料_第1頁(yè)
貝葉斯試驗(yàn)報(bào)告材料_第2頁(yè)
貝葉斯試驗(yàn)報(bào)告材料_第3頁(yè)
貝葉斯試驗(yàn)報(bào)告材料_第4頁(yè)
貝葉斯試驗(yàn)報(bào)告材料_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、HUNAN UN IVERSITY人工智能實(shí)驗(yàn)報(bào)告題目實(shí)驗(yàn)三:分類算法實(shí)驗(yàn)學(xué)生姓名匿名學(xué)生學(xué)號(hào)2013080702xx專業(yè)班級(jí)智能科學(xué)與技術(shù)1302班指導(dǎo)老師袁進(jìn)一. 實(shí)驗(yàn)?zāi)康?. 了解樸素貝葉斯算法的基本原理;2. 能夠使用樸素貝葉斯算法對(duì)數(shù)據(jù)進(jìn)行分類3. 了解最小錯(cuò)誤概率貝葉斯分類器和最小風(fēng)險(xiǎn)概率貝葉斯分類器4. 學(xué)會(huì)對(duì)于分類器的性能評(píng)估方法二、實(shí)驗(yàn)的硬件、軟件平臺(tái)硬件:計(jì)算機(jī)軟件:操作系統(tǒng):WINDOWS 10應(yīng)用軟件:C, Java或者M(jìn)at Iab相關(guān)知識(shí)點(diǎn):貝葉斯定理:P(AQ)表示事件B已經(jīng)發(fā)生的前提下,事件A發(fā)生的概率,叫做事件B發(fā)生下事件A的條件槪 率,其基本求解公式為:P(

2、A|E) = W罟貝葉斯定理打通了從P(A|B)獲得P(B|A)的道路。直接給出貝葉斯定理:F(B|A)=八-f樸素貝葉斯分類是一種十分簡(jiǎn)單的分類算法,叫它樸素貝葉斯分類是因?yàn)檫@種方法的思想真的很 樸素,樸素貝葉斯的思想基礎(chǔ)是這樣的:對(duì)于給出的待分類項(xiàng),求解在此項(xiàng)出現(xiàn)的條件下各個(gè)類別出 現(xiàn)的概率,哪個(gè)最大,就認(rèn)為此待分類項(xiàng)屬于哪個(gè)類別。樸素貝葉斯分類的正式定艾如下:1、設(shè)”d-m為一個(gè)待分類項(xiàng),而每個(gè)a為x的一個(gè)特征屬性。2、有類別集合C=如她姑。3、計(jì)算戸伽忙)嚴(yán)(02|鞏嚴(yán)如攵)。4、如果卩(如忙)=加處戸(卯工)孑(的|), .,(%),則;f e做。那么現(xiàn)在的關(guān)鍵就是如何計(jì)算第3步中的

3、各個(gè)條件概率。我們可以這么做:1、找到一個(gè)已知分類的待分類項(xiàng)集合,這個(gè)集合叫做訓(xùn)練樣本集。2. 統(tǒng)計(jì)得到在各類別下各個(gè)特征屬性的條件概率估計(jì)。即P(Q?。?卩(訕1),P (如|1);卩仙協(xié)2),卩依2愀),卩(瑞02);;P1 W,卩2 |必、P(%n愀)3. 如果各個(gè)特征屬性是條件獨(dú)立的,則根據(jù)貝葉斯定理有如下推導(dǎo):因?yàn)榉帜笇?duì)于所有類別為常數(shù),因?yàn)槲覀冎灰獙⒎肿幼畲蠡钥伞S忠驗(yàn)楦魈卣鲗傩允?m P(xyi)P(y.i) = F(ai |y-i)P(a2yiY:P(am|yi)=卩(/)口 Pj|s) 條件獨(dú)立的,所以有:j=i整個(gè)樸素貝葉斯分類分為三個(gè)階段:第一階段:準(zhǔn)備工作階段,這個(gè)階

4、段的任務(wù)是為樸素貝葉斯分類做必要的準(zhǔn)備,主要工 作是根據(jù)具體情況確定特征屬性,并對(duì)每個(gè)特征屬性進(jìn)行適當(dāng)劃分,然E由人工對(duì)一部分待分類項(xiàng) 進(jìn)行分類,形成訓(xùn)練樣本集合。這一階段的輸入是所有待分類數(shù)據(jù),輸出是特征屬性和訓(xùn)練樣本。 這一階段是整個(gè)樸素貝葉斯分類中唯一需要人工完成的階段,其質(zhì)量對(duì)整個(gè)過(guò)程將有重要影響,分 類器的質(zhì)量很大程度上由特征屬性、特征屬性劃分及訓(xùn)練樣本質(zhì)量決定。第二階段:分類器訓(xùn)練階段,這個(gè)階段的任務(wù)就是生成分類器,主要工作是計(jì)算每個(gè)類 別在訓(xùn)練樣本中的出現(xiàn)頻率及每個(gè)特征屬性劃分對(duì)每個(gè)類別的條件概率估計(jì),并將結(jié)果記錄。其輸 入是特征屬性和訓(xùn)練樣本,輸出是分類器。這一階段是機(jī)械性階段

5、,根據(jù)前面討論的公式可以由程 序自動(dòng)計(jì)算完成。第三階段:應(yīng)用階段。這個(gè)階段的任務(wù)是使用分類器對(duì)待分類項(xiàng)進(jìn)行分類,其輸入是分 類器和待分類項(xiàng),輸出是待分類項(xiàng)與類別的映射關(guān)系。這一階段也是機(jī)械性階段,由程序完成。準(zhǔn)備工作階段1I以P(x|ydP(yi)最大項(xiàng)作為x所屬類別分決K器訓(xùn)練階段應(yīng)甲階段F 三、實(shí)驗(yàn)內(nèi)容及步驟實(shí)驗(yàn)內(nèi)容:A. 利用貝葉斯算法進(jìn)行數(shù)據(jù)分類操作,并統(tǒng)計(jì)其預(yù)測(cè)正確率,數(shù)據(jù)集:汽車評(píng)估數(shù)據(jù)集(learn 作為學(xué)習(xí)集,test作為測(cè)試集合)B. 隨機(jī)產(chǎn)生10000組正樣本和20000負(fù)樣本高斯分布的數(shù)據(jù)集合(維數(shù)設(shè)為二維),要求正樣 本:均值為1;3,方差為2 0;0 2;負(fù)樣本:均值

6、為10;20,方差為10 0;0 10.先驗(yàn)概 率按樣本量設(shè)定為1/3和2/3.分別利用最小錯(cuò)誤概率貝葉斯分類器和最小風(fēng)險(xiǎn)概率貝葉斯分 類器對(duì)其分類。(假設(shè)風(fēng)險(xiǎn)程度正樣本分錯(cuò)風(fēng)險(xiǎn)系數(shù)為0.6,負(fù)樣本分錯(cuò)風(fēng)險(xiǎn)為0.4,該設(shè)定 僅用于最小風(fēng)險(xiǎn)分析)相關(guān)概念:貝葉斯法則,先驗(yàn)概率,后驗(yàn)概率,最大后驗(yàn)概率1貝葉斯法則機(jī)器學(xué)習(xí)的任務(wù):在給定訓(xùn)練數(shù)據(jù)D時(shí),確定假設(shè)空間H中的最佳假設(shè)。 置佳假設(shè):一種方法是把它定艾為在給定數(shù)搖D以及H中不同假設(shè)的先驗(yàn)概率的有關(guān)知識(shí)下的最可能假設(shè)。貝葉 斯理論提供了一種計(jì)算假設(shè)概率的方法,基于假設(shè)的先臉概率.給定假設(shè)下觀察到不同數(shù)據(jù)的概率以及觀察到的 數(shù)據(jù)本身。2. 先臉概率

7、和后驗(yàn)概率用P(h)表示在沒(méi)有訓(xùn)練數(shù)據(jù)前假設(shè)h擁有的初始槪率。P(h)被稱為h的先驗(yàn)槪率。先驗(yàn)槪率反映了關(guān)于h是一正 確假設(shè)的機(jī)會(huì)的背景知識(shí)如果沒(méi)有這一先驗(yàn)知識(shí),可以簡(jiǎn)單地將毎一候選假設(shè)賦予相同的先驗(yàn)概率。類似地, P(D)表示訓(xùn)練數(shù)據(jù)D的先臉概率,P(D|h)表示假設(shè)h成立時(shí)D的概率。機(jī)器學(xué)習(xí)中,我們關(guān)心的是P(h|D),即給 定D時(shí)h的成立的概率,稱為h的后驗(yàn)概率。3. 貝葉斯公式貝葉斯公式提供了從先驗(yàn)概率P(h)、P (D)和P(D|h)計(jì)算后驗(yàn)槪率P(h|D)的方法p(h|D) =P (D| H) *P (H)/P (D)P(h|D)隨著P(h)和P(D|h)的增長(zhǎng)而增長(zhǎng),隨著P(D)

8、的增長(zhǎng)而減少,即如果D獨(dú)立于h時(shí)被觀察到的可能性越大, 那么D對(duì)h的支持度越小。4. 極大后驗(yàn)假設(shè)學(xué)習(xí)器在候選假設(shè)集合H中尋找給定數(shù)據(jù)D時(shí)可能性最大的假設(shè)h, h被稱為極大后驗(yàn)假設(shè)(MAP)確定MAP的方 法是用貝葉斯公式計(jì)算每個(gè)候選假設(shè)的后驗(yàn)槪率,計(jì)算式如下:h_map=argmax P(h|D) =argmax (P (D | h) *P (h) /P (D) =argmax P (D | h) *p (h) (h 屬于集合 H)C. 編寫(xiě)一個(gè)貝葉斯分類器。輸入為:均指向量、先驗(yàn)概率、協(xié)方差矩陣、輸入學(xué)習(xí)數(shù)據(jù)X,測(cè) 試數(shù)據(jù)類別XLABEL,測(cè)試數(shù)據(jù)Y.輸出為Y對(duì)應(yīng)的類別。(選做)。四、實(shí)驗(yàn)

9、步驟:1. 仔細(xì)閱讀并了解實(shí)驗(yàn)數(shù)據(jù)集;2. 使用任何一科熟悉的計(jì)算機(jī)語(yǔ)言(比如C, Java或者mat I ab)實(shí)現(xiàn)樸素貝葉斯算法;3. 利用樸素貝葉斯算法在訓(xùn)練數(shù)據(jù)上學(xué)習(xí)分類器,訓(xùn)練數(shù)據(jù)的大小分別設(shè)置為:前100個(gè)數(shù)據(jù),前200個(gè)數(shù)據(jù),前500個(gè)數(shù)據(jù),前700個(gè)數(shù)據(jù),前1000個(gè)數(shù)據(jù),前1350個(gè)數(shù)據(jù);4. 利用測(cè)試數(shù)據(jù)對(duì)學(xué)習(xí)的分類器進(jìn)行性能評(píng)估;5. 統(tǒng)計(jì)分析實(shí)驗(yàn)結(jié)杲并上交實(shí)驗(yàn)報(bào)告;A源代碼:package Bayes;import java io.BufferedReader;import java io.FilelnputStream;import java. io. FileNot

10、FoundException;import java io.FiI eReader;import java io. IOException;import java math. BigDecimal;import java util.Vector;import Bayes NaiveBayesTool. Property;pub Iic class NaiveBayesTool /*申明全局變量/前面是自己的屬性,后而是value的屬性* */int testTotal = 0;/訓(xùn)練樣本數(shù)量int predictTotal = 0;/測(cè)試樣本的數(shù)據(jù)int predictSucess = 0;/

11、預(yù)測(cè)成功的數(shù)量/存儲(chǔ)數(shù)量publ ic int pub I ic int publ ic int publ ic intbuy二new int44;/vhigh, high, med, Iow maint二new int44;/vhigh, high, med, Iow door=new int 44;/2, 3, 4, 5more person二new int34;/2, 4, morepub Iic int Iug boot二new int34;/smaI I ,med,b ig pub Ii c int safe二new int 34;/low, med, highpub I ic in

12、t ClassVa I ues=new irrt 4;/unacc, acc, good, vgood String ClassVaIueName = ”unaccH, acc, good, vgood);/存儲(chǔ)概率float ClassValue _gl = new fI oat4;/ unacc-Q acc-1 good-2 vgood-3f loat buy_V I aue_g I = new f I oat 4 4; /前面是自己的屬性,后面是 value 的屬性 f loat ma i nt_Va I ue_g I = new f I oat 4 4;float door_Value

13、_gl = new fI oat44;f I oat pe r son_Va I ue_g I = new f I oat 3 4;float Iugboot_VaIue_gI = new fI oat34;float safe_Value_gl = new float34;/*主函數(shù)pub Ii c stat i c void ma i n (Str ing args) throws lOException NaiveBayesTooI NBayes二new NaiveBayesTool ();NBayes. ReadFi I e (HI earn, txt”);/獲取訓(xùn)練樣本NBayes.

14、 Calculated_probabi I ity ();/計(jì)算概率NBayes. TestData () ;/導(dǎo)入測(cè)試樣本數(shù)據(jù)NBayes. show () ; /輸出結(jié)果/*汽車屬性類* */pub I i c class Property!/汽車有6個(gè)屬性,每個(gè)屬性都有幾種類別,根據(jù)這6個(gè)屬性來(lái)判斷汽 車的性價(jià)比Classvalue如何,public pub Iic public public public public pub I icStr ingStr ingStr ingStr ingStr ingStr ingStr ingbuy ing;/vhigh, high, med,

15、Iow maint;/vhigh, high, med, Iow doors;/2, 3, 4, 5more persons;/2, 4, moreIug boot;/smaI I ,med, b i gsafety;/ Iow,med, h i ghClassVaIues;/unacc, acc, good,vgoodif (car.doors equals(2”) door0i+;else if (car doors equals(“3”) door1i+;else if (car doors equals (4”) door2i+; else door3i+;/2t 4, moreif(

16、car. persons equaIs(2) person0i+; else if (car. perso ns. equa I s (N4) person1 i+; else person2i+;/smaI I ,med,b i gif(car. Iug boot equaIs (smaI IH) Iug boot0i+; else if (car lug boot, equa I s (,,medH) lug boot 1 i+; else lug boot2i+;/ Iow,med, highif (car. safe ty. equalsC* low) safe 0 i +; else

17、 if (car safe ty. equa I s (medH) safe1 i+; else safe2i+;1)/*計(jì)算概率*/pub Iic void Calculated_probability()for (i rrt i=0; iClassVa I ues. I ength; i +)ClassValue_gli = (fI oat)CIassVaIues i/testTotaI;for (int i二0;ibuy一VIaue_gI. Iength;i +)for (int j二0;jbuy_Vlaue_gl0 length;j+) buy_VI aue gl 訂j = (f I

18、oat) buy i j /CI assVa I ues j; ma i nt_Va I ue g I i j = (float) ma int i j/CI assVa lues j; doorValue glij=(float)doorij/ClassVaIuesj;1for(int i=0;iperson_Value_gl I ength;i+)for (int j二0;jperson_ Value_gl0 length;j+) person Vaiue_gIij = (float)personfij/ClassValuesj; lugboot Value gIij=(float)Iug

19、 bootij/CIassVaIuesj; safe_Value glij=(float)safeij/CIassValuesj;)/*獲取測(cè)試數(shù)據(jù)* */pub Iic void TestData () throws lOExceptionBufferedReader br二new BufferedReader(new FiI eReader (test.txt); Str ing temp;temp=br readLine ();Str ing str = null;Property Car = null;while(temp!=nulI) str=temp. split (, H);Ca

20、r=new Property(str0, str1, str2, str3, str4,str5,str6); pred ictTotaI+;Data. addElement (Car);calculate(Car);temp=br readL ine ();)/*對(duì)分類器進(jìn)行性能測(cè)試,判斷其成功率為多少* param car*/pub Iic void calculate (Property car) / unacc,acc,good,vgood, P(yi)-ClassValueTotai gl、P (x | yi)二 I ow, vhigh, 4, 2, sma I I, I ow, u

21、nacc 第一條float itemGI;/ 每一條的概率int b, m, d, p, I, s;b = m = d = p= I = s = -1;float MaxGI = 0;if (car.buyingequaIs(”vhigh”) b = 0;else if (car .buying, equaIs(high) b = 1;else if (car.buying, equaIs(med”)b = 2;else b = 3;if (car.maint. equaI s (vhighN) m = 0;else if (car.maintequaIs(high) m = 1;else i

22、f (car.maintequals(med)m = 2;else m = 3;if (car.doors.equaIs(2) d = 0;else if (car. doors, equa I s (N3H) d = 1;else if (car.doorsequaIs(”4”)d = 2;else d = 3;if (car.persons.equaIs(H2U) p = 0;else if (car.personsequaIs(4”)p = 1;else p = 2;if (car. lug boot, equaIs(smaI I) I = 0;else if (car lug_boot

23、equaIs(HmedH) I = 1;else I = 2;if (car .safe ty. equalsC low) s = 0;else if (car .safety. equaIs(NmedM) s= 1;else s = 2;int t二0;/記錄最大概率的下標(biāo)int i;for (i =0; i 7g(ClassValue_gl i), new BigDecima I (Float. toStrVlaue_gl b i), new Bi gDecima I (Float. toString(a i nt_ Value_gl m i), new BigDecimaI (Float

24、. to5tr/(door_Value_gl d i), new BigDecimaI (Float. toStringperson_Value_glpi), new BigDecimaI (Float. toStringIugboot_VaIue_gIIi), new BigDecimaI (Float. toStrValue_gl s i), );for (int j = 1 ; j bigDecimaI. length; j+) /加:a. add (b);除:a.divide (b, 2); /2為精度取值b i gDec imaI0 = b i gDec imaI0. mu 11 i

25、pIy(bigDecima Ij) ;/mu 11 i pIy乘 i temG I = b i gDec i ma I 0. f I oatVa I ue (); car.PredictResult i = itemGI + t;if (MaxGI itemGI) MaxGI = i temGI;t 二 i;/判斷結(jié)果是否正確if (car. ClassValues. equa I s (CI assVa I ueName t) / 預(yù)測(cè)結(jié)果和開(kāi)始給定的結(jié)果相等 car. PredictResult i = ,true,;pred ictSucess+; elsecar.PredictResu

26、lt i = false”;pub I ic void show ()for (int i 二0; i predictTota I; i+) Property c = Data.get (i);for (int j = 0; j c.PredictResult. length; j+)System. out. pr int(c. PredictResultj +;System. out pr i nt I n ();/分類器的準(zhǔn)確率float t 二(float) predictSucess / predictTotal;t=t*10000/100;System, out. pr i nt I

27、 n (Nn 分類器的準(zhǔn)確率為:” + t+ %);14.714388E-5000000true8.462725E-50.00.00.0true5.792265E-50.00.00.0true4.363005E-50.00.00.0true6.257746E-50.00.00.0true4.2830798E-53.9761042E-50.00.0false3.226216E-55.609697E-50.00.0false5.445931E-50.00.00.0true3.727437E-55.9913902E-50.00.0false2.8076798E-58.452969E-50.00.0f

28、alse5.0400227E-50.00.00.0true3.4496155E-56.971799E-50.00.0false2.5984118E-59.8361816E-50.00.0false6.3511456E-50.00.00.0true4.347006E-53.850278E-50.00.0false3.2743683E-55.432175E-50.00.0false5.5272132E-50.0000.0true3.78307E-55.861789E-50.00.0false2.8495853E-58.18547E-50.00.0false5.1152467E-50.00.0七rue3.501102E-56.7511726E-50.00.0f alsp2.637194E-59.52491E-50.00.0false分塑老的準(zhǔn)確埜為:68.783066%四、思考題1. 實(shí)驗(yàn)A中的分類器的優(yōu)缺點(diǎn)??赡艽嬖?概率問(wèn)題存在準(zhǔn)確度問(wèn)題,樸素貝葉斯分類器是基于樣本屬性條件獨(dú)立的假設(shè)的前提下的,但是實(shí)際 情

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論