机器学习算法完整版见fenghaootong-github
贝叶斯(Bayesian Techniques)
- 朴素贝叶斯
- 高斯贝叶斯分类器
- 多项式贝叶斯分类器
- 伯努利贝叶斯分类器
贝叶斯定理:
P(Bi|A)=P(A|Bi)P(B)∑nj=1P(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)=Πnj=1P(Xi=xi|Y=ck),k=1,2,...,K
根据贝叶斯定理:
P(Y=ck|X=x⃗ )=P(X=x⃗ |Y=ck)P(Y=ck)∑Kj=1P(X=x⃗ |Y=cj)P(Y=cj)
考虑分类特征的条件独立性假设有:
P(Y=ck|X=x⃗ )=P(Y=ck)Πnj=1P(Xi=xi|Y=ck)∑Kj=1P(X=x⃗ |Y=cj)P(Y=cj),k=1,2,...,K
于是朴素贝叶斯分类器表示为:
y=f(x⃗ )=argmaxckP(Y=ck)Πnj=1P(Xi=xi|Y=ck)∑Kj=1P(X=x⃗ |Y=cj)P(Y=cj)
对于所有的ck,上面的分母一样,所以:
y=f(x⃗ )=argmaxckP(Y=ck)Πnj=1P(Xi=xi|Y=ck)
朴素贝叶斯算法
输入:
- 训练集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个值
算法步骤
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,...,sj;k=1,2,...,K
- 对于给定的实例x⃗ =(x(1),x(2),...,x(n))T,计算
P(Y=ck)Πnj=1P(Xi=xi|Y=ck),k=1,2,...,K
y=f(x⃗ )=argmaxckP(Y=ck)Πnj=1P(Xi=xi|Y=ck)
贝叶斯估计
条件概率P(X(j)=ajl|Y=ck)的极大似然估计:
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,...,sj;
k=1,2,...,K
用极大似然估计可能会出现分母为零的情况,此时可以采用贝叶斯估计:
P(X(j)=ajl|Y=ck)=∑Ni=1I(x(j)i=ajl,yi=ck)+λ∑Ni=1I(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
∑sjl=1Pλ(X(j)=ajl|Y=ck)=1
此时P(Y=ck)的贝叶斯估计调整为:
Pλ(Y=ck)=∑Ni=1I(yi=ck)+λN+Kλ
当λ=0时,为极大似然估计
当λ=1时,为拉普拉斯平滑
高斯贝叶斯分类器
它假设特征的条件概率分布满足高斯分布:
P(X(j)|y=ck)=12πσ2k√exp(−(X(j)−μk)22σ2k)
多项式贝叶斯分类器
它假设特征的条件概率分布满足多项式分布:
P(X(j)|y=ck)=Nkj+αNk+αn
伯努利贝叶斯分类器
它假设特征的条件概率分布满足伯努利分布:
P(X(j)|y=ck)=pX(j)+(1−p)(1−X(j))
Bayes应用实例
Bayes应用实例
垃圾邮件处理