900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 机器学习理论《统计学习方法》学习笔记:第四章 朴素贝叶斯法

机器学习理论《统计学习方法》学习笔记:第四章 朴素贝叶斯法

时间:2021-11-14 22:17:08

相关推荐

机器学习理论《统计学习方法》学习笔记:第四章 朴素贝叶斯法

机器学习理论《统计学习方法》学习笔记:第四章 朴素贝叶斯法

4 朴素贝叶斯法4.1 朴素贝叶斯法的学习与分类4.1.1 基本方法4.1.2 后验概率最大化的含义4.2 朴素贝叶斯法的参数估计4.2.1 极大似然估计4.2.2 学习与分类算法4.2.3 贝叶斯估计本章概要

4 朴素贝叶斯法

朴素贝叶斯(native bayes)法是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。朴素贝叶斯法实现简单,学习与预测的效率都很高,是一种常用的方法。

4.1 朴素贝叶斯法的学习与分类

4.1.1 基本方法

设输入空间 X∈RnX\in R^nX∈Rn 为n维向量的集合,输出空间为类标记集合Y={c1,c2,⋯,ck}Y=\{c_1,c_2,\cdots,c_k\}Y={c1​,c2​,⋯,ck​}输入为特征向量x∈Xx\in Xx∈X,输出为类标记 y∈Yy\in Yy∈Y.XXX是定义在输入空间上的随机变量,YYY 是定义在输出空间上的随机变。P(X,Y)P(X,Y)P(X,Y)是XXX和YYY的联合概率分布.训练数据集T={(x1,y1),(x2,y2),⋯,(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}T={(x1​,y1​),(x2​,y2​),⋯,(xN​,yN​)}由P(X,Y)P(X,Y)P(X,Y)独立同分布产生。朴素贝叶斯法通过训练数据集学习联合概率分布P(X,Y)P(X,Y)P(X,Y)。具体地,学习以下先验概率分布及条件概率分布。

先验概率分布P(Y=ck),k=1,2,⋯,KP(Y=c_k),k=1,2,\cdots,KP(Y=ck​),k=1,2,⋯,K

条件概率分布P(X=x∣Y=ck)=P(X(1)=x(1),X(2)=x(2),⋯,X(n)=x(n)∣Y=ck),k=1,2,⋯,KP(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},X^{(2)}=x^{(2)},\cdots,X^{(n)}=x^{(n)}|Y=c_k),k=1,2,\cdots,KP(X=x∣Y=ck​)=P(X(1)=x(1),X(2)=x(2),⋯,X(n)=x(n)∣Y=ck​),k=1,2,⋯,K于是学习到联合概率分布P(X,Y)P(X,Y)P(X,Y)条件概率分布P(X=x∣Y=ck)P(X=x|Y=c_k)P(X=x∣Y=ck​)有指数级数量的参数,其估计实际是不可行的。事实上,假设x(j)x^{(j)}x(j)有SjS_jSj​个,j=1,2,⋯,nj=1,2,\cdots,nj=1,2,⋯,n,Y可能取值有K个,那么参数个数为K∏j=1nSjK\prod_{j=1}^nS_j Kj=1∏n​Sj​朴素贝叶斯法对条件概率分布作了条件独立性假设。由于这时一个较强的假设,朴素贝叶斯法也由此得名。具体地,条件独立性假设是P(X=x∣Y=ck)=P(X(1)=x(1),X(2)=x(2),⋯,X(n)=x(n)∣Y=ck)P(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},X^{(2)}=x^{(2)},\cdots,X^{(n)}=x^{(n)}|Y=c_k)P(X=x∣Y=ck​)=P(X(1)=x(1),X(2)=x(2),⋯,X(n)=x(n)∣Y=ck​)

P(X=x∣Y=ck)=∏j=1nP(X(j)=x(j)∣Y=ck)P(X=x|Y=c_k)=\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)P(X=x∣Y=ck​)=j=1∏n​P(X(j)=x(j)∣Y=ck​)朴素贝叶斯法实际上学习到生成数据的机制,所以属于生成模型。条件独立假设等于是说,用于分类的特征在类确定的条件下都是条件独立的。这一假设使朴素贝叶斯法变得简单,但是有时会牺牲一定的分类准确率。贝叶斯分类器可表示为y=f(x)=argmaxckP(Y=ck)∏P(X(j)=x(j)∣Y=ck)∑kP(Y=ck)∏P(X(j)=x(j)∣Y=ck)y=f(x)=arg\space max_{c_k}{{P(Y=c_k)\prod P(X^{(j)}=x^{(j)}|Y=c_k)}\over{\sum_k P(Y=c_k)\prod P(X^{(j)}=x^{(j)}|Y=c_k)}}y=f(x)=argmaxck​​∑k​P(Y=ck​)∏P(X(j)=x(j)∣Y=ck​)P(Y=ck​)∏P(X(j)=x(j)∣Y=ck​)​,其中分母对所有ckc_kck​都是相同的,所以y=argmaxckP(Y=ck)∏P(X(j)=x(j)∣Y=ck)y=arg\space max_{c_k}{P(Y=c_k)\prod P(X^{(j)}=x^{(j)}|Y=c_k)}y=argmaxck​​P(Y=ck​)∏P(X(j)=x(j)∣Y=ck​)

4.1.2 后验概率最大化的含义

朴素贝叶斯法将实例分到后验概率最大的类中,这等价于期望风险最小化。

假设选择0-1损失函数:

L(Y,f(X))={1,Y≠f(X)0,Y=f(X)L(Y,f(X))= \begin{cases} 1,&\text{Y$\neq$f(X)}\\ 0,&\text{Y = f(X)} \end{cases} L(Y,f(X))={1,0,​Y​=f(X)Y=f(X)​式中f(X)f(X)f(X)是分类决策函数。

这时,期望风险函数为Rexp(f)=E[L(Y,f(X))]R_{exp}(f)=E[L(Y,f(X))]Rexp​(f)=E[L(Y,f(X))]期望是对联合分布P(X,Y)P(X,Y)P(X,Y)取的。

根据期望风险最小化准则就得到了后验概率最大化准则:f(x)=argmaxckP(ck∣X=x)f(x)=arg\space max_{c_k}P(c_k|X=x)f(x)=argmaxck​​P(ck​∣X=x)即朴素贝叶斯法所采用的原理。

4.2 朴素贝叶斯法的参数估计

4.2.1 极大似然估计

在朴素贝叶斯法中,学习意味着估计P(Y=ck)P(Y=c_k)P(Y=ck​)和P(X(j)=x(j)∣Y=ck)P(X^{(j)}=x^{(j)}|Y=c_k)P(X(j)=x(j)∣Y=ck​)。可以应用极大似然估计法估计相应的概率。先验概率P(Y=ck)P(Y=c_k)P(Y=ck​)的极大似然估计是P(Y=ck)=∑i=1NI(yi=ck)N,k=1,2,⋯,KP(Y=c_k)={{\sum_{i=1}^NI(y_i=c_k)}\over{N}},k=1,2,\cdots,KP(Y=ck​)=N∑i=1N​I(yi​=ck​)​,k=1,2,⋯,K

4.2.2 学习与分类算法

朴素贝叶斯算法

输入:

训练数据集T={(x1,y1),(x2,y2),⋯,(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}T={(x1​,y1​),(x2​,y2​),⋯,(xN​,yN​)},其中,xi=(xi(1),xi(2),⋯,xi(n))Tx_i=(x_i^{(1)},x_i^{(2)},\cdots,x_i^{(n)})^Txi​=(xi(1)​,xi(2)​,⋯,xi(n)​)T,xi(j)x_i^{(j)}xi(j)​是第i个样本的第j个特征,xi(j)∈{aj1,aj2,⋯,ajSj}x_i^{(j)}\in\{a_{j1},a_{j2},\cdots,a_{jS_j}\}xi(j)​∈{aj1​,aj2​,⋯,ajSj​​},ajla_{jl}ajl​是第j个特征值可能取的第l个值,j=1,2,⋯,n;l=1,2,⋯,Sj;yi∈{c1,c2,⋯,ck}j=1,2,\cdots,n;l=1,2,\cdots,S_j;y_i\in\{c_1,c_2,\cdots,c_k\}j=1,2,⋯,n;l=1,2,⋯,Sj​;yi​∈{c1​,c2​,⋯,ck​};实例xxx;输出:实例xxx的分类

(1)计算先验概率及条件概率

P(Y=ck)=∑i=1NI(yi=ck)N,k=1,2,⋯,KP(Y=c_k)={{\sum_{i=1}^NI(y_i=c_k)}\over{N}},k=1,2,\cdots,KP(Y=ck​)=N∑i=1N​I(yi​=ck​)​,k=1,2,⋯,K

P(X(j)=ajl∣Y=ck)=∑i=1NI(xi(j)=ajl,yi=ck)∑i=1NI(yi=ck)P(X^{(j)}=a_{jl}|Y=c_k)={{\sum_{i=1}^NI(x_i^{(j)}=a_{jl},y_i=c_k)}\over{\sum_{i=1}^NI(y_i=c_k)}}P(X(j)=ajl​∣Y=ck​)=∑i=1N​I(yi​=ck​)∑i=1N​I(xi(j)​=ajl​,yi​=ck​)​

j=1,2,⋯,n;l=1,2,⋯,Sj;k=1,2,⋯,Kj=1,2,\cdots,n;l=1,2,\cdots,S_j;k=1,2,\cdots,Kj=1,2,⋯,n;l=1,2,⋯,Sj​;k=1,2,⋯,K

(2)对于给定实例x=(x(1),x(2),⋯,x(n))Tx=(x^{(1)},x^{(2)},\cdots,x^{(n)})^Tx=(x(1),x(2),⋯,x(n))T,计算P(Y=ck)∏j=1nP(X(j)=x(j)∣Y=ck),k=1,2,⋯,KP(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k),k=1,2,\cdots,KP(Y=ck​)j=1∏n​P(X(j)=x(j)∣Y=ck​),k=1,2,⋯,K

(3)确定实例xxx的类

y=argmaxckP(Y=ck)∏j=1nP(X(j)=x(j)∣Y=ck)y=arg\space max_{c_k} P(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)y=argmaxck​​P(Y=ck​)j=1∏n​P(X(j)=x(j)∣Y=ck​)

4.2.3 贝叶斯估计

用极大似然估计可能会出现所要估计的概率值为0的情况。这时会影响到后验概率的计算结果,使分类产生偏差。解决这一问题的方法是采用贝叶斯估计。具体地,条件概率的贝叶斯估计是Pλ(X(j)=ajl∣Y=ck)=∑i=1NI(xi(j)=ajl,yi=ck)+λ∑i=1NI(yi=ck)+SjλP_{\lambda}(X^{(j)}=a_{jl}|Y=c_k)={{\sum_{i=1}^NI(x_i^{(j)}=a_{jl},y_i=c_k)+\lambda}\over{\sum_{i=1}^NI(y_i=c_k)+S_j\lambda}}Pλ​(X(j)=ajl​∣Y=ck​)=∑i=1N​I(yi​=ck​)+Sj​λ∑i=1N​I(xi(j)​=ajl​,yi​=ck​)+λ​式中λ≥0\lambda \ge0λ≥0.等价于在随机变量各个取值的频数上赋予一个正数 λ>0\lambda\gt0λ>0.当λ=0\lambda=0λ=0时,就是极大似然估计。常取λ=1\lambda=1λ=1,这时称为拉普拉斯平滑。显然,对任何l=1,2,⋯,Sj,k=1,2,⋯,Kl=1,2,\cdots,S_j,k=1,2,\cdots,Kl=1,2,⋯,Sj​,k=1,2,⋯,K;有

Pλ(X(j)=ajl∣Y=ck)>0P_{\lambda}(X^{(j)}=a_{jl}|Y=c_k)>0Pλ​(X(j)=ajl​∣Y=ck​)>0

∑(l=1)SjP(X(j)=ajl∣Y=ck)=1\sum_{(l=1)}^{S_j}P(X^{(j)}=a_{jl}|Y=c_k)=1(l=1)∑Sj​​P(X(j)=ajl​∣Y=ck​)=1

先验概率的贝叶斯估计是Pλ(Y=ck)=∑i=1NI(yi=ck)+λN+KλP_{\lambda}(Y=c_k)={{\sum_{i=1}^N}I(y_i=c_k)+\lambda\over{N+K\lambda}}Pλ​(Y=ck​)=N+Kλ∑i=1N​I(yi​=ck​)+λ​

本章概要

朴素贝叶斯法是典型的生成学习方法。生成方法由训练数据学习联合概率分布P(X,Y)P(X,Y)P(X,Y),然后求得后验概率分布P(Y∣X)P(Y|X)P(Y∣X).具体来说,利用训练数据学习P(X∣Y)P(X|Y)P(X∣Y)和P(Y)P(Y)P(Y)的估计。得到联合概率分布:P(X,Y)=P(Y)P(X∣Y)P(X,Y)=P(Y)P(X|Y)P(X,Y)=P(Y)P(X∣Y)概率估计方法可以是极大似然估计或贝叶斯估计。朴素贝叶斯法的基本假设是条件独立性,P(X=x∣Y=ck)=P(X(1)=x(1),X(2)=x(2),⋯,X(n)=x(n)∣Y=ck)P(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},X^{(2)}=x^{(2)},\cdots,X^{(n)}=x^{(n)}|Y=c_k)P(X=x∣Y=ck​)=P(X(1)=x(1),X(2)=x(2),⋯,X(n)=x(n)∣Y=ck​)

=∏j=1nP(X(j)=x(j)∣Y=ck)=\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)=j=1∏n​P(X(j)=x(j)∣Y=ck​)这是一个较强的假设。由于这一假设,模型包含的条件概率的数量大为减少,朴素贝叶斯法的学习与预测大为简化。因而朴素贝叶斯法高效且易于实现。其缺点是分类的性能不一定很高。朴素贝叶斯法利用贝叶斯定理与学到的联合概率模型进行分类预测。P(Y∣X)=P(X,Y)P(X)=P(Y)P(X∣Y)∑YP(Y)P(X∣Y)P(Y|X)={{P(X,Y)}\over{P(X)}}={{P(Y)P(X|Y)}\over{\sum_{Y}P(Y)P(X|Y)}}P(Y∣X)=P(X)P(X,Y)​=∑Y​P(Y)P(X∣Y)P(Y)P(X∣Y)​.将输入x分到后验概率最大的类y。y=argmaxckP(Y=ck)∏j=1nP(X(j)=x(j)∣Y=ck)y=arg\space max_{c_k} P(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)y=argmaxck​​P(Y=ck​)j=1∏n​P(X(j)=x(j)∣Y=ck​)后验概率最大等价于0-1损失函数时的期望风险最小化。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。