1. 程式人生 > >從零開始-Machine Learning學習筆記(24)-貝葉斯分類器

從零開始-Machine Learning學習筆記(24)-貝葉斯分類器

  首先還是先取出周志華先生在《機器學習》貝葉斯分類器一章中對於貝葉斯決策論的定義:

貝葉斯決策論是概率框架下實施決策的基本方法。在分類任務中,在所有相關概率都已知的情況下,貝葉斯決策論考慮的是如何基於這些概率和誤判損失來選擇最優的標記。

  基於最小化條件風險,我們可以得到最小化分類錯誤率的貝葉斯最優分類器:
h (

x ) = arg max c
y
P ( c x ) h^{*}(x) = \arg \max_{c ∈ y}P(c|x)

  根據上面的公式我們可以看出,要獲得最優的貝葉斯分類器,需要知道後驗概率P(c|x),但是在實際中,往往很難直接獲得。基於訓練集,我們通常有兩種策略:
判別式模型: 利用訓練集來建模,給定x,通過P(c|x)來預測c。顯然,我們常見的決策樹、BP神經網路、支援向量機和邏輯迴歸等都屬於此類範疇。
生成式模型: 單純從概率的角度出發,從訓練集中直接生成P(c|x),顯然根據貝葉斯定理,可以把P(c|x)進行轉化:
P ( c x ) = P ( c ) P ( x c ) P ( x ) P(c|x) = \frac{P(c)P(x|c)}{P(x)}
其中:
P(c):是先驗概率,表示為c類標記在訓練集中所佔的比例;
P(x): “證據”因子,(這裡我認為是樣本x出現的概率,如果訓練集沒有異常資料,即樣本特徵的屬性一樣,但是標記不一樣的話,那麼P(x)應該都是一樣的);
P(x|c):是樣本x對標記c的條件概率,或稱之為“似然”。
對與給定樣本x,證據因子P(x)就與類別標記無關,因此估計P(c|x)的問題就轉化為如何基於訓練集D來估計先驗概率P©和似然P(x|c)。其中,P(x|c)與x所有的屬性的聯合概率有關,所以直接用樣本出現的概率來估計會遇到嚴重的困難。

1. 朴樹貝葉斯分類器

  因為P(x|c)是所有屬性上的聯合概率,很難直接從訓練集中估計得到(訓練集給出的樣例可能涵蓋不了所有的屬性組合)。為了避開這個障礙,樸素貝葉斯分類器採用了屬性條件獨立性假設:對於已知類別,假設所有屬性相互獨立,換言之,假設每個屬性獨立地對分類結果發生影響。基於屬性獨立假設有:
P ( c x ) = P ( c ) P ( x c ) P ( x ) = P ( c ) P ( x ) i = 1 d P ( x i c ) P(c|x) = \frac{P(c)P(x|c)}{P(x)}=\frac{P(c)}{P(x)} \prod_{i=1}^{d} P(x_i|c)
其中d為屬性數目(特徵), x i x_i 表示x在第i個屬性(特徵)上的取值。所以此時的貝葉斯判定準則可以寫為:
h n b ( x ) = arg max c y P ( c ) i = 1 d P ( x i c ) h_{nb}(x) = \arg \max_{c ∈ y} P(c)\prod_{i=1}^{d}P(x_i|c)
其中,P(c)表示第c類樣本在訓練集樣本中所佔的比例。假設 D c D_c 為標記為c的樣本集合,那麼P©可表示為:
P ( c ) = D c D P(c) = \frac{|D_c|}{D}
對於離散屬性: P(x_i|c)可表示為在樣本標記為c的集合中,在第i個屬性(特徵)上取值為 x i x_i 的樣本所佔的比例。用 D x i , c D_{x_i,c} 樣本標記為c的集合中,在第i個屬性(特徵)上取值為 x i x_i 的樣本集合,則:
P ( x i c ) = D x i , c D c P(x_i|c) = \frac{|D_{x_i,c}|}{|D_c|}
對於連續屬性: 一般考慮密度函式,一般假定其服從高斯分佈: P ( x i c ) P(x_i|c) ~ N ( μ c i σ c , i 2 ) N(\mu_{c,i}, \sigma_{c,i}^2) ,其中 μ c , i \mu_{c,i} σ c , i 2 \sigma_{c,i}^2 表示為第c類樣本集合中,在第i個屬性(特徵)上取值的均值和方差,於是:
P ( x i , c ) = 1 2 π σ c , i e x p ( ( x i μ c , i ) 2 2 σ c , i 2 ) P(x_i,c) = \frac{1}{\sqrt{2\pi}\sigma_{c,i}}exp(-\frac{(x_i-\mu_{c,i})^2}{2\sigma_{c,i}^2})
【!!!但是】:如果某個屬性值(某個特徵對應的取值)在訓練集中從來沒有出現過,那麼計算 P ( x i c ) = 0 P(x_i|c)=0 ,就會導致連乘以式求得的概率值為0。這意味著即便在其他屬性上明顯是正樣本,但是由於這個屬性的原因,導致最後的預測結果為負樣本,這顯然是不合理的。
  為了解決這個問題,常用拉普拉斯修正,即對P( c )和 P ( x i c ) P(x_i|c) 進下如下的修正:
P ( c ) = D c + 1 D + N P ( x i , c ) = D c , x i + 1 D c + N i P(c) = \frac{|D_c|+1}{|D|+N} \\ P(x_i,c) = \frac{|D_{c,x_i}|+1}{|D_c|+N_i}

相關推薦

開始-Machine Learning學習筆記(24)-分類

  首先還是先取出周志華先生在《機器學習》貝葉斯分類器一章中對於貝葉斯決策論的定義: 貝葉斯決策論是概率框架下實施決策的基本方法。在分類任務中,在所有相關概率都已知的情況下,貝葉斯決策論考慮的是如何基於這些概率和誤判損失來選擇最優的標記。   基於最小化條件風險,我

開始-Machine Learning學習筆記(25)-整合學習

文章目錄 1. Boosting - AdaBoosting 2. Bagging與隨機森林 2.1 Bagging - 並行式整合學習 2.2 隨機森林 3. 結合策略

開始-Machine Learning學習筆記(26)-聚類

文章目錄 0. 前言 1. 聚類的效能度量和距離計算 1.1 效能度量 1.2 距離計算 2. 原型聚類 2.1 K-means 2.2 學

開始-Machine Learning學習筆記(31)-規則學習

文章目錄 1. 基本概念 2. 序貫覆蓋 3. 剪枝優化 3.1 預剪枝-CN2演算法 3.2 後剪枝-RIPPER演算法 4. 一階規則學習 5. 歸納邏

開始-Machine Learning學習筆記(30)-概率圖模型

文章目錄 1. 隱馬爾可夫模型(Hidden Markov Model,HMM) 2. 馬爾科夫隨機場(Markov Random Field, MRF) 3. 條件隨機場(Conditional Random Field,

開始-Machine Learning學習筆記(29)-半監督學習

文章目錄 1. 生成式方法 2. 半監督SVM(Semi-Supervised Support Vector Machine, S3VM) 3. 圖半監督學習 3.1 針對於二分類問題的標記傳播

開始-Machine Learning學習筆記(27)-降維與度量學習

文章目錄 1. k近鄰學習 - (k-Nearest Neighbor, KNN) 2. 低維嵌入 3. 主成分分析(Principal Component Analysis, PCA) 4. 核化線性降維 - K

開始-Machine Learning學習筆記(19)-One-hot與啞變數的區別與聯絡

One-hot與啞變數的區別與聯絡 1. One-hot編碼   獨熱編碼直觀來說就是有多少個狀態就有多少個bit,且只有一個bit是1,其餘全是0的一種編碼方式。舉個例子就是一個氣球有四種顏色紅色R,紫色P,藍色B和黃色Y,我們使用One-hot進行編碼就可以

開始-Machine Learning學習筆記(23)

0. 前言   最近的計劃是先將周志華先生的《機器學習》整體先過一遍,對於其中的經典演算法中的一些公式進行推導和理解,並整理成筆記。關於課後習題部分先暫時放一放,留待下個月研究《Machine Learning in Action》的時候,在完成課後習題中關於

開始-Machine Learning學習筆記(32)-強化學習

文章目錄 1. K-搖臂賭博機 1.1 探索與利用 1.2 $\epsilon$ -貪心 1.3 Softmax 2. 有模型學習 2.1 策略評估

開始-Machine Learning學習筆記(1)-機器學習概述

​ 機器學習,顧名思義就是機器像人一樣進行“學習”,是近兩年來最為人津津樂道的名詞之一,這一名稱的由來卻鮮為人所提起。在最近閱讀周志華先生的《機器學習》一書之中,在其第一章的小故事中得到這一名詞的由來。 ​ 1952年,阿瑟·薩繆爾在IBM公司研製了一

開始-Machine Learning學習筆記(28)-特徵選擇與稀疏學習

  特徵選擇的目的主要有兩個:首先,我們在現實任務中經常會遇到維數災難問題,這是由於屬性過多而造成的,若能從中選擇出重要的特徵,使得後續學習過程僅需在-部分特徵上構建模型,則維數災難問題會大為減輕。這與降維的目的類似。第一個原因是,去除不相關特徵往往會降低學習任

開始-Machine Learning學習筆記(8)-指數平滑及python實現

1. 指數平滑的定義及應用場景 ​ 指數平滑由布朗提出、他認為時間序列的態勢具有穩定性或規則性,所以時間序列可被合理地順勢推延;他認為最近的過去態勢,在某種程度上會持續的未來,所以將較大的權數放在最近的資料。指數平滑法是移動平均法中的一種,其特點在於給過去

機器學習筆記(七)分類

7.貝葉斯分類器 7.1貝葉斯決策論 貝葉斯決策論(Bayesiandecision theory)是概率框架下實施決策的基本方法。對分類任務來說,在所有相關概率都已知的理想情形下,貝葉斯決策論考慮如何基於這些概率和誤判損失來選擇最優的類別標記。這其實是關係到兩個基本概念:

機器學習系列——樸素分類(二)

表示 -h line log ima 條件 code 樸素貝葉斯 spa 貝葉斯定理: 其中: 表示事件B已經發生的前提下,事件A發生的概率,叫做事件B發生下事件A的條件概率。其基本求解公式為:。 機器學習系列——樸素貝葉斯分類器(二)

sklearn庫學習之樸素分類

樸素貝葉斯模型 樸素貝葉斯模型的泛化能力比線性模型稍差,但它的訓練速度更快。它通過單獨檢視每個特徵來學習引數,並從每個特徵中收集簡單的類別統計資料。想要作出預測,需要將資料點與每個類別的統計資料進行比較,並將最匹配的類別作為預測結果。 GaussianNB應用於任意連續資料,

機器學習之多項式分類multinomialNB

機器學習之多項式貝葉斯分類器multinomialNB # -*- coding: utf-8 -*- """ Created on Sun Nov 25 11:28:25 2018 @author: muli """ from sklearn import nai

機器學習:樸素分類,決策函式向量化處理,mask使用技巧

文章目錄 前面實現的樸素貝葉斯分類器,決策函式是非向量化的: 藉助於numpy向量化處理,相當於平行計算,注意mask使用技巧,用途較廣: 前面實現的樸素貝葉斯分類器,決策函式是非向量化的: 前面提到過大資料處理,儘量避免個人的遍歷等一些函式

機器學習:樸素分類程式碼實現,決策函式非向量化方式

文章目錄 樸素貝葉斯離散型的演算法描述: 程式碼實現: 實現一個NaiveBayes的基類,以便擴充套件: 實現離散型樸素貝葉斯MultiomialNB類: 實現從檔案中讀取資料: 測試資料: 程式碼測試:

機器學習之樸素分類附C++程式碼

一、基本概念: 先驗概率(prior probability):是指根據以往經驗和分析得到的概率,如全概率公式,它往往作為"由因求果"問題中的"因"出現的概率。比如,拋一枚硬幣,正面朝上的概率P(A)=1/2,就是先驗概率。聯合概率:表示兩個事件共同發生的概率。A與B的