朴素贝叶斯的原理
前言
朴素贝叶斯法(naive bayses)是基于贝叶斯定理和条件独立假设的分类方法,属于生成模型。
贝叶斯定理:
条件独立假设:用于分类的特征在类确定的条件下都是条件独立的(作用是简化运算)。
一. 模型
通过训练集学习联合概率分布P(X,Y)。不过在此之前需要先学习先验概率和条件概率分布。
- 先计算P(Y=c_k)这个先验概率分布:
- 根据条件独立性假设计算P(X=x|Y=c_k)这个条件概率分布:
在已知上面两个公式以后,我们模型训练完成。当输入一个X以后,我们可以求在这个X条件下,取得特定Y的概率。计算给定数据条件下模型的条件概率是叫做后验概率。
根据贝叶斯定理求后验概率:
代入,变形:
由于不管Y=c_k怎么取,分母都一样,所以可以去掉比较。这时我们要取使P(Y=c_k)概率最大时的Y=c_k:
二. 策略
为什么要取后验概率最大的类作为输入X的类呢?
首先我们已知策略是选择期望风险最小的模型。假设我们的损失函数是0-1损失函数:
期望风险函数:
我们不知道联合分布P(X,Y),而且X,Y是离散型的,所以在给定X,不同Y取值时的条件期望:
参考什么是条件期望:
https://baike.baidu.com/item/%E6%9D%A1%E4%BB%B6%E6%9C%9F%E6%9C%9B/3066519?fr=aladdin
我们要让期望风险最小,最后就是后验概率最大的时候:【注意:L(c_k,y)=0,当y=c_k时】
这就是朴素贝叶斯采取的策略。
三. 算法
总的来说:先算Y的先验概率,再算Y不同条件下不同X的不同特征的条件概率,最后给定X下计算后验概率,比较Y=c_k哪个大取哪个。(看统计学习方法书上的例题特别好懂)
四. 求先验概率和条件概率的不同方法
极大似然估计
- 先验概率:数总数下Y=c_k的个数
- 条件概率:数条件Y下不同X的不同特征的个数:
但是极大似然估计可能出现所要估计的概率值为0的情况。就是说某个X的特征有但是为0次数,他会影响之后的后验概率,应为是乘法。所以我们才有贝叶斯估计。
贝叶斯估计
-
先验概率:K表示Y的类别个数
-
条件概率:其中λ≥0,等于0就是极大似然估计。S_j表示X特征的个数。