1. 程式人生 > >機器學習 - 樸素貝葉斯(下)- 樸素貝葉斯分類器

機器學習 - 樸素貝葉斯(下)- 樸素貝葉斯分類器

機器學習 - 樸素貝葉斯(下)- 樸素貝葉斯分類器

(接 《機器學習 - 樸素貝葉斯(上)- 概率論基礎》

  • 樸素貝葉斯

    1. 重要假設

      樸素貝葉斯是從訓練資料集中學習聯合概率分佈 P

      ( X , Y ) P(X,Y) ,具體地:

      (1) 學習先驗概率分佈 P

      ( Y = c k ) ,
      k = 1 , 2 , , n P(Y=c_k),k=1,2,…,n

      (2) 學習條件概率分佈 P ( X = x Y = c k ) = P ( x ( 1 ) , x ( 2 ) , . . . , x ( m ) Y = c k ) , k = 1 , 2 , . . . , n P(X=x|Y=c_k)=P(x^{(1)},x^{(2)},...,x^{(m)}|Y=c_k),k=1,2,...,n
            其中 x ( j ) x^{(j)} 為樣本 x x 的第 j j 個特徵

      (3) 於是學習到聯合概率分佈 P ( X , Y ) P(X,Y)

      但是這裡的問題是, P ( X = x Y = c k ) P(X=x|Y=c_k) 的計算非常複雜,假設 x x 的第 j j 特徵 x ( j ) x^{(j)} 可取的值有 S j S_j 個, Y Y 可取的值有 n n 個,那麼要計算的引數個數為 n j = 1 m S j n\prod_{j=1}^{m}S_j ,對這樣指數量級的引數進行估計是不實際的,所以有了樸素貝葉斯中的假設:

      \bullet 假設各個特徵之間條件獨立。

      有了這個假設,那麼上面條件概率的計算可以寫成:

      P ( X = x Y = c k ) = P ( x ( 1 ) , x ( 2 ) , . . . , x ( m ) Y = c k ) P(X=x|Y=c_k)=P(x^{(1)},x^{(2)},...,x^{(m)}|Y=c_k)
                                          = j = 1 m P ( X ( j ) = x ( j ) Y = c k ) =\prod_{j=1}^{m} P(X^{(j)}=x^{(j)}|Y=c_k)

      (類似 P ( A , B C ) P(A,B|C) ,當 A , B A,B 相互獨立時,可寫成 P ( A , B C ) = P ( A C ) P ( B C ) P(A,B|C)=P(A|C)P(B|C) )

      在這樣的假設下,就將原本指數級的引數數量變為常數級的 n S j nS_j 個。

    2. 特徵型別

      (1) 對於特徵取值離散的特徵,通過計算數量佔比獲得概率;(多項式樸素貝葉斯)
      (2) 對於特徵取值連續的特徵,① 離散化;②假設其服從某概率分佈。(高斯樸素貝葉斯)

    3. 樸素貝葉斯分類模型

      在於機器學習中,

      貝葉斯公式 : P ( Y = c k X = x ) = P ( X = x Y = c k ) P ( Y = c k ) k P ( Y k = c k ) P ( X = x Y = c k ) P(Y=c_k|X=x) = \frac{P(X=x|Y=c_k)P(Y=c_k)}{\sum_{k}P(Y_k=c_k)P(X=x|Y=c_k)} 即為 樸素貝葉斯分類器的模型 基本表示式。

      又因為有很嚴格的各個特徵之間的獨立性假設,將 P ( X = x Y = c k ) = j = 1 m P ( X ( j ) = x ( j ) Y = c k ) P(X=x|Y=c_k)=\prod_{j=1}^{m} P(X^{(j)}=x^{(j)}|Y=c_k)

      相關推薦

      機器學習 - 樸素- 樸素分類

      機器學習 - 樸素貝葉斯(下)- 樸素貝葉斯分類器 樸素貝葉斯 重要假設 特徵型別 樸素貝葉斯分類模型 舉例 貝葉斯估計 模型特點

      Python《機器學習實戰》讀書筆記——樸素

      第四章 基於概率論的分類方法:樸素貝葉斯 4-1 基於貝葉斯決策理論的分類方法 優點:在資料較小的情況下仍然有效,可以處理多類別問題 缺點:對於輸入資料的準備方式較為敏感。 適用資料型別:標稱型資料。 假設現在我們有一個數據集,它由兩類資

      機器學習演算法總結之XGBoost 實戰與調參

      寫在前面 當時想學習XGBoost這個演算法就是因為研究生課題需要,現在終於可以試一試啦,希望真的像大家說的那麼強(據說是很多資料科學家的ultimate weapon)。XGBoost原理已在前一篇有過說明:機器學習演算法總結之XGBoost(上) 1.

      機器學習實戰4——樸素

      一、大概框架1、貝葉斯決策:對某個資料點進行分類,有多個類別供你選擇,我們自然要選擇可能性最大那個,這就是貝葉斯決策的核心思想舉個例子:如果你面前有一個黑人,讓你判斷他是哪個洲的人,給你三個選擇:亞洲人、非洲人、美洲人,你會選擇哪個?哈哈哈,這麼簡單的問題,你居然還問的出口,

      機器學習入門之四:機器學習的方法-神經網絡轉載

      轉載 bsp 圖像 src nbsp 加速 數值 str 我們   轉自 飛鳥各投林   神經網絡      神經網絡(也稱之為人工神經網絡,ANN)算法是80年代機器學習界非常流行的算法,不過在90年代中途衰落。現在,攜著“深度學習”之勢,神

      機器學習---支持向量機SVM

      行處理 off 距離 又是 分類器 libs 自己的 cos 一個 非常久之前就學了SVM,總認為不就是找到中間那條線嘛,但有些地方模棱兩可,真正編程的時候又是一團漿糊。參數任意試驗,毫無章法。既然又又一次學到了這一章節,那就要把之前沒有搞懂的地方都整明確,嗯~

      解釋機器學習模型的一些方法——理解復雜的機器學習模型

      p s 結果 origin 得出 驗證 場景 這樣的 機器 發的 在這一部分中我們所要展現的技術,可以為非線性、非單調的響應函數生成解釋。我們可以把它們與前兩部分提到的技巧結合起來,增加所有種類模型的可解釋性。實踐者很可能需要使用下列增強解釋性技巧中的一種以上,為他們手中

      機器學習-反向傳播算法BP代碼實現matlab

      sha eric his work onclick chan same images let %% Machine Learning Online Class - Exercise 4 Neural Network Learning % Instructions

      python機器學習-sklearn挖掘乳腺癌細胞

      質量 mat spl tcl pytho 不同 區別 工具 state python機器學習-sklearn挖掘乳腺癌細胞( 博主親自錄制) 網易雲觀看地址 https://study.163.com/course/introduction.htm?courseId=10

      python機器學習-sklearn挖掘乳腺癌細胞

      糾正 plot 不錯 方法 eid right ref nump cores python機器學習-sklearn挖掘乳腺癌細胞( 博主親自錄制) 網易雲觀看地址 https://study.163.com/course/introduction.htm?courseId

      機器學習之支援向量機

      引言:   SVM是一種常見的分類器,在很長一段時間起到了統治地位。而目前來講SVM依然是一種非常好用的分類器,在處理少量資料的時候有非常出色的表現。SVM是一個非常常見的分類器,在真正瞭解他的原理之前我們多多少少都有接觸過他。本文將會詳細的介紹SVM的原理、目標以及計算過程和演算法步驟。我們針對線性可分資

      一個月刷完機器學習筆試題300題9

      第九天 1、對於下面三個模型的訓練情況, 下面說法正確的是: 第一張圖的訓練錯誤與其餘兩張圖相比,是最大的 最後一張圖的訓練效果最好,因為訓練錯誤最小 第二張圖比第一和第三張圖魯棒性更強,是三個裡面表現最好的模型 第三張圖相對前兩張圖過擬合了 三個圖

      一個月刷完機器學習筆試題300題8

      第八天 1、對於下圖, 最好的主成分選擇是多少 ? A 7 B 30 C 35 D Can’t Say 正確答案是: B 主成分選擇使variance越大越好, 在這個前提下, 主成分越少越好。 2、資料科學家可能會同時使用多個演算法(模型)進行預測, 並且最後把這些演算法的結果整合起

      一個月刷完機器學習筆試題300題7

      第七天 1、使用k=1的knn演算法, 下圖二類分類問題, “+” 和 “o” 分別代表兩個類, 那麼, 用僅拿出一個測試樣本的交叉驗證方法, 交叉驗證的錯誤率是多少: A 0% B 100% C 0%到100 D 以上都不是 正確答案是: B knn演算法就是, 在樣本週圍看k個樣本

      一個月刷完機器學習筆試題300題6

      第六天 61、bootstrap資料是什麼意思?(提示:考“bootstrap”和“boosting”區別) A 有放回地從總共M個特徵中抽樣m個特徵 B 無放回地從總共M個特徵中抽樣m個特徵 C 有放回地從總共N個樣本中抽樣n個樣本 D 無放回地從總共N個樣本中抽樣n個樣本 正確答案是

      一個月刷完機器學習筆試題300題5

      第五天 1、下列方法中,不可以用於特徵降維的方法包括 A 主成分分析PCA B 線性判別分析LDA C 深度學習SparseAutoEncoder D 矩陣奇異值分解SVD 正確答案是:C 特徵降維方法主要有: PCA,LLE,Isomap SVD和PCA類似,也可以看成一種降維方法 L

      一個月刷完機器學習筆試題300題4

      第四天: 1、下列時間序列模型中,哪一個模型可以較好地擬合波動性的分析和預測。 A AR模型 B MA模型 C ARMA模型 D GARCH模型 解析:AR auto regressive model AR模型是一種線性預測 MA模型(moving average model)滑動平均模

      一個月刷完機器學習筆試題300題2

      第二天 1、一個二進位制源X發出符號集為{-1,1},經過離散無記憶通道傳輸,由於通道中噪音的存在,接收端Y收到符號集為{-1,1,0}。已知P(x=-1)=1/4,P(x=1)=3/4,P(y=-1|x=-1)=4/5,P(y=0|x=-1)=1/5,P(y=1|x=1)=3/4,P(

      機器學習】簡單理解精確度precision和準確率accuracy的區別

          不少人對分類指標中的Precision和Accuracy區分不開,在其他部落格中也有很多相關介紹,但總體不夠簡明易懂。     筆者在查閱了若干資料後,總結如下:     Precis

      機器學習筆記——最鄰近演算法KNN補充

      最鄰近演算法補充(K-Nearest Neighbor,KNN) 1、訓練資料集?測試資料集? 我們在使用機器學習演算法訓練好模型以後,是否直接投入真實環境中使用呢?其實並不是這樣的,在訓練好模型後我們往往需要對我們所建立的模型做一個評估來判斷當前機器學習演算法的效能,當我們在