99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀從樸素貝葉斯分類器到貝葉斯網絡
從樸素貝葉斯分類器到貝葉斯網絡
2017-03-18
收藏

樸素貝葉斯分類器到貝葉斯網絡

一、貝葉斯公式(一些必備的數(shù)學基礎)

貝葉斯(Thomas Bayes)是生活在十八世紀的一名英國牧師和數(shù)學家。因為歷史久遠,加之他沒有太多的著述留存,今天的人們對貝葉斯的研究所知甚少。唯一知道的是,他提出了概率論中的貝葉斯公式。但從他曾經當選英國皇家科學學會會員(類似于院士)來看,他的研究工作在當時的英國學術界已然受到了普遍的認可。

事實上,在很長一段時間里,人們都沒有注意到貝葉斯公式所潛藏的巨大價值。直到二十世紀人工智能、機器學習等嶄新學術領域的出現(xiàn),人們才從一堆早已蒙灰的數(shù)學公式中發(fā)現(xiàn)了貝葉斯公式的巨大威力。為了方便后續(xù)內容的介紹,這里我們先來簡單復習一下概率論中的一些基本知識。

事件A在另外一個事件B已經發(fā)生條件下的發(fā)生概率,稱為條件概率,記為P(A|B)。

兩個事件共同發(fā)生的概率稱為聯(lián)合概率。A與B的聯(lián)合概率表示為 P(AB) 或者P(A,B)。

進而有,P(AB) = P(B)P(A|B)=P(A)=P(B|A)。這也就導出了最簡單形式的貝葉斯公式,即

P(A|B)=P(B|A)*P(A)/P(B)

以及條件概率的鏈式法則

P(A1,A2,...,An) = P(An|A1,A2,...,An-1)P(An-1|A1,A2,...,An-2)...P(A2|A1)P(A1)

概率論中還有一個全概率公式

由此可進一步導出完整的貝葉斯公式

二、樸素貝葉斯分類器(Na?ve Baysian classifier)

分類是機器學習數(shù)據(jù)挖掘中最基礎的一種工作。假設現(xiàn)在我們一組訓練元組(Training tuples),或稱訓練樣例,以及與之相對應的分類標簽(Class labels)。每個元組都被表示成n維屬性向量X=(x1, x2, ..., xn)的形式,而且一共有K個類,標簽分別為C1, C2, ..., Ck。分類的目的是當給定一個元組X時,模型可以預測其應當歸屬于哪個類別。

樸素貝葉斯分類器的原理非常簡單,就是基于貝葉斯公式進行推理,所以才叫做“樸素”。對于每一個類別Ci, 利用貝葉斯公式來估計在給定訓練元組X時的條件概率p(Ci|X),即

P(Ci|X) = P(X|Ci)P(Ci)/P(X)

當且僅當概率P(Ci|X)在所有的P(Ck|X)中取值最大時,就認為X屬于Ci。更進一步,因為P(X)對于所有的類別來說都是恒定的,所以其實只需要P(Ci|X) = P(X|Ci)P(Ci)最大化即可。

應用樸素貝葉斯分類器時必須滿足條件:所有的屬性都是條件獨立的。也就是說,在給定條件的情況下,屬性之間是沒有依賴關系的。即

為了演示貝葉斯分類器,來看下面這個例子。我們通過是否頭疼、咽痛、咳嗽以及體溫高低來預測一個人是普通感冒還是流感。

上面是我們提供的訓練數(shù)據(jù)。現(xiàn)在有一個病人到診所看病,他的癥狀是:severeheadache,  no soreness, normaltemperature and with cough。請問他患的是普通感冒還是流感?分析易知,這里的分類標簽有Flu 和Cold兩種。于是最終要計算的是下面哪個概率更高。

P( Flu| Headache = severe, Sore = no,Temperature = normal, Cough = yes)

?P(Flu)*P(Headache= severe|Flu)*P(Sore= no|Flu)*P(Temperature= normal |Flu)*P(Cough = yes|Flu)

P( Cold| Headache = severe, Sore = no,Temperature = normal, Cough = yes)

?P(Cold)*P(Headache= severe|Cold)*P(Sore= no|Cold)*P(Temperature= normal |Cold)*P(Cough = yes |Cold)

為了計算上面這個結果,我們需要通過已知數(shù)據(jù)(訓練數(shù)據(jù))讓機器自己“學習”(建立)一個“模型”。由已知模型很容以得出下表中的結

以及

e= small value = 10^-7(one can use e to be less than 1/n where n is the number of training instances)

P( Flu| Headache = severe, Sore = no,Temperature = normal, Cough = yes)

= P(Flu)*P(Headache = severe|Flu)*P(Sore= no|Flu)*P(Temperature = normal |Flu)*P(Cough = yes|Flu)

=   3/5   ×  2/3    ×     e     ×        2/3       ×      3/3    = 0.26e

P( Cold| Headache = severe, Sore = no,Temperature = normal, Cough = yes)

~ P(Cold)*P(Headache =severe|Cold)*P(Sore = no|Cold)*P(Temperature = normal |Cold)*P(Cough = yes|Cold)

=  2/5     ×      e        ×      ?       ×   1       ×        ?    = 0.1e

顯然P(Flu) > P(Cold),所以我們的診斷(預測,分類)結果是 Flu。

最后討論一下樸素貝葉斯分類器的特點(來自網上資料總結,我就不翻譯了):

? Na?ve Bayesian Classifier is very simple to build, extremely fast to make decisions, and easy to change the probabilities when the new data becomes available (especially when the new data is additional information not modification to previously used data).
? Works well in many application areas.
? Scales easily for large number of dimensions (100s) and data sizes.
? Easy to explain the reason for the decision made.
? One should apply NB first before launching into more sophisticated classification techniques.

我們將把貝葉斯網絡留待下一篇文章中介紹(未完,待續(xù)...)。


數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師考試動態(tài)
數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調,回調的第一個參數(shù)驗證碼對象,之后可以使用它調用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }