《统计学习方法》笔记--朴素贝叶斯

《统计学习方法》第四章–朴素贝叶斯

朴素贝叶斯概述

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。通过给定的训练数据集,首先基于特征条件独立的假设学习输入输出的联合概率分布,然后基于此模型,对于给定的 x x x,利用贝叶斯定理求出后验概率最大的输出 y y y

朴素贝叶斯法

输入:训练数据 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) . . . ( x N , y N ) } ; T=\{(x_1,y_1),(x_2,y_2)...(x_N,y_N)\}; T={(x1,y1),(x2,y2)...(xN,yN)};其中 x i = ( x i ( 1 ) , x i 2 ) , . . . , x i ( n ) ) T ; x_i=(x_i^{(1)},x_i^{2)},...,x_i^{(n)})^T; xi=(xi(1),xi2),...,xi(n))T; x i ( j ) 是 第 i 个 样 本 的 第 j 个 特 征 , x i ( j ) ∈ { a j 1 , a j 2 , . . . , a j S j } , a j l 是 第 j 个 特 征 可 能 取 得 第 l 个 值 , j = 1 , 2 , 3... , n ; l = 1 , 2 , . . . S j ; y i ∈ { c 1 , c 2 , . . . , c K } ; 实 例 x x_i{(j)}是第i个样本的第j个特征,x_i{(j)}\in \{a_{j1},a_{j2},...,a_{jS_j}\},a_{jl}是第j个特征可能取得第l个值,j=1,2,3...,n;l=1,2,...S_j;y_i\in\{c_1,c_2,...,c_K\};实例x xi(j)ijxi(j){aj1,aj2,...,ajSj},ajljlj=1,2,3...,n;l=1,2,...Sj;yi{c1,c2,...,cK};x

输出:实例 x x x的分类

(1) 根据给出的训练集计算先验概率和条件概率 P ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) N , k = 1 , 2 , . . . , K − − − − 在 给 定 训 练 集 中 c k 类 的 概 率 P(Y=c_k)=\frac{\sum_{i=1}^{N}I(y_i=c_k)}{N},k=1,2,...,K----在给定训练集中c_k类的概率 P(Y=ck)=Ni=1NI(yi=ck),k=1,2,...,Kck P ( X ( j ) = a j l ∣ Y = c k ) = ∑ i = 1 N I ( x i ( j ) = a j l , y i = c k ) ∑ i = 1 N I ( y i = c k ) − − − − 在 给 定 训 练 集 中 , 已 知 为 c k 类 时 , 第 j 个 特 征 取 值 为 a j l 的 概 率 P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^{N}I(x_i^{(j)}=a_{jl},y_i=c_k)}{\sum_{i=1}^NI(y_i=c_k)}----在给定训练集中,已知为c_k类时,第j个特征取值为a_{jl}的概率 P(X(j)=ajlY=ck)=i=1NI(yi=ck)i=1NI(xi(j)=ajl,yi=ck)ckjajl j = 1 , 2 , . . . , n ; l = 1 , 2 , . . . , S j ; k = 1 , 2... , K j=1,2,...,n;l=1,2,...,S_j;k=1,2...,K j=1,2,...,n;l=1,2,...,Sj;k=1,2...,K
(2) 对于给定实例 x = ( x ( 1 ) , x ( 2 ) , . . . , x ( n ) ) T , x=(x^{(1)},x^{(2)},...,x^{(n)})^T, x=(x(1),x(2),...,x(n))T,计算 P ( Y = c k ) ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) , k = 1 , 2 , . . . , K − − − − 对 于 给 定 的 实 例 , 计 算 在 不 同 类 别 下 其 特 征 序 列 ( x ( 1 ) , x ( 2 ) , . . . , x ( n ) ) 出 现 的 概 率 P(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k),k=1,2,...,K----对于给定的实例,计算在不同类别下其特征序列(x^{(1)},x^{(2)},...,x^{(n)})出现的概率 P(Y=ck)j=1nP(X(j)=x(j)Y=ck),k=1,2,...,K(x(1),x(2),...,x(n))
(3)确定实例 x x x所属的类 y = arg ⁡ max ⁡ c k P ( Y = c k ) ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) − − − − 将 实 例 x 归 入 特 征 序 列 出 现 概 率 最 大 的 那 一 类 y=\arg\max_{c_k}P(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)----将实例x归入特征序列出现概率最大的那一类 y=argckmaxP(Y=ck)j=1nP(X(j)=x(j)Y=ck)x

参数估计

朴素贝叶斯法主要是通过训练集计算出每个类别 c k c_k ck的先验概率,然后通过贝叶斯公式,计算出相应特征的条件概率,即在已知类别 c k c_k ck的条件下各个特征出现的概率,最后通过求出在给定类别时出现概率最大的类别作为实例的类别。

极大似然估计

在朴素贝叶斯法中,学习意味着估计 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(Xj=x(j)Y=ck)由于前提假设是特征条件相互,因此可以用极大似然估计法来估计相应的概率。

先验概率 P ( Y = c k ) P(Y=c_k) P(Y=ck)的极大似然估计是 P ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) N , k = 1 , 2 , . . . , K P(Y=c_k)=\frac{\sum_{i=1}^{N}I(y_i=c_k)}{N},k=1,2,...,K P(Y=ck)=Ni=1NI(yi=ck),k=1,2,...,K

条件概率 P ( X ( j ) = a j l ∣ Y = c k ) P(X^{(j)}=a_{jl}|Y=c_k) P(X(j)=ajlY=ck)的极大似然估计是 P ( X ( j ) = a j l ∣ Y = c k ) = ∑ i = 1 N I ( x i ( j ) = a j l , y i = c k ) ∑ i = 1 N I ( y i = c k ) − − − − 在 给 定 训 练 集 中 , 已 知 为 c k 类 时 , 第 j 个 特 征 取 值 为 a j l 的 概 率 P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^{N}I(x_i^{(j)}=a_{jl},y_i=c_k)}{\sum_{i=1}^NI(y_i=c_k)}----在给定训练集中,已知为c_k类时,第j个特征取值为a_{jl}的概率 P(X(j)=ajlY=ck)=i=1NI(yi=ck)i=1NI(xi(j)=ajl,yi=ck)ckjajl j = 1 , 2 , . . . , n ; l = 1 , 2 , . . . , S j ; k = 1 , 2... , K j=1,2,...,n;l=1,2,...,S_j;k=1,2...,K j=1,2,...,n;l=1,2,...,Sj;k=1,2...,K

贝叶斯估计

考虑到用极大似然估计可能会出现会估计的概率值为0的情况,可以采用贝叶斯估计来代替极大似然估计。具体的,

先验概率的贝叶斯估计为 P λ ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) + λ N + K λ P_\lambda(Y=c_k)=\frac{\sum_{i=1}^{N}I(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 I ( x i ( j ) = a j l , y i = c k ) + λ ∑ i = 1 N I ( y i = c k ) + S j λ P_\lambda(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^NI(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=1NI(xi(j)=ajl,yi=ck)+λ

上式中 λ ≥ 0 \lambda\geq0 λ0等价于在随机变量各个取值的频数上赋予一个正数 λ > 0 \lambda>0 λ>0,当 λ = 0 \lambda=0 λ=0时就是极大似然估计。常取 λ = 1 \lambda=1 λ=1,这时称为拉普拉斯平滑。显然对于任何的 l = 1 , 2 , . . . S j ; k = 1 , 2 , . . . , K l=1,2,...S_j;k=1,2,...,K l=1,2,...Sj;k=1,2,...,K有: P λ ( X ( j ) = a j l ∣ Y = c k ) > 0 P_\lambda(X^{(j)}=a_{jl}|Y=c_k)>0 Pλ(X(j)=ajlY=ck)>0 ∑ l = 1 S j P λ ( X ( j ) = a j l ∣ Y = c k ) = 1 \sum_{l=1}^{S_j}P_\lambda(X^{(j)}=a_{jl}|Y=c_k)=1 l=1SjPλ(X(j)=ajlY=ck)=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值