第四章 朴素贝叶斯法的学习和分类

本文详细介绍了朴素贝叶斯法的学习过程和分类原理,包括先验概率、条件概率的估计,以及极大似然估计和贝叶斯估计在参数估计中的应用。通过学习联合分布概率分布P(X,Y),利用条件独立性假设简化问题,实现分类器的构建。在分类时,采用后验概率最大化的准则,以期望风险最小化为目标。" 51800210,4852813,稀疏矩阵转置实现与优化,"['数据结构', '矩阵转置', '稀疏矩阵']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

朴素贝叶斯法学习日志

第四章 朴素贝叶斯法的学习和分类

通过学习以下先验概率分布及条件概率分布学习联合分布概率分布P(X,Y)P(X,Y)P(X,Y)
即学习以下先验概率分布及条件概率分布
先验概率分布P(Y=ck),k=1,2,⋯ ,KP\left(Y=c_{k}\right), \quad k=1,2, \cdots, KP(Y=ck),k=1,2,,K
条件概率分布
P(X=x∣Y=ck)=P(X(1)=x(1),⋯ ,X(n)=x(n)∣Y=ck),k=1,2,⋯ ,KP\left(X=x | Y=c_{k}\right)=P\left(X^{(1)}=x^{(1)}, \cdots, X^{(n)}=x^{(n)} | Y=c_{k}\right), \quad k=1,2, \cdots, KP(X=xY=ck)=P(X(1)=x(1),,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\left(X=x | Y=c_{k}\right)P(X=xY=ck)有指数级数量的参数,其估计实际是不可行的(事实上假设x(j)x^{(j)}x(j)可取值有SjS_{j}Sj个,j=1,2,⋯ ,nj=1,2, \cdots, nj=1,2,,nYYY可取值有KKK个,那么参数个数为K∏j=1nSjK \prod_{j=1}^{n} S_{j}Kj=1nSj)
朴素贝叶斯法对条件概率分布作了条件独立性的假设,由于这是一个较强的假设,朴素贝叶斯法也由此得名,条件独立性假设是
P(X=x∣Y=ck)=P(X(1)=x(1),⋯ ,X(n)=x(n)∣Y=ck)=∏j=1nP(X(j)=x(j)∣Y=ck)(1)P\left(X=x | Y=c_{k}\right)=P\left(X^{(1)}=x^{(1)}, \cdots, X^{(n)}=x^{(n)} | Y=c_{k}\right)\\=\prod_{j=1}^{n} P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right) \quad(1)P(X=xY=ck)=P(X(1)=x(1),,X(n)=x(n)Y=ck)=j=1nP(X(j)=x(j)Y=ck)(1)朴素贝叶斯法实际上学习到生成数据的机制,所以属于生成模型。条件独立假设等于是说用于分类的特征在类确定的条件下都是条件独立的。
朴素贝叶斯法分类时,对给定的输入xxx,通过学习到的模型计算后验概率分布P(Y=ck∣X=x)P\left(Y=c_{k} | X=x\right)P(Y=ckX=x),将后验概率最大的类作为xxx类的输出,后验概率计算根据贝叶斯定理进行:
P(Y=ck∣X=x)=P(X=x∣Y=ck)P(Y=ck)∑kP(X=x∣Y=ck)P(Y=ck)(2)P\left(Y=c_{k} | X=x\right)=\frac{P\left(X=x | Y=c_{k}\right) P\left(Y=c_{k}\right)}{\sum_{k} P\left(X=x | Y=c_{k}\right) P\left(Y=c_{k}\right)} \quad(2)P(Y=ckX=x)=kP(X=xY=ck)P(Y=ck)P(X=xY=ck)P(Y=ck)(2)将式(1)(1)(1)带入式(2)(2)(2)P(Y=ck∣X=x)=P(Y=ck)∏jP(X(j)=x(j)∣Y=ck)∑kP(Y=ck)∏jP(X(j)=x(j)∣Y=ck),k=1,2,⋯ ,K(3)P\left(Y=c_{k} | X=x\right)=\frac{P\left(Y=c_{k}\right) \prod_{j} P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right)}{\sum_{k} P\left(Y=c_{k}\right) \prod_{j} P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right)}, \quad k=1,2, \cdots, K \quad(3)P(Y=ckX=x)=kP(Y=ck)jP(X(j)=x(j)Y=ck)P(Y=ck)jP(X(j)=x(j)Y=ck),k=1,2,,K(3)
这是朴素贝叶斯法分类的基本公式。于是,朴素贝叶斯分类器可表示为
y=f(x)=arg⁡max⁡ckP(Y=ck)∏jP(X(j)=x(j)∣Y=ck)∑kP(Y=ck)∏jP(X(j)=x(j)∣Y=ck)(4)y=f(x)=\arg \max _{c_{k}} \frac{P\left(Y=c_{k}\right) \prod_{j} P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right)}{\sum_{k} P\left(Y=c_{k}\right) \prod_{j} P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right)}\quad(4)y=f(x)=argckmaxkP(Y=ck)jP(X(j)=x(j)Y=ck)P(Y=ck)jP(X(j)=x(j)Y=ck)(4)
注意到,在式(3)(3)(3)中分母对所有类都是相同的,所以有y=arg⁡max⁡ckP(Y=ck)∏jP(X(j)=x(j)∣Y=ck)y=\arg \max _{c_k} P\left(Y=c_{k}\right) \prod_{j} P\left(X^{(j)}=x^{(j)} | Y = c_{k}\right)y=argckmaxP(Y=ck)jP(X(j)=x(j)Y=ck)

后验概率最大化含义

朴素贝叶斯法将实例分到后验概率最大的类中,这等价于期望风险最小化,假设选择0−10-101损失函数:L(Y,f(X))={1,Y≠f(X)0,Y=f(X)L(Y, f(X))=\left\{\begin{array}{ll}{1,} & {Y \neq f(X)} \\ {0,} & {Y=f(X)}\end{array}\right.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)取的,由此取条件期望Rexp(f)=EX∑k=1K[L(ck,f(X))]P(ck∣X)R_{\mathrm{exp}}(f)=E_{X} \sum_{k=1}^{K}\left[L\left(c_{k}, f(X)\right)\right] P\left(c_{k} | X\right)Rexp(f)=EXk=1K[L(ck,f(X))]P(ckX)为了使期望风险最小化,只需对X=xX=xX=x逐个极小化,由此得到:f(x)=arg⁡min⁡y∈Y∑k=1KL(ck,y)P(ck∣X=x)=arg⁡min⁡y∈Y∑k=1KP(y≠ck∣X=x)=arg⁡min⁡y∈Y(1−P(y=ck∣X=x))=arg⁡max⁡y∈YP(y=ck∣X=x)\begin{aligned} f(x) &=\arg \min _{y \in\mathcal{Y}} \sum_{k=1}^{K} L\left(c_{k}, y\right) P\left(c_{k} | X=x\right) \\ &=\arg \min _{y \in \mathcal{Y}} \sum_{k=1}^{K} P\left(y \neq c_{k} | X=x\right) \\ &=\arg \min _{y \in \mathcal{Y}}\left(1-P\left(y=c_{k} | X=x\right)\right) \\ &=\arg \max _{y \in \mathcal{Y}} P\left(y=c_{k} | X=x\right) \end{aligned}f(x)=argyYmink=1KL(ck,y)P(ckX=x)=argyYmink=1KP(y̸=ckX=x)=argyYmin(1P(y=ckX=x))=argyYmaxP(y=ckX=x)这样,根据期望风险最小化准则就得到了后验概率最大化准则:f(x)=arg⁡max⁡ckP(ck∣X=x)f(x)=\arg \max _{c_{k}} P\left(c_{k} | X=x\right)f(x)=argckmaxP(ckX=x)即朴素贝叶斯法所采用的原理。

朴素贝叶斯法的参数估计

极大似然估计
在朴素贝叶斯法中,学习意味着估计P(Y=ck)P\left(Y=c_{k}\right)P(Y=ck)P(X(j)=x(j)∣Y=ck)P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right)P(X(j)=x(j)Y=ck)可以应用极大似然估计估计相应的概率
先验概率P(Y=ck)P\left(Y=c_{k}\right)P(Y=ck)的极大似然估计是P(Y=ck)=∑i=1NI(yi=ck)N,k=1,2,⋯ ,KP\left(Y=c_{k}\right)=\frac{\sum_{i=1}^{N} I\left(y_{i}=c_{k}\right)}{N}, k=1,2, \cdots, KP(Y=ck)=Ni=1NI(yi=ck),k=1,2,,K
设第jjj个特征x(j)x^{(j)}x(j)可能取值的集合为{aj1,aj2,⋯ ,ajSj}\left\{a_{j 1}, a_{j 2}, \cdots, a_{j S_{j}}\right\}{aj1,aj2,,ajSj},条件概率P(X(j)=ajl∣Y=ck)P\left(X^{(j)}=a_{j l} | Y=c_{k}\right)P(X(j)=ajlY=ck)的极大似然估计是P(X(j)=ajl∣Y=ck)=∑i=1NI(xi(j)=ajl,yi=ck)∑i=1NI(yi=ck)P\left(X^{(j)}=a_{j l} | Y=c_{k}\right)=\frac{\sum_{i=1}^{N} I\left(x_{i}^{(j)}=a_{j l} ,y_{i}=c_{k}\right)}{\sum_{i=1}^{N} I\left(y_{i}=c_{k}\right)}P(X(j)=ajlY=ck)=i=1NI(yi=ck)i=1NI(xi(j)=ajl,yi=ck) j=1,2,⋯ ,n;l=1,2,⋯ ,Sj:k=1,2,⋯ ,Kj=1,2, \cdots, n ; \quad l=1,2, \cdots, S_{j} : k=1,2, \cdots, Kj=1,2,,n;l=1,2,,Sj:k=1,2,,K式中,xi(j)x^{(j)}_ixi(j)是第iiiiii个样本的第个jjj特征,ajla_{jl}ajl是第jjj个特征可能取的第lll个值;III为指示函数
朴素贝叶斯算法
输入:训练数据T={(x1,y1),(x2,y2),⋯ ,(xN,yN)}T=\left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \cdots,\left(x_{N}, y_{N}\right)\right\}T={(x1,y1),(x2,y2),,(xN,yN)},其中xi=(xi(1),xi(2),⋯ ,xi(n))Tx_{i}=\left(x_{i}^{(1)}, x_{i}^{(2)}, \cdots, x_{i}^{(n)}\right)^{\mathrm{T}}xi=(xi(1),xi(2),,xi(n))T ,xi(j)x^{(j)}_ixi(j)是第iii个样本的第jjj个特征,xi(j)∈{ajj,aj2,⋯ ,ajs}x_{i}^{(j)} \in\left\{a_{j j}, a_{j 2}, \cdots, a_{j s}\right\}xi(j){ajj,aj2,,ajs}ajla_{j l}ajl是第jjj个特征可能取的第lll个值j=1,2,⋯ ,n,I=1,2,⋯ ,Sj,yi∈{c1,c2,⋯ ,cK}j=1,2, \cdots, n, \quad I=1,2, \cdots, S_{j}, \quad y_{i} \in\left\{c_{1}, c_{2}, \cdots, c_{K}\right\}j=1,2,,n,I=1,2,,Sj,yi{c1,c2,,cK};实例xxx
输出:实例xxx的分类
(1)(1)(1) 计算先验概率及条件概率
P(Y=ck)=∑i=1NI(yi=ck)N,k=1,2,⋯ ,KP\left(Y=c_{k}\right)=\frac{\sum_{i=1}^{N} I\left(y_{i}=c_{k}\right)}{N}, k=1,2, \cdots, KP(Y=ck)=Ni=1NI(yi=ck),k=1,2,,K P(X(j)=ajl∣Y=ck)=∑i=1NI(xi(j)=ajl,yi=ck)∑i=1NI(yi=ck)P\left(X^{(j)}=a_{j l} | Y=c_{k}\right)=\frac{\sum_{i=1}^{N} I\left(x_{i}^{(j)}=a_{j l} ,y_{i}=c_{k}\right)}{\sum_{i=1}^{N} I\left(y_{i}=c_{k}\right)}P(X(j)=ajlY=ck)=i=1NI(yi=ck)i=1NI(xi(j)=ajl,yi=ck) j=1,2,⋯ ,n;l=1,2,⋯ ,Sj:k=1,2,⋯ ,Kj=1,2, \cdots, n ; \quad l=1,2, \cdots, S_{j} : k=1,2, \cdots, Kj=1,2,,n;l=1,2,,Sj:k=1,2,,K (2)(2)(2) 对于给定的实例x=(x(1),x(2),⋯ ,x(n))Tx=\left(x^{(1)}, x^{(2)}, \cdots, x^{(n)}\right)^{\mathrm{T}}x=(x(1),x(2),,x(n))T,计算P(Y=ck)∏j=1nP(X(j)=x(j)∣Y=ck),k=1,2,⋯ ,KP\left(Y=c_{k}\right) \prod_{j=1}^{n} P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right), \quad k=1,2, \cdots, KP(Y=ck)j=1nP(X(j)=x(j)Y=ck),k=1,2,,K (3)(3)(3) 确定实例xxx的类 y=arg⁡max⁡ckP(Y=ck)∏jP(X(j)=x(j)∣Y=ck)y=\arg \max _{c_k} P\left(Y=c_{k}\right) \prod_{j} P\left(X^{(j)}=x^{(j)} | Y = c_{k}\right)y=argckmaxP(Y=ck)jP(X(j)=x(j)Y=ck)

贝叶斯估计

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

同样,先验概率大贝叶斯估计是Pλ(Y=ck)=∑i=1NI(yi=ck)+λN+KλP_{\lambda}\left(Y=c_{k}\right)=\frac{\sum_{i=1}^{N} I\left(y_{i}=c_{k}\right)+\lambda}{N+K \lambda}Pλ(Y=ck)=N+Kλi=1NI(yi=ck)+λ

《统计学习方法》 李航
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值