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

熱線電話:13121318867

登錄
首頁大數(shù)據(jù)時代樸素貝葉斯模型
樸素貝葉斯模型
2022-10-19
收藏

條件概率是樸素貝葉斯模型的基礎(chǔ)。

假設(shè),你的xx公司正在面臨著用戶流失的壓力。雖然,你能計算用戶整體流失的概率(流失用戶數(shù)/用戶總數(shù))。但這個數(shù)字并沒有多大意義,因為資源是有限的,利用這個數(shù)字你只能撒胡椒面似的把錢撒在所有用戶上,顯然不經(jīng)濟(jì)。你非常想根據(jù)用戶的某種行為,精確地估計一個用戶流失的概率,若這個概率超過某個閥值,再觸發(fā)用戶挽留機(jī)制。這樣能把錢花到最需要花的地方。

你搜遍腦子里的數(shù)據(jù)分析方法,終于,一個250年前的人名在腦中閃現(xiàn)。就是“貝葉斯Bayes”。你取得了近一個月的流失用戶數(shù)、流失用戶中未讀消息大于5條的人數(shù)、近一個月的活躍用戶數(shù)及活躍用戶中未讀消息大于5條的人數(shù)。在此基礎(chǔ)上,你獲得了一個“一旦用戶未讀消息大于5條,他流失的概率高達(dá)%”的精確結(jié)論。怎么實現(xiàn)這個計算呢?先別著急,為了解釋清楚貝葉斯模型,我們先定義一些名詞。

  • 概率(Probability)——0和1之間的一個數(shù)字,表示一個特定結(jié)果發(fā)生的可能性。比如投資硬幣,“正面朝上”這個特定結(jié)果發(fā)生的可能性為0.5,這個0.5就是概率。換一種說法,計算樣本數(shù)據(jù)中出現(xiàn)該結(jié)果次數(shù)的百分比。即你投一百次硬幣,正面朝上的次數(shù)基本上是50次。
  • 幾率(Odds)——某一特定結(jié)果發(fā)生與不發(fā)生的概率比。如果你明天電梯上遇上你暗戀的女孩的概率是0.1,那么遇不上她的概率就是0.9,那么遇上暗戀女孩的幾率就是1/9,幾率的取值范圍是0到無窮大。
  • 似然(Likelihood)——兩個相關(guān)的條件概率之比,即給定B發(fā)生的情況下,某一特定結(jié)果A發(fā)生的概率和給定B不發(fā)生的情況下A發(fā)生的概率之比。另一種表達(dá)方式是,給定B的情況下A發(fā)生的幾率和A的整體幾率之比。兩個計算方式是等價的。

Clipboard Image.png

因為上面在似然當(dāng)中提到了條件概率,那么我們有必要將什么是條件概率做更詳盡的闡述。

如上面的韋恩圖,我們用矩形表示一個樣本空間,代表隨機(jī)事件發(fā)生的一切可能結(jié)果。的在統(tǒng)計學(xué)中,我們用符號P表示概率,A事件發(fā)生的概率表示為P(A)。兩個事件間的概率表達(dá)實際上相當(dāng)繁瑣,我們只介紹本書中用得著的關(guān)系:

  1. A事件與B事件同時發(fā)生的概率表示為P(A∩B),或簡寫為P(AB)即兩個圓圈重疊的部分。
  2. A不發(fā)生的概率為1-P(A),寫為P(~A),即矩形中除了圓圈A以外的其他部分。
  3. A或者B至少有一個發(fā)生的概率表示為P(A∪B),即圓圈A與圓圈B共同覆蓋的區(qū)域。
  4. 在B事件發(fā)生的基礎(chǔ)上發(fā)生A的概率表示為P(A|B),這便是我們前文所提到的條件概率,圖形上它有AB重合的面積比上B的面積。

回到我們的例子。以P(A)代表用戶流失的概率,P(B)代表用戶有5條以上未讀信息的概率,P(B|A)代表用戶流失的前提下未讀信息大于5條的概率。我們要求未讀信息大于5條的用戶流失的概率,即P(A|B)貝葉斯公式告訴我們:

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

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

從公式中可知,如果要計算B條件下A發(fā)生的概率,只需要計算出后面等式的三個部分,B事件的概率(P(B)),是B的先驗概率、A屬于某類的概率(P(A)),是A的先驗概率、以及已知A的某個分類下,事件B的概率(P(B|A)),是后驗概率。

如果要確定某個樣本歸屬于哪一類,則需要計算出歸屬不同類的概率,再從中挑選出最大的概率

我們把上面的貝葉斯公式寫出這樣,也許你能更好的理解:

MAX(P(Ai|B))=MAX(P(B|Ai)*P(Ai)/P(B))

而這個公式告訴我們,需要計算最大的后驗概率,只需要計算出分子的最大值即可,而不同水平的概率P(C)非常容易獲得,故難點就在于P(X|C)的概率計算。而問題的解決,正是聰明之處,即貝葉斯假設(shè)變量X間是條件獨立的,故而P(X|C)的概率就可以計算為:

P(B|Ai) =P(B1/Ai)*P(B2/Ai)*P(B3/Ai)*…..*P(Bn/Ai)

如下圖,由這個公式我們就能輕松計算出,在觀察到某用戶的未讀信息大于5條時,他流失的概率為80%。80%的數(shù)值比原來的30%真是靠譜太多了。

Clipboard Image.png

當(dāng)然,現(xiàn)實情況并不會像這個例子這么理想化。大家會問,憑什么你就會想到用“未讀消息大于5條”來作為條件概率?我只能說,現(xiàn)實情況中,你可能要找上一堆覺得能夠凸顯用戶流失的行為,然后一一做貝葉斯規(guī)則,來測算他們是否能顯著識別用戶流失。尋找這個字段的效率,取決于你對業(yè)務(wù)的理解程度和直覺的敏銳性。另外,你還需要定義“流失”和“活躍”,還需要定義貝葉斯規(guī)則計算的基礎(chǔ)樣本,這決定了結(jié)果的精度。

  • 利用全概率公式的一個例子

樸素貝葉斯的應(yīng)用不止于此,我們再例舉一個更復(fù)雜,但現(xiàn)實場景也更實際的案例。假設(shè)你為了肅清電商平臺上的惡性商戶(刷單、非法交易、惡性競爭等),委托算法團(tuán)隊開發(fā)了一個識別商家是否是惡性商戶的模型M1。為什么要開發(fā)模型呢?因為之前識別惡性商家,你只能通過用戶舉報和人肉識別異常數(shù)據(jù)的方式,人力成本高且速率很慢。你指望有智能的算法來提高效率。

之前監(jiān)察團(tuán)隊的成果告訴我們,目前平臺上的惡性商戶比率為0.2%,記為P(E),那么P(~E)就是99.8%。利用模型M1進(jìn)行檢測,你發(fā)現(xiàn)在監(jiān)察團(tuán)隊已判定的惡性商戶中,由模型M1所判定為陽性(惡性商戶)的人數(shù)占比為90%,這是一個條件概率,表示為P(P|E)=90%;在監(jiān)察團(tuán)隊判定為健康商戶群體中,由模型M1判定為陽性的人數(shù)占比為8%,表示為P(P|~E)=8%。乍看之下,你是不是覺得這個模型的準(zhǔn)確度不夠呢?感覺對商戶有8%的誤殺,還有10%的漏判。其實不然,這個模型的結(jié)果不是你想當(dāng)然的這么使用的

這里,我們需要使用一個稱為“全概率公式”的計算模型,來計算出在M1判別某個商戶為惡性商戶時,這個結(jié)果的可信度有多高。這正是貝葉斯模型的核心。當(dāng)M1判別某個商戶為惡性商戶時,這個商戶的確是惡性商戶的概率由P(E|P)表示:

P(E|P)

=P(P|E)*P(E) (P(E)*P(P|E)+P(~E)*P(P|~E))

上面就是全概率公式。要知道判別為惡性商戶的前提下,該商戶實際為惡性商戶的概率,需要由先前的惡性商戶比率P(E),以判別的惡性商戶中的結(jié)果為陽性的商戶比率P(P|E),以判別為健康商戶中的結(jié)果為陽性的比率P(P|~E),以判別商戶中健康商戶的比率P(~E)來共同決定。

P(E)     0.2%
P(P|E)  90%
P(~E)   99.8%
P(P|~E)  8%
P(E|P)= P(P|E)*P(E) / (P(E)*P(P|E)+P(~E)*P(P|~E))  2.2%

由上面的數(shù)字,帶入全概率公式后,我們獲得的結(jié)果為2.2%。也就是說,根據(jù)M1的判別為陽性的結(jié)果,某個商戶實際為惡性商戶的概率為2.2%,是不進(jìn)行判別的0.2%的11倍。

你可能認(rèn)為2.2%的概率并不算高。但實際情況下你應(yīng)該這么思考:被M1模型判別為惡性商戶,說明這家商戶做出惡性行為的概率是一般商戶的11倍,那么,就非常有必要用進(jìn)一步的手段進(jìn)行檢查了。

惡性商戶判別模型真正的使用邏輯應(yīng)該是如下圖所示。我們先用M1進(jìn)行一輪判別,結(jié)果是陽性的商戶,說明出現(xiàn)惡性行為的概率是一般商戶的11倍,那么有必要用精度更高的方式進(jìn)行判別,或者人工介入進(jìn)行檢查。精度更高的檢查和人工介入,成本都是非常高的。因此M1模型的使用能夠使我們的成本得到大幅節(jié)約。

Clipboard Image.png

貝葉斯模型在很多方面都有應(yīng)用,我們熟知的領(lǐng)域就有垃圾郵件識別、文本的模糊匹配、欺詐判別、商品推薦等等。通過貝葉斯模型的闡述,大家應(yīng)該有這樣的一種體會:分析模型并不取決于多么復(fù)雜的數(shù)學(xué)公式,多么高級的軟件工具,多么高深的算法組合;它們的原理往往是通俗易懂的,實現(xiàn)起來也沒有多高的門檻。比如貝葉斯模型,用Excel的單元格和加減乘除的符號就能實現(xiàn)。所以,不要覺得數(shù)據(jù)分析建模有多遙遠(yuǎn),其實就在你手邊。

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

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

數(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(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時表示是新驗證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括: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); }