最近在看机器学习方面的看法,写写博客增加一下自己的印象。
- 朴素贝叶斯原理介绍
- 后验概率最大化的含义
- 极大似然估计
- 贝叶斯估计
1、朴素贝叶斯原理介绍
条件独立性假设等于是说用于分类的特征在类确定的条件下都是条件独立的。这一假设使朴素贝叶斯计算起来更加的简单。但有时会牺牲一定的分类准确率。
在介绍贝叶斯之前有几个概念需要弄清楚。
- X X X:训练数据
- Y Y Y:假设空间
- y i y_i yi:假设
- 先验概率 P ( y i ) P(y_i) P(yi) :假设 y i y_i yi的先验概率(Prior Probability)(即在没有训练数据前假设 y i y_i yi拥有的初始概率)
- 条件概率 P ( X = x i ∣ y i ) P(X=x_i|y_i) P(X=xi∣yi) :似然度,在假设 y i y_i yi成立的情况下观察到 x i x_i xi的概率
- 后验概率 P ( y i ∣ X ) P(y_i|X) P(yi∣X):后验概率,给定训练数据X是 y i y_i yi成立的概率
贝叶斯定理 P ( y i ∣ X = x i ) = P ( X = x i ∣ y i ) P ( y i ) P ( X = x i ) P(y_i|X=x_i)=\frac{P(X=x_i|y_i)P(y_i)}{P(X=x_i)} P(yi∣X=xi)=P(X=xi)P(X=xi∣yi)P(yi)
- 贝叶斯公式比较重要的一点是,它提供了根据 P ( X = x i ∣ y i ) , P ( y i ) , P ( X ) P(X=x_i|y_i),P(y_i),P(X) P(X=xi∣yi),P(yi),P(X)计算后验概率的方法。
朴素贝叶斯分类器:
y = a r g m a x c k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) ∑ k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) y=\mathop {argmax}_{c_k}\frac{P(Y=c_k)\prod_j{P(X^{(j)}=x^{(j)}|Y=c_k)}}{\sum_kP(Y=c_k)\prod_j{P(X^{(j)}=x^{(j)}|Y=c_k)}} y=argmaxck∑kP(Y=ck)∏jP(X(j)=x(j)∣Y=ck)P(Y=ck)∏jP(X(j)=x(j)∣Y=ck)
(其中因为对于所有的 c k c_k ck分母都相同,为了计算简单上式中省略了分母)
y = a r g m a x c k P ( Y = c k ) ∏ P ( X ( j ) = x ( j ) ∣ Y = c k ) y=\mathop {argmax}_{c_k}P(Y=c_k)\prod{P(X^{(j)}=x^{(j)}|Y=c_k)} y=argmaxckP(Y=ck)∏P(X(j)=x(j)∣Y=ck)
2、最大后验概率的意义
在朴素贝叶斯分类算法中,将实例分到后验概率最大的类中。这等价于将期望风险最小化。
3、极大似然估计
在朴素贝叶斯的学习方法中,学习其实就是估计
P
(
Y
=
c
k
)
P(Y=c_k)
P(Y=ck)和
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
k
)
P(X^{(j)}=x^{(j)}|Y=c_k)
P(X(j)=x(j)∣Y=ck)。用极大似然估计法可以估计相应的概率。先验概率
P
(
Y
=
c
k
)
=
∑
i
=
1
N
I
(
y
i
=
c
k
)
N
,
k
=
1
,
2
,
.
.
.
,
K
P(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)}{N},k=1,2,...,K
P(Y=ck)=N∑i=1NI(yi=ck),k=1,2,...,K
假设朴素贝叶斯一条训练数据的第
j
j
j个特征可能的取值集合为
{
a
j
1
,
a
j
2
,
.
.
.
,
a
j
s
j
}
\{a_{j1},a_{j2},...,a_{js_j}\}
{aj1,aj2,...,ajsj}则:
P ( X ( j ) = a j l ) ∣ Y = c k ) = ∑ i = 1 N I ( x i ( j ) = a j l , y i = c k ) ∑ i = 1 N I ( y i = c k ) P(X^{(j)}=a_{jl})|Y=c_k)=\frac{\sum_{i=1}^NI(x_i^{(j)}=a_{jl},y_i=c_k)}{\sum_{i=1}^NI(y_i=c_k)} P(X(j)=ajl)∣Y=ck)=∑i=1NI(yi=ck)∑i=1NI(xi(j)=ajl,yi=ck)
- j = 1 , 2 , . . . , n ( x 特 征 数 ) ; j=1,2,...,n(x特征数); j=1,2,...,n(x特征数);
- l = 1 , 2 , . . . s j ( 特 征 可 能 取 的 值 数 ) ; l=1,2,...s_j(特征可能取的值数); l=1,2,...sj(特征可能取的值数);
- k = 1 , 2 , . . . , K ( 分 类 种 类 数 ) ; k=1,2,...,K(分类种类数); k=1,2,...,K(分类种类数);
4、贝叶斯估计
上面介绍了极大似然估计,但极大似然估计可能会出现所要估计的概率值为0的情况。这是会影响后验概率的计算结果,使分类产生误差。避免这一情况的做法是采用贝叶斯估计,具体计算公式如下。
P λ ( X ( j ) = a j l ) ∣ Y = c k ) = ∑ i = 1 N I ( x i ( j ) = a j l , y i = c k ) + λ ∑ i = 1 N I ( y i = c k ) + s j λ P_\lambda(X^{(j)}=a_{jl})|Y=c_k)=\frac{\sum_{i=1}^NI(x_i^{(j)}=a_{jl},y_i=c_k)+\lambda}{\sum_{i=1}^NI(y_i=c_k)+s_j\lambda} Pλ(X(j)=ajl)∣Y=ck)=∑i=1NI(yi=ck)+sjλ∑i=1NI(xi(j)=ajl,yi=ck)+λ
- x i ( j ) : x^{(j)}_i: xi(j):第 i i i个实例 x i x_i xi的第 j j j个特征。
- a j l : a_{jl}: ajl:第 j j j个特征的第 l l l个取值。
其中 λ ≥ 0 \lambda\geq0 λ≥0当 λ = 0 \lambda=0 λ=0就是极大似然估计,当取值为1时就是拉普拉斯平滑(Laplace smoothing)
先验概率的贝叶斯估计:
P λ ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) + λ N + K λ P_\lambda(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)+\lambda}{N+K\lambda} Pλ(Y=ck)=N+Kλ∑i=1NI(yi=ck)+λ