【机器学习】Naive Bayes 朴素贝叶斯

1.基本原理和步骤

Naive Bayes methods are a set of supervised learning algorithms based on applying Bayes’ theorem with the “naive” assumption of independence between every pair of features. Given a class variable y and a dependent feature vector x_1through x_n, Bayes’ theorem states the following relationship:

P(y \mid x_1, \dots, x_n) = \frac{P(y) P(x_1, \dots x_n \mid y)}                                 {P(x_1, \dots, x_n)}

Using the naive independence assumption that

P(x_i | y, x_1, \dots, x_{i-1}, x_{i+1}, \dots, x_n) = P(x_i | y),

for all i, this relationship is simplified to

P(y \mid x_1, \dots, x_n) = \frac{P(y) \prod_{i=1}^{n} P(x_i \mid y)}                                 {P(x_1, \dots, x_n)}

Since P(x_1, \dots, x_n) is constant given the input, we can use the following classification rule:

P(y \mid x_1, \dots, x_n) \propto P(y) \prod_{i=1}^{n} P(x_i \mid y)\Downarrow\hat{y} = \arg\max_y P(y) \prod_{i=1}^{n} P(x_i \mid y),

and we can use Maximum A Posteriori (MAP) estimation to estimate P(y) and P(x_i \mid y); the former is then the relative frequency of class y in the training set.


先澄清一个概念:MAP是最大后验证估计与MLE最大似然估计的区别

MAP最大后验估计 :是根据经验数据获得对难以观察的量的点估计。与最大似然估计类似,但是最大的不同时,最大后验估计的融入了要估计量的先验分布在其中。


MLE最大似然估计h_ml = argmax p(D|h) 不再乘以p(y)

详细说明如下:

最大似然估计:

最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。简单而言,假设我们要统计全国人口的身高,首先假设这个身高服从服从正态分布,但是该分布的均值与方差未知。我们没有人力与物力去统计全国每个人的身高,但是可以通过采样,获取部分人的身高,然后通过最大似然估计来获取上述假设中的正态分布的均值与方差。

最大似然估计中采样需满足一个很重要的假设,就是所有的采样都是独立同分布的。下面我们具体描述一下最大似然估计:

首先,假设为独立同分布的采样,θ为模型参数,f为我们所使用的模型,遵循我们上述的独立同分布假设。参数为θ的模型f产生上述采样可表示为

回到上面的“模型已定,参数未知”的说法,此时,我们已知的为,未知为θ,故似然定义为:

  

  在实际应用中常用的是两边取对数,得到公式如下:

  其中称为对数似然,而称为平均对数似然。而我们平时所称的最大似然为最大的对数平均似然,即:

  


以下是比较重要的几点

1.The different naive Bayes classifiers differ mainly by the assumptions they make regarding the distribution of P(x_i \mid y).

不同的朴素贝叶斯分类器的不同主要在于关于分布P(x_i \mid y) 所做的假设, 

GaussianNBMultinomialNBBernoulliNB 

GaussianNBP(x_i \mid y) &= \frac{1}{\sqrt{2\pi\sigma^2_y}} \exp\left(-\frac{(x_i - \mu_y)^2}{2\sigma^2_y}\right)用于属性是连续值的情况,比如根据【身高,体重】去分类是【大人,孩子】

MultinomialNB\hat{\theta}_{yi} = \frac{ N_{yi} + \alpha}{N_y + \alpha n}用于属性是离散值的情况,用阿尔法做了平滑处理,概率为0的情况

BernoulliNBP(x_i \mid y) = P(i \mid y) x_i + (1 - P(i \mid y)) (1 - x_i) 用于属性是二元离散值得情况binary/bool ,而且加了惩罚系数。

文本分类中用word occurrence vectors 单词出现与否的向量(rather than word count vectors) 而不是单词计数向量

2.用途:文本分类,垃圾分类


3. 优点:需要的训练集小,速度快

4.缺点:要求特征独立


还要注意missing data的处理,因为有的概率为0


参考资料:1.http://scikit-learn.org/stable/modules/naive_bayes.html

                    2.http://www.inf.ed.ac.uk/teaching/courses/iaml/slides/naive-2x2.pdf



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值