貝葉斯在淘寶
http://blog.netoearth.com/html/201012/%E8%B4%9D%E5%8F%B6%E6%96%AF%E5%9C%A8%E6%B7%98%E5%AE%9D.htm
隨著電子商務的快速發展,淘寶的規模也逐漸壯大,淘寶在業界的影響力也越來越大。目前,淘寶網的日獨立訪問數已逾4000萬,而注冊的用戶數現在已經達 到1.63億,中國網民也就3.3億,在所有的中國網民中,幾乎有一半都是淘寶的用戶。現在每天獨立訪問淘寶的用戶數,已達到2000+w,可以說,中國 互聯網網民,每天近9%左右的人會上淘寶,而他們上淘寶的目的也很明確,就是消費。這個規模,這個市場,這樣優質的消費流量,同樣也受到很多“不法分子” 的覬覦和青睞。
“不法分子”們在淘寶上也看到強大的商機,那就是垃圾賬號的注冊器的研發。隨著每天用戶注冊數的劇增,每天的垃圾小號也在不斷飆升,所謂垃圾小號,是指 不符常理的,都是亂七八糟的中文會員、英文會員、數字組合會員和郵箱前綴,其中重點高危的郵箱有:@tom、@126、@hao240、 @yahoo.cn、@sogou、@不知名的但大量注冊的郵箱、也包括大量注冊不符常理的知名郵箱,或者是存在關聯的中文或英文會員,如金鼠報春01、 金鼠報春02…… ;a789887865、a786645565……,這些垃圾小號一般通過注冊機自動或半自動完成用戶的注冊和激活,他們通常的在淘寶上的活動就是用小號 發布旺旺垃圾消息,在淘寶郵箱發送垃圾郵件,或用小號進行信譽炒作,嚴重影響淘寶上的用戶體驗和交易安全。而現在每天的注冊量中,垃圾小號基本過半,在這 樣的數量級上,通過人工審核和排查機制來降低垃圾小號數量已是浮云了。
于是查殺垃圾小號的需求也就應運而生。
查殺垃圾小號其實與垃圾郵件的查殺原理一致,只是垃圾郵件包含的信息比垃圾小號更加豐富一些。其基本原理是相通的,換湯不換藥。在所有反垃圾郵件的技術 中,最簡單、有效而且在實際應用中較成功的分類器就屬貝葉斯了,根據2003年5月BBC專題報道稱,貝葉斯應用在垃圾郵件的識別上,其識別率可以達到 99.7%的,同時誤判率極低。是目前最有效的反垃圾郵件技術。
下面花小點時間介紹下貝葉斯相關的基礎知識,Thomas Bayes,托馬斯·貝葉斯是一位英國牧師數學家,他發表了貝葉斯統計理論,即根據已經發生的事件來預測事件發生的可能性,貝葉斯理論假設:如果事件的 結果不確定,那么量化它的唯一方法就是事件的發生概率。如果過去試驗中事件的出現率已知,那么根據數學的方法可以計算出未來試驗中事件出現的概率。貝葉斯 定理可以用一個數學公式表達,那就是貝葉斯公式。說起貝葉斯公式,大家可能都不會很陌生,大學的必修課,概率論與數理統計這門課程,沒記錯的話,教材的第 一章講述的是隨機事件及其概率,其中在介紹條件概率時,就有詳細介紹貝葉斯公式和全概率公式。
貝葉斯決策理論方法是統計模型決策中的一個基本方法,其基本思想是:
1、已知類條件概率密度參數表達式和先驗概率。
2、利用貝葉斯公式轉換成后驗概率。
3、根據后驗概率大小進行決策分類。
他對統計推理的主要貢獻是使用了”逆概率”這個概念,并把它作為一種普遍的推理方法提出來。假定B1,B2,……是某個過程的若干可能的前提,則 P(Bi)是人們事先對各前提條件出現可能性大小的估計,稱之為先驗概率。如果這個過程得到了一個結果A,那么貝葉斯公式提供了我們根據A的出現而對前提 條件做出新評價的方法。P(Bi∣A)既是對以A為前提下Bi的出現概率的重新認識,稱 P(Bi∣A)為后驗概率。
樸素貝葉斯(Na?ve Bayes)是以貝葉斯定理為理論基礎的一種在已知先驗概率與條件概率的情況下得到后驗概率的模式識別方法,用這種方法可以確定一個給定樣本屬于一個特定類的概率。應用樸素貝葉斯分類器時,訓練時,對于n個類別,計算每個特征
在類別
的先驗概率
。測試時,對于一個由m個特征組合成特征向量,使后驗概率
最大的類作為分類結果
。
樸素貝葉斯分類是基于特征之間的獨立性假設的基礎上的,即給定一個實例的類標簽,實例中每個屬性的出現獨立于實例中其它屬性的出現,也就是說特征之間是 相互獨立的。盡管這種假設在一定程度上限制了樸素貝葉斯模型的適用范圍,然而從目前的許多研究看,即使在違背這種假設的條件下,樸素貝葉斯分類方法也能得 到很好的效果。由于后驗概率 是文檔在某一個類別上的概率,因此可以設定當后驗概率滿足某一閾值就劃分為該類,這樣就滿足了多類標注的要求。
再回到淘寶查殺垃圾小號上來,其實查殺垃圾小號是一件具有相當難度的事情,垃圾小號每天都在增加和變化。而且現在的垃圾小號注冊器變得更加狡猾,之前采用 靜態查殺垃圾小號技術也很難防范。注冊器的研發者們只要簡單的研究一下現在采用了哪些靜態查殺小號規則,然后相應的改變一下注冊內容,就可以逃避查殺了。 因此,必須采用一種新的方法來克服靜態查殺的弱點,于是我們選用了貝葉斯過濾技術。將貝葉斯理論(即根據已經發生的事件可以預測未來事件發生的可能性)運 用到查殺垃圾小號上:若已知某些字詞的組合,注冊行為,或郵件后綴等等,經常出現在垃圾小號的行為中,卻很少出現在正常用戶的行為中,那么若一個會員符合 這個特征時,那么他是垃圾小號的可能性就很大。
所以基于這個理論,首先,把注冊用戶分成2個類別:垃圾小號和正常用戶。
其次,利用注冊信息將用戶映射到上面兩個類別。
再次,分析用戶的活動和行為,分別映射到兩個類別;
最后,用na?ve Bayes模型進行分類。
如從以下幾個字段提取信息:
昵稱 e-mail ip 注冊時段 xxx
98524w7gz8b3 xiacharu@163.com123.8.220.253 14 ……
從上述幾個簡單的字段信息,便可抽取到10幾個靜態的特征如:昵稱的長度,nick中英文字母數,漢字的個數,數字的個數,nick中文字的 bigram,注冊的時段,email前綴的長度,email中name英文個數,漢字個數,數字個數,以及文字的bigram,email后綴是否為 常用的垃圾郵箱后綴等等特征,簡寫如下:
f1. nick-name長度,
f2. nick-name中漢字個數,
f3. nick-name英文字母個數,
f4. nick-name標點字符個數,
f5. nick-name數字個數,
f6. e-mail中所含id長度,
f7. email的服務商(yahoo.cn, 163.com…..),
f8. email-id 中漢字個數,
f9. email-id 英文字母個數,
f10. email-id 標點字符個數,
f11. email-id 數字個數,
f12. 注冊時段
f13. Nick-name中文字的bigram, eg. piaoxue -> bigrams. pi, ia,ao,ox,xu,ue
f14. Email-id的bigram eg. p iaoxue@taobao.com , email-id piaoxue -> bigrams. pi, ia,ao,ox,xu,ue
通過選取正樣本(正常用戶,淘寶上正常的活動用戶)和負樣本(垃圾小號,Alisoft通過事后行為,即已經發生垃圾旺旺消息發送被查殺的垃圾賬號), 把樣本的信息轉換到一組一組的feature list上。貝葉斯的分類器就會統計出每個feature在垃圾小號中出現的概率以及在正常用戶中出現的概率,然后根據公式計算出當會員的特征包含某些 feature時則為垃圾小號的概率。
例如:
121686195 hfdz3wm f3qi8a3@163.com 124.229.24.4 12 ……
其feature list為:
nick-name長度: uid_7
nick-name中Bigrams: hf fd dz z3 3w wm
email-id長度: email_7
email中bigrams: f3 3q qi i8 8a a3
email服務商:163.com
ip:124.22.9.24
注冊時段:hour_12
nick-name漢字個數:unc_0
nick-name英文字母個數:une_6
nick-name數字個數:und_1
nick-name字符標點個數: unnt_0
email漢字 個數:unc_0
email英文字母個數:une_4
email數字個數:und_3
email字符標點個數: unnt_0
根據訓練集上數據,統計各個特征在正常用戶和非正常用戶概率(eg. wm在正常賬號數據出現2次,在垃圾小號數據出現8次,則p(wm)是正常賬號概率為0.2,垃圾小號0.8.), 然后計算上述特征在正常用戶聯合概率 和垃圾小號的聯合概率。
在正常賬號的聯合概率:P(f1)*P(f2)……*P(f14)……*P(fn)
和垃圾小號上面聯合概率:P(f1)*P(f2)……*P(f14) ……*P(fn)
聯合概率取對數 ,在正常用戶類別 -181.639
聯合概率取對數,在垃圾小號類別 -177.095
故其被判斷為垃圾小號 。
使用貝葉斯過濾的優點在于:
1、 貝葉斯過濾技術基于樣本的內容進行分析,不僅僅是其中的某些關鍵詞;
2、 貝葉斯過濾技術具備自適應功能――通過學習新的垃圾小號及正常用戶樣本,貝葉斯將能查殺最新的垃圾小號;
3、 貝葉斯過濾技術支持多語種或者說與編碼無關。對于貝葉斯而言,他分析的是字串,無論他是字、詞、符號、還是別的什么,當然更與語言無關。
如何才能訓練出一個好的貝葉斯分類器呢?貝葉斯的樣本數并不是越多越好,但一般需要超過一定的數量才能工作,只有達到一定的量級才具有一定的統計意義。要訓練出一個比較好的貝葉斯,有如下建議:
1、 不要過多的重復某種分類或某一類特征,以免概率失真(失衡),最好是分批分時間多次進行,這樣樣本分布廣泛和均勻。
2、 對會員的類別歸類一定要認真,不能讓分類器學習到錯誤的知識。
3、 如果存在有垃圾小號,但是跟正常會員很接近,最好不要分類。
4、在追求precision的應用需求上,應采用不同的決策規則。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
