朴素贝叶斯分类

朴素贝叶斯分类

核心思想

选择具有最高概率的类别
如:
P(ci|X)>P(cj|X) ,则属于 ci
P(ci|X)<P(cj|X) ,则属于 cj

条件概率

P(A|B)=P(A,B)P(B)
理解为:在已知事件 B 发生的情况下, A 事件发生的概率,也就是条件概率。等于 AB 事件都发生的概率除以 B 事件发生的概率。然而在许多情况下我们需要计算 P(B|A) 的概率。
而, P(B|A)=P(A,B)P(A)
可以得到:
P(B|A)=P(A|B)P(B)P(A)
上式就是贝叶斯定理

基本方法

设输入空间 χRn n 维向量的集合,输出空间为类标签集合 Y={c1,c2,...,ck} 。输入为为特征向量 xεχ ,输出为类标记 yεY X 是定义在输入空间 χ 上的随机变量, Y 是定义在输出空间 Y 上的随机变量。 PXY XY 的联合概率分布,训练数据集:
T={(x1,y1),(x2,y2),...,(xN,yN)}
PXY 独立同分布产生。

朴素贝叶斯法通过训练数据集学习联合概率分布 P(X,Y) 。根据先验概率分布和条件概率分布,学习到联合概率分布。
先验概率分布:
P(Y=ck)k=123...,K
条件概率分布:
P(X=x|Y=ck)=P(X(1)=x(1),...X(n)=xn)|Y=ck)k=1,2,...,K

条件概率分布 P(X=x|Y=ck) 有指数级量的参数,其估计实际是不可行的。假设 x(j) 可取值有 Sj 个, j=1,2,...,n YK ,那么参数个数是 Knj=1Sj .

朴素贝叶斯对条件概率做了条件独立的假设,即:在给定的类条件下的特征之间是相互独立的。
P(X=x|Y=ck)=P(X(1)=x(1),...X(n)=xn)|Y=ck)
=nj=1P(X(j)=x(j)|Y=ck)

贝叶斯在分类时候,对于给定的 x ,通过学习得到的模型计算后验概率分布 P(Y=ck|X=x) ,将后验概率最大的类作为 x 的类蔬菜。
则根据贝叶斯定理,后验概率:
P(Y=ck|X=x)=P(X=x|Y=ck)P(Y=ck)kP(X=x|Y=ck)P(Y=ck)=P(Y=ck)jP(X(j)=x(j)|Y=ck)kP(Y=ck)jP(X(j)=x(j)|Y=ck) k=1,2,3,,K
这就是朴素贝叶斯分类的基本公式。
也可表示为 y=f(x)=argmaxckP(Y=ck)jP(X(j)=x(j)|Y=ck)kP(Y=ck)jP(X(j)=x(j)|Y=ck)
上式中分母对所有的 ck 都是相同的,上式简化为:

y=f(x)=argmaxckP(Y=ck)jP(X(j)=x(j)|Y=ck)
说明:这里所说的 ck 相同是指对一个测试样本(一条数据)数据,在判断其属于哪个类的时候分母是相同的。

后验概率最大化的含义

朴素贝叶斯将实例分到后验概率最大的类中,等价于期望风险最小化
假设0-1损失函数
朴素贝叶斯分类_第1张图片
其中 f(X) 是分类决策函数。
期望风险: Rexp(f)=E[L(Y,f(X))]
期望是对联合分布 P(X,Y) 取得,
Rexp(f)=ExKk=1[L(ck,f(X))]P(ck|X)
只有对每个 x 都去最小值时候,整体期望风险才能最小,当 X=x:
f(x)=argminyϵYKk=1L(ck,y)P(ck|X=x)
= argminyϵYKk=1P(yck|X=x)
= argminyϵY(1P(y=ck|X=x))
= argmaxyϵYP(y=ck|X=x)
所有,期望风险最小化等价于后验概率极大化准则:
f(x)=argmaxyϵYP(ck|X=x)

朴素贝叶斯法的参数估计

极大似然法

对于要测试的数据,我们要根据已知数据先估计 PY=ck P(X(j)=x(j)|Y=ck) .
先验概率 P(Y=ck) 的极大似然估计:
P(Y=ck)=Ni=1I(yi=ck)N,k=1,2,...,K
设第 j 个特征 x(j) 可能取值集合为 {aj1,aj2,...,ajSj}
条件概率 P(X(j)=ajl|Y=ck) 的极大似然估计是:
P(X(j)=ajl|Y=ck)=Ni=1I(x(j)i=ajl,yi=ck)Ni=1I(yi=ck)
其中, x(j)i 是第 i 个样本的第 j 个特征; ajl 是第 j 个特征可能取值的第 l 个取值; I 为指标函数

朴素贝叶斯分析算法

输入:训练集数据 T={(x1,y1),(x2,y2),...,(xN,yN)} ,其中 xi=(x(1)i,x(2)i,...,x(n)i)T x(j)i 是第 i 个样本的第 j 个特征; x(j)iϵ{aj1,aj2,...,ajSj} ajl 是第 j 个特征可能取值的第 l 个取值, j=1,2,3,...,Sj yiϵ{c1,c2,...,cK} ;实例: x
输出:实例 x 的分类
(1)计算先验概率,条件概率
P(Y=ck)=Ni=1I(yi=ck)N,k=1,2,...,K
P(X(j)=ajl|Y=ck)=Ni=1I(x(j)i=ajl,yi=ck)Ni=1I(yi=ck)
j=1,2,...,n l=1,2,3,...,Sj k=1,2,...,K
(2)对于给定的实例 x=(x(1),x(2),...,x(n))T
计算: P(Y=ck)jP(X(j)=x(j)|Y=ck) k=1,2,3,...,K
(3)确定实例 x 的类,选取后验概率最大的数据所在的类,作为实例 x 的类
y=f(x)=argmaxckP(Y=ck)jP(X(j)=x(j)|Y=ck)

贝叶斯估计

在上面的极大似然估计中,由于样本中的某个特征可能会不出现,概率可能会有0的情况,使后验概率为0,会降低分类的准确率。可使用贝叶斯估计来解决这个问题,具体做法是在条件概率和先验概率的分子分母各加一个常数
Pλ(X(j)=ajl|Y=ck)=Ni=1I(x(j)i=ajl,yi=ck)+λNi=1I(yi=ck)+Sjλ
λ>=0 01Laplacesmoothing
显然对任何 l=1,2,..,Sj,k=1,2,..,K
Pλ(X(j)=ajl|Y=ck)>0
Sil=1Pλ(X(j)=ajl|Y=ck)=1
先验概率的贝叶斯估计是:
Pλ(Y=ck)=Ni=1I(yi=ck)+λN+Kλ,k=1,2,...,K

高斯概率的朴素贝叶斯分类

参数估计的特征值是离散值,然后根据高斯概率密度的朴素贝叶斯可计算特征是连续值的情况。
多维高斯公式:
朴素贝叶斯分类_第2张图片
是协方差, u 是均值, D 是维度,即特征个数
根据高斯密度进行贝叶斯分类的前提是:每个特征符合高斯分布,又朴素贝叶斯分类的假设是特征之间相互独立。则上式中的 是对角阵,并等于各个特征的高斯概率密度之和。
只需要极大化 P(Y=ck|X=x)=p(x)
uckck

你可能感兴趣的:(机器学习,朴素贝叶斯分类,高斯贝叶斯分类)