朴素贝叶斯法

朴素贝叶斯法

学习与分类

朴素贝叶斯法旨在通过学习联合概率分布 P ( Y ∣ X ) P(Y|X) P(YX)以学习生成数据的机制,属于生成模型。

以分类问题为例,此时输出空间为类标记集合 Y = { c 1 , ⋯   , c K } \mathcal{Y}=\{c_1,\cdots,c_K\} Y={c1,,cK}。若输入特征向量 x \mathbf{x} x包括 n n n个特征、每个特征 x ( j ) x^{(j)} x(j)可能取 S j S_j Sj个值,则需要估计的参数数量为 K ∏ j = 1 n S j K\prod_{j=1}^nS_j Kj=1nSj,即具有指数级数量的参数。为了降低参数数量,朴素贝叶斯法作了条件独立性假设, P ( X = x ∣ Y = c k ) = ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) , P(X=x|Y=c_k)=\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k), P(X=xY=ck)=j=1nP(X(j)=x(j)Y=ck),即用于分类的特征在类确定的条件下都是独立的。

朴素贝叶斯法分类时采用后验概率最大的准则, y = arg ⁡ max ⁡ c k P ( Y = c k ∣ X = x ) = arg ⁡ max ⁡ c k P ( Y = c k ) ∏ j P ( X ( j ) = x ( j ) ∣ Y = c k ) . y=\arg\max_{c_k}P(Y=c_k|X=x)=\arg\max_{c_k}P(Y=c_k)\prod_jP(X^{(j)}=x^{(j)}|Y=c_k). y=argckmaxP(Y=ckX=x)=argckmaxP(Y=ck)jP(X(j)=x(j)Y=ck).实际上,上述准则等价于期望风险最小化:选择0-1损失函数,此时期望风险函数为 R e x p ( f ) = E [ L ( Y , f ( X ) ) ] , R_\mathrm{exp}(f)=\mathbb{E}[L(Y,f(X))], Rexp(f)=E[L(Y,f(X))],期望取自联合分布 P ( X , Y ) P(X,Y) P(X,Y)。因此,有
R e x p ( f ) = E X [ E Y [ L ( Y , f ( X ) ) ∣ X ] ] = E X [ ∑ k = 1 K L ( c k , f ( X ) ) P ( c k ∣ X ) ] . \begin{aligned}R_\mathrm{exp}(f)&=\mathbb{E}_X[\mathbb{E}_Y[L(Y,f(X))|X]] \\ &=\mathbb{E}_X[\sum_{k=1}^KL(c_k,f(X))P(c_k|X)].\end{aligned} Rexp(f)=EX[EY[L(Y,f(X))X]]=EX[k=1KL(ck,f(X))P(ckX)].为了最小化期望风险,只需对 X = x X=x X=x逐个极小化,因此得到 f ( x ) = arg ⁡ max ⁡ c k P ( c k ∣ X = x ) . f(x)=\arg\max_{c_k}P(c_k|X=x). f(x)=argckmaxP(ckX=x).

参数估计

朴素贝叶斯法中,学习意味着估计 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 , P(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)}{N}, P(Y=ck)=Ni=1NI(yi=ck),
P ( X ( j ) = a j l ∣ Y = c k ) = ∑ i = 1 N ( 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}^N(x_i^{(j)}=a_{jl},y_i=c_k)}{\sum_{i=1}^NI(y_i=c_k)}, P(X(j)=ajlY=ck)=i=1NI(yi=ck)i=1N(xi(j)=ajl,yi=ck),
j = 1 , ⋯   , n ;   l = 1 , ⋯   , S j ;   k = 1 , ⋯   , K . j=1,\cdots,n;\ l=1,\cdots,S_j;\ k=1,\cdots,K. j=1,,n; l=1,,Sj; k=1,,K.

实际上,极大似然估计用频率估计概率。

贝叶斯估计

在极大似然估计中,可能出现所要估计的概率值为0的情况,这时会影响后验概率的计算结果。因此,贝叶斯估计中引入了拉普拉斯平滑,即,
P ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) + λ N + K λ , P(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)+λ,
P ( X ( j ) = a j l ∣ Y = c k ) = ∑ i = 1 N ( x i ( j ) = a j l , y i = c k ) + λ ∑ i = 1 N I ( y i = c k ) + S j λ , P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^N(x_i^{(j)}=a_{jl},y_i=c_k)+\lambda}{\sum_{i=1}^NI(y_i=c_k)+S_j\lambda}, P(X(j)=ajlY=ck)=i=1NI(yi=ck)+Sjλi=1N(xi(j)=ajl,yi=ck)+λ,
j = 1 , ⋯   , n ;   l = 1 , ⋯   , S j ;   k = 1 , ⋯   , K . j=1,\cdots,n;\ l=1,\cdots,S_j;\ k=1,\cdots,K. j=1,,n; l=1,,Sj; k=1,,K.
贝叶斯估计中,若取 λ → ∞ \lambda\to\infty λ,则每类实例等概率出现、类别确定时每个特征取各个值的概率也相同。

学习与分类算法

算法(朴素贝叶斯算法)
输入:训练数据 T \mathcal{T} T;实例 x x x
输出:实例 x x x的分类。
(1)根据极大似然估计或贝叶斯估计计算相应概率值;
(2)对于给定实例 x = ( x ( 1 ) , ⋯   , x ( n ) ) T x=(x^{(1)},\cdots,x^{(n)})^\mathsf{T} x=(x(1),,x(n))T,计算 P ( Y = c k ) ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) , k = 1 , ⋯   , K ; P(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k),k=1,\cdots,K; P(Y=ck)j=1nP(X(j)=x(j)Y=ck),k=1,,K;
(3)确定 x x x的类。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值