机器学习算法完整版见fenghaootong-github

贝叶斯(Bayesian Techniques)

  • 朴素贝叶斯
  • 高斯贝叶斯分类器
  • 多项式贝叶斯分类器
  • 伯努利贝叶斯分类器

贝叶斯定理:

P(Bi|A)=P(A|Bi)P(B)j=1nP(A|Bi)P(Bj)

朴素贝叶斯方法

原理:

  • 先验概率分布:P(Y=ck),k=1,2,...,K.
  • 条件概率分布:P(X=x|Y=ck)=P(X1=x1,X2=x2,...,Xn=xn|Y=ck)=Πj=1nP(Xi=xi|Y=ck),k=1,2,...,K

根据贝叶斯定理:

P(Y=ck|X=x)=P(X=x|Y=ck)P(Y=ck)j=1KP(X=x|Y=cj)P(Y=cj)

考虑分类特征的条件独立性假设有:

P(Y=ck|X=x)=P(Y=ck)Πj=1nP(Xi=xi|Y=ck)j=1KP(X=x|Y=cj)P(Y=cj),k=1,2,...,K

于是朴素贝叶斯分类器表示为:

y=f(x)=argmaxckP(Y=ck)Πj=1nP(Xi=xi|Y=ck)j=1KP(X=x|Y=cj)P(Y=cj)

对于所有的ck,上面的分母一样,所以:

y=f(x)=argmaxckP(Y=ck)Πj=1nP(Xi=xi|Y=ck)

朴素贝叶斯算法

输入:

  • 训练集T=(x1,y1),(x2,y2),...,(xN,yN),xi=(xi(1),xi(2),...,xi(n))T,xi(j)为第i个样本的第j个特征,其中xi(j)aj1,aj2,...,ajsj,ajl为第j个特征可能取到的第l个值

算法步骤

  • 计算先验概率的估计值以及条件概率的估计值

P(Y=ck)=i=1NI(yi=ck)N,k=1,2,...,K
P(X(j)=ajl|Y=ck)=i=1NI(xi(j)=ajl,yi=ck)i=1NI(yi=ck)
j=1,2,...,n;l=1,2,...,sj;k=1,2,...,K

  • 对于给定的实例x=(x(1),x(2),...,x(n))T,计算

P(Y=ck)Πj=1nP(Xi=xi|Y=ck),k=1,2,...,K

  • 计算给并返回实例x的分类y:

y=f(x)=argmaxckP(Y=ck)Πj=1nP(Xi=xi|Y=ck)

贝叶斯估计

条件概率P(X(j)=ajl|Y=ck)的极大似然估计:

P(X(j)=ajl|Y=ck)=i=1NI(xi(j)=ajl,yi=ck)i=1NI(yi=ck)
j=1,2,...,n;
l=1,2,...,sj;
k=1,2,...,K

用极大似然估计可能会出现分母为零的情况,此时可以采用贝叶斯估计:

P(X(j)=ajl|Y=ck)=i=1NI(xi(j)=ajl,yi=ck)+λi=1NI(yi=ck)+sjλ
j=1,2,...,n;
l=1,2,...,sj;
k=1,2,...,K

它满足概率分布函数的条件:

Pλ(X(j)=ajl|Y=ck)>0,l=1,2,...,sj;k=1,2,...,K
l=1sjPλ(X(j)=ajl|Y=ck)=1

此时P(Y=ck)的贝叶斯估计调整为:

Pλ(Y=ck)=i=1NI(yi=ck)+λN+Kλ

λ=0时,为极大似然估计
λ=1时,为拉普拉斯平滑

高斯贝叶斯分类器

它假设特征的条件概率分布满足高斯分布:

P(X(j)|y=ck)=12πσk2exp((X(j)μk)22σk2)

多项式贝叶斯分类器

它假设特征的条件概率分布满足多项式分布:

P(X(j)|y=ck)=Nkj+αNk+αn

伯努利贝叶斯分类器

它假设特征的条件概率分布满足伯努利分布:

P(X(j)|y=ck)=pX(j)+(1p)(1X(j))

Bayes应用实例

Bayes应用实例
垃圾邮件处理

posted on 2018-03-07 14:44  一小白  阅读(280)  评论(0)    收藏  举报