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(ci∣x)可获得将样本 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(ci∣x)=j=1∑NλijP(cj∣x)
[注]:
这篇文章解释的不错。
先验概率
是指根据以往经验和分析得到的概率。
后验概率
是由果得到因的概率,根据结果我们求原因的概率。
比如这里的
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(c∣x)最小的类别标记,这就是贝叶斯判定准则
。
如果我们按照(最小化分类错误率)
λ
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(ci∣x)=1−P(ci∣x)。
所以要使得
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(c∣x)=P(x)P(c)P(x∣c)
P
(
c
)
P(c)
P(c)是先验概率,指的是标记
c
c
c存在的概率,
x
x
x不考虑具体特征的情况下有多大可能是标记
c
c
c,如果保证训练集包含充足的独立同分布样本时,即指样本空间各类样本所占的比例。
P
(
x
∣
c
)
P(x|c)
P(x∣c)是样本
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(x∣c)具有确定的形式并且被 θ 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)=x∈Dc∏P(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(x∣c)∼N(uc,σc2),其参数的最大似然估计。
u
c
^
=
∑
x
∣
D
c
∣
\hat{u_c}=\frac{\sum x}{|D_c|}
uc^=∣Dc∣∑x
σ
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∣∑(x−uc^)(x−uc^)T
即正态分布均值就是样本均值,正态分布方差就是样本方差
P S : PS: PS:不一定都是正态分布。
朴素贝叶斯分类器
上面讲了求解的时候,似然是
P
(
x
∣
c
)
P(x|c)
P(x∣c),特征很难保证取到所有可能的特征,也就是很难保证有效的估计。
朴素贝叶斯分类器,采用了属性条件独立性假设
:对于已知类别,所有属性相互独立,也就是独立地分类结果产生影响。
这样能保证样本的数据贡献更大,很少会出现不存在某个特征的情况。
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(c∣x)=P(x)P(c)P(x∣c)=P(x)P(c)∏P(xi∣c),因为对于所有类别证据因子
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)=c∈yargmaxP(c)∏P(xi∣c)
P
(
c
)
=
D
c
∣
D
∣
P(c)=\frac{D_c}{|D|}
P(c)=∣D∣Dc
P
(
x
i
∣
c
)
=
∣
D
c
,
x
i
∣
∣
D
c
∣
P(x_i|c)=\frac{|D_{c,x_i}|}{|D_c|}
P(xi∣c)=∣Dc∣∣Dc,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(xi∣c)=2πσc,i1exp(−2σc,i2(xi−uc,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∣+N∣Dc∣+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(xi∣c)^=∣DC∣+Ni∣Dc,xi∣+1
未学习
半朴素贝叶斯分类器等
实例
朴素贝叶斯实现垃圾邮件