朴素贝叶斯法

P S : PS: PS: 以下大部分基于西瓜书

贝叶斯决策论是概率框架下实施决策的基本方法。

贝叶斯决策论

假设有 N N N种可能的类别标记,即 { c 1 , c 2 , . . . , c N } \{c_1,c_2,...,c_N\} {c1,c2,...,cN} λ i j \lambda_{ij} λij是将一个真实标记为 c j c_j cj的样本误分类为 c i c_i ci所产生的损失,基于后验概率 P ( c i ∣ x ) P(c_i|x) P(cix)可获得将样本 x x x分类为 c i c_i ci所产生的期望损失,即在样本 x x x上的"条件风险":

R ( c i ∣ x ) = ∑ j = 1 N λ i j P ( c j ∣ x ) R(c_i|x)=\sum\limits_{j=1}^N{\lambda_{ij}P(c_j|x)} R(cix)=j=1NλijP(cjx)
[注]:
这篇文章解释的不错。
先验概率是指根据以往经验和分析得到的概率。
后验概率是由果得到因的概率,根据结果我们求原因的概率。

比如这里的 P P P,即是对于真实标记为 c i c_i ci x x x样本这个结果,分类成 c j c_j cj的这个起因概率是 P P P
有了这个 P P P才会造成这个损失,所以也可以看作是实际导火索的概率,这才是我们实际所需要的。

我们需要找到一个判定准则 h h h,以最小化总体风险。
显然我们只需要对于每个样本找使得每个 R ( c ∣ x ) R(c|x) R(cx)最小的类别标记,这就是贝叶斯判定准则

如果我们按照(最小化分类错误率) λ i j = { 0 i=j 1 else \lambda_{ij}= \begin{cases} 0& \text{i=j}\\ 1& \text{else} \end{cases} λij={01i=jelse,显然有 R ( c i ∣ x ) = 1 − P ( c i ∣ x ) R(c_i|x)=1-P(c_i|x) R(cix)=1P(cix)
所以要使得 R R R最小,即找到最大的 P P P,但是我们是无法得到后验概率的,所以我们需要去找一个方法去估计后验概率。

基于贝叶斯定理,有:

P ( c ∣ x ) = P ( c ) P ( x ∣ c ) P ( x ) P(c|x)=\frac{P(c)P(x|c)}{P(x)} P(cx)=P(x)P(c)P(xc)
P ( c ) P(c) P(c)是先验概率,指的是标记 c c c存在的概率, x x x不考虑具体特征的情况下有多大可能是标记 c c c,如果保证训练集包含充足的独立同分布样本时,即指样本空间各类样本所占的比例。
P ( x ∣ c ) P(x|c) P(xc)是样本 x x x相对于类标记 c c c的类条件概率,或者称为似然。其指的是对于类标记 c c c,样本 x x x有多大概率符合标记 y y y(首先 x x x有自己的特征,所以我们求得是如果标记是 c c c,那么其特征是 x = y x=y x=y的概率是多少)。
显然似然不能靠比例估计,因为特征空间可以很大,这个无法通过样本模拟。

极大似然估计

也称为 M L E MLE MLE

我们假设 P ( x ∣ c ) P(x|c) P(xc)具有确定的形式并且被 θ c \theta_c θc唯一确定,即 P ( x ∣ θ c ) P(x|\theta_c) P(xθc)

D c D_c Dc为训练集 D D D中第 c c c类样本组成的集合,假设这些样本是独立同分布的,则参数 θ c \theta_c θc对于数据集 D c D_c Dc的似然是:
P ( D c ∣ θ c ) = ∏ x ∈ D c P ( x ∣ θ c ) P(D_c|\theta_c)=\prod_{x\in D_c}P(x|\theta_c) P(Dcθc)=xDcP(xθc)
θ c ^ = arg max ⁡ P ( D c ∣ θ c ) \hat{\theta_c}=\argmax P(D_c|\theta_c) θc^=argmaxP(Dcθc)
连乘操作,容易溢出,改成 L L ( θ c ) = log ⁡ P ( D c ∣ θ c ) LL(\theta_c)=\log P(D_c|\theta_c) LL(θc)=logP(Dcθc)

以上是离散特征的情况,如果属性值是连续的,假设概率密度函数 p ( x ∣ c ) ∼ N ( u c , σ c 2 ) p(x|c) \sim N(u_c,\sigma_c ^2) p(xc)N(uc,σc2),其参数的最大似然估计。
u c ^ = ∑ x ∣ D c ∣ \hat{u_c}=\frac{\sum x}{|D_c|} uc^=Dcx
σ c 2 ^ = ∑ ( x − u c ^ ) ( x − u c ^ ) T ∣ D c ∣ \hat{\sigma_c^2}=\frac{\sum (x-\hat{u_c})(x-\hat{u_c})^T}{|D_c|} σc2^=Dc(xuc^)(xuc^)T
即正态分布均值就是样本均值,正态分布方差就是样本方差

P S : PS: PS:不一定都是正态分布。

朴素贝叶斯分类器

上面讲了求解的时候,似然是 P ( x ∣ c ) P(x|c) P(xc),特征很难保证取到所有可能的特征,也就是很难保证有效的估计。
朴素贝叶斯分类器,采用了属性条件独立性假设:对于已知类别,所有属性相互独立,也就是独立地分类结果产生影响。
这样能保证样本的数据贡献更大,很少会出现不存在某个特征的情况。
P ( c ∣ x ) = P ( c ) P ( x ∣ c ) P ( x ) = P ( c ) P ( x ) ∏ P ( x i ∣ c ) P(c|x)=\frac{P(c)P(x|c)}{P(x)}=\frac{P(c)}{P(x)}\prod P(x_i|c) P(cx)=P(x)P(c)P(xc)=P(x)P(c)P(xic),因为对于所有类别证据因子 P ( x ) P(x) P(x)是相同的(相当于分子的全概率),所以最后判定准则为:

h n b ( x ) = arg max ⁡ c ∈ y P ( c ) ∏ P ( x i ∣ c ) h_{nb}(x)=\mathop{\argmax}\limits_{c \in y} P(c)\prod P(x_i|c) hnb(x)=cyargmaxP(c)P(xic)
P ( c ) = D c ∣ D ∣ P(c)=\frac{D_c}{|D|} P(c)=DDc
P ( x i ∣ c ) = ∣ D c , x i ∣ ∣ D c ∣ P(x_i|c)=\frac{|D_{c,x_i}|}{|D_c|} P(xic)=DcDc,xi

连续属性的话, P ( x i ∣ c ) = 1 2 π σ c , i exp ⁡ ( − ( x i − u c , i ) 2 2 σ c , i 2 ) P(x_i|c)=\frac{1}{\sqrt{2\pi}\sigma_{c,i}}\exp(-\frac{(x_i-u_{c,i})^2}{2\sigma^2_{c,i}}) P(xic)=2π σc,i1exp(2σc,i2(xiuc,i)2)
分别是第 c c c类样本,在第 i i i个属性上取值的均值和方差。

P S : PS: PS:为了避免其他属性携带的信息被训练集中未出现的属性值抹去(因为最终求解是连乘的,如果有一项是 0 0 0,总概率就是 0 0 0了),在估计概率值时通常要进行平滑,常用“拉普拉斯平滑”:

N N N表示 D D D中可能的类别数, N i N_i Ni表示第 i i i个属性可能的取值数。
P ( c ) ^ = ∣ D c ∣ + 1 ∣ D ∣ + N \hat{P(c)}=\frac{|D_c|+1}{|D|+N} P(c)^=D+NDc+1
P ( x i ∣ c ) ^ = ∣ D c , x i ∣ + 1 ∣ D C ∣ + N i \hat{P(x_i|c)}=\frac{|D_{c,x_i}|+1}{|D_C|+N_i} P(xic)^=DC+NiDc,xi+1

未学习

半朴素贝叶斯分类器等

实例

朴素贝叶斯实现垃圾邮件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值