高斯判别分析回顾
朴素贝叶斯和高斯判别分析都是生成式模型,都针对联合概率
p
(
x
,
y
)
=
p
(
y
)
p
(
x
∣
y
)
p(x,y)=p(y)p(x|y)
p(x,y)=p(y)p(x∣y)进行建模:
y
=
a
r
g
m
a
x
y
∈
{
0
,
1
}
p
(
y
∣
x
)
=
a
r
g
m
a
x
y
∈
{
0
,
1
}
p
(
y
)
p
(
x
∣
y
)
y=argmax_{y\in\left\{0,1\right\}}p(y|x)=argmax_{y\in\left\{0,1\right\}}p(y)p(x|y)
y=argmaxy∈{0,1}p(y∣x)=argmaxy∈{0,1}p(y)p(x∣y)
另外生成式模型具有一个较隐藏的特点:对先验概率
p
(
x
∣
y
)
p(x|y)
p(x∣y)具有强假设前提,也正是得益于强假设前提,模型的表达才变得简单。比如高斯判别分析,其假设在指定类别
y
=
C
i
y=C_{i}
y=Ci情况下,先验概率
p
(
x
∣
y
=
C
i
)
p(x|y=C_{i})
p(x∣y=Ci)强制性服从高斯分布,并且不同类别
y
y
y的高斯分布仅均值不同,协方差矩阵都一致。对于二维的高斯分布,可以找到可视化的实例:
从上图看出,对于平面上任意一点,既可能属于 y = C 0 y=C_{0} y=C0类别,又可能属于 y = C 1 y=C_{1} y=C1类别,要判断是哪一类,则需要比较 p ( y = C 0 ) p ( x ∣ y = C 0 ) p(y=C_{0})p(x|y=C_{0}) p(y=C0)p(x∣y=C0)和 p ( y = C 1 ) p ( x ∣ y = C 1 ) p(y=C_{1})p(x|y=C_{1}) p(y=C1)p(x∣y=C1)哪个值更大;而这其中最重要的假设就是: p ( x ∣ y = C i ) p(x|y=C_{i}) p(x∣y=Ci)是一组均值不同,协方差矩阵相同的高斯分布。
朴素贝叶斯原理
假设随机变量 y y y表示分类, y ∈ { 0 , 1 } y\in\left\{0,1\right\} y∈{0,1},样本 x x x是一个 p p p维的随机向量, x ∈ R p x\in R^{p} x∈Rp,代表样本的 p p p个特征,第 j j j个特征表示为 x i j x_{i}^{j} xij;
给定一组样本:
{
(
x
i
,
y
i
)
∣
i
=
1
,
.
.
.
,
N
}
\left\{(x_{i},y_{i})|i=1,...,N\right\}
{(xi,yi)∣i=1,...,N},样本的类别以生成式模型表达:
y
^
i
=
a
r
g
m
a
x
y
i
∈
{
0
,
1
}
p
(
y
i
∣
x
i
)
=
a
r
g
m
a
x
y
i
∈
{
0
,
1
}
p
(
y
i
)
p
(
x
i
∣
y
i
)
\widehat{y}_{i}=argmax_{y_{i}\in\left\{0,1\right\}}p(y_{i}|x_{i})=argmax_{y_{i}\in\left\{0,1\right\}}p(y_{i})p(x_{i}|y_{i})
y
i=argmaxyi∈{0,1}p(yi∣xi)=argmaxyi∈{0,1}p(yi)p(xi∣yi)
在朴素贝叶斯中,先验概率
p
(
x
∣
y
)
p(x|y)
p(x∣y)遵循条件独立性假设(得名"朴素"二字的原因),即:在给定分类
y
y
y的前提下,样本
x
x
x的
p
p
p维特征相互独立;
基于条件独立性假设有:
a
r
g
m
a
x
y
p
(
y
)
p
(
x
∣
y
)
=
a
r
g
m
a
x
y
p
(
y
)
p
(
x
1
,
x
2
,
.
.
.
,
x
p
∣
y
)
=
a
r
g
m
a
x
y
p
(
y
)
p
(
x
1
∣
y
)
.
.
.
p
(
x
p
∣
y
)
argmax_{y}p(y)p(x|y)=argmax_{y}p(y)p(x^{1},x^{2},...,x^{p}|y)=argmax_{y}p(y)p(x^{1}|y)...p(x^{p}|y)
argmaxyp(y)p(x∣y)=argmaxyp(y)p(x1,x2,...,xp∣y)=argmaxyp(y)p(x1∣y)...p(xp∣y)
对于上述表达,参数估计将不需要进行高斯判别分析中的复杂推导(不需要极大似然估计参数),由于强假设:各维特征相互独立,因此
p
(
y
)
p(y)
p(y)和
p
(
x
i
∣
y
)
p(x^{i}|y)
p(xi∣y)均可以直接通过数据的统计结果得到。这正是贝叶斯学派的思想:一切都是随机变量,即使是参数,也是随机变量。
比如举一个例子:
序号 | 特征1 | 特征2 | 类别 |
---|---|---|---|
1 | 1 | 60 | 0 |
2 | 2 | 80 | 0 |
3 | 3 | 80 | 0 |
4 | 2 | 80 | 0 |
5 | 1 | 40 | 0 |
6 | 2 | 40 | 1 |
7 | 1 | 40 | 1 |
8 | 1 | 40 | 1 |
9 | 3 | 60 | 1 |
10 | 3 | 80 | 1 |
现在给定一个样本,特征1=2,特征2=80,用朴素贝叶斯方法判断其类别:
- 记特征1为 x 1 x^{1} x1,特征2为 x 2 x^{2} x2,类别为 y y y,计算不同类别 y = 0 , 1 y=0,1 y=0,1情况下 p ( y ) p ( x 1 = 2 ∣ y ) p ( x 2 = 80 ∣ y ) p(y)p(x^{1}=2|y)p(x^{2}=80|y) p(y)p(x1=2∣y)p(x2=80∣y)哪个更大;
- 结果为:
p ( y = 0 ) p ( x 1 = 2 ∣ y = 0 ) p ( x 2 = 80 ∣ y = 0 ) = 0.5 × 0.4 × 0.6 = 0.12 p(y=0)p(x^{1}=2|y=0)p(x^{2}=80|y=0)=0.5\times 0.4\times 0.6=0.12 p(y=0)p(x1=2∣y=0)p(x2=80∣y=0)=0.5×0.4×0.6=0.12
p ( y = 1 ) p ( x 1 = 2 ∣ y = 1 ) p ( x 2 = 80 ∣ y = 1 ) = 0.5 × 0.2 × 0.2 = 0.02 p(y=1)p(x^{1}=2|y=1)p(x^{2}=80|y=1)=0.5\times 0.2\times 0.2=0.02 p(y=1)p(x1=2∣y=1)p(x2=80∣y=1)=0.5×0.2×0.2=0.02
因此推断该样本为类别 0 0 0;
关于条件独立性的思考
针对联合概率分布,可以展开为:
p
(
x
,
y
)
=
p
(
x
1
,
.
.
.
,
x
p
,
y
)
=
p
(
x
1
∣
x
2
,
.
.
.
,
x
p
,
y
)
.
.
.
p
(
x
p
−
2
∣
x
p
−
1
,
x
p
,
y
)
p
(
x
p
−
1
∣
x
p
,
y
)
p
(
x
p
∣
y
)
p
(
y
)
p(x,y)=p(x^{1},...,x^{p},y)=p(x^{1}|x^{2},...,x^{p},y)...p(x^{p-2}|x^{p-1},x^{p},y)p(x^{p-1}|x^{p},y)p(x^{p}|y)p(y)
p(x,y)=p(x1,...,xp,y)=p(x1∣x2,...,xp,y)...p(xp−2∣xp−1,xp,y)p(xp−1∣xp,y)p(xp∣y)p(y)
引入条件独立性假设后,有:
p
(
x
i
∣
x
i
+
1
,
x
i
+
2
,
.
.
.
,
x
n
,
y
)
=
p
(
x
i
∣
y
)
p(x^{i}|x^{i+1},x^{i+2},...,x^{n},y)=p(x^{i}|y)
p(xi∣xi+1,xi+2,...,xn,y)=p(xi∣y)
即在给定
y
y
y后,
x
i
x^{i}
xi以外的特征都不影响
x
i
x^{i}
xi出现所对应的条件概率,即得到朴素贝叶斯中的化简。
在正常情况下, x i x^{i} xi与 x j x^{j} xj之间总会存在关联,很难处于相互独立的状态,但是考虑特征之间的相关性会为建模带来很大的复杂性,出于简单考虑的目的,朴素贝叶斯由此提出。
朴素贝叶斯其实是一种最简单的有向概率图模型,其概率图表示如下:
随机过程中的马尔科夫性也是一种简单的有向概率图模型,对于一阶马尔科夫性,定义为:下一时刻的状态只与当前状态相关,与过去的状态无关,这是马尔科夫的假设前提,其概率图为:
即:
p
(
x
n
∣
x
n
−
1
,
x
n
−
2
,
.
.
.
,
x
1
)
=
p
(
x
n
∣
x
n
−
1
)
p(x_{n}|x_{n-1},x_{n-2},...,x_{1})=p(x_{n}|x_{n-1})
p(xn∣xn−1,xn−2,...,x1)=p(xn∣xn−1)
其中,
x
n
,
x
n
−
1
,
x
n
−
2
x_{n},x_{n-1},x_{n-2}
xn,xn−1,xn−2表示一系列的状态,和朴素贝叶斯的假设的最终目标一样,马尔科夫性的假设前提是为了帮助我们化简概率。