百度电脑版登录网站,购物网站开发流程图,中国招采网招标公告,自适应的网站模板sklearn之贝叶斯原理 前言1 高斯朴素贝叶斯1.1 对连续变量的处理1.2 高斯朴素贝叶斯算法原理 2 多项式朴素贝叶斯2.1 二项分布和多项分布2.2 详细原理2.3 如何判断是否符合多项式贝叶斯 3 伯努利朴素贝叶斯4 类别贝叶斯4 补充朴素贝叶斯4.1 核心原理4.2 算法流程 前言
如果想看… sklearn之贝叶斯原理 前言1 高斯朴素贝叶斯1.1 对连续变量的处理1.2 高斯朴素贝叶斯算法原理 2 多项式朴素贝叶斯2.1 二项分布和多项分布2.2 详细原理2.3 如何判断是否符合多项式贝叶斯 3 伯努利朴素贝叶斯4 类别贝叶斯4 补充朴素贝叶斯4.1 核心原理4.2 算法流程 前言
如果想看sklearn之贝叶斯应用可看Sklearn之朴素贝叶斯应用 贝叶斯的原理可以看贝叶斯分类器详解 根据这篇文章提到的原理可知贝叶斯的核心公式是 y a r g m a x c k P ( Y c k ) ∏ j 1 n P ( X ( j ) x ( j ) ∣ Y c k ) ( 1 ) yargmax_{c_{k}}P(Yc_{k})\prod \limits_{j1}^{n}P(X^{(j)}x^{(j)}|Yc_{k}) ~~(1) yargmaxckP(Yck)j1∏nP(X(j)x(j)∣Yck) (1) ”朴素贝叶斯“的多种变形算法的主要区别在于对条件概率的处理上即 P ( X ( j ) x ( j ) ∣ Y c k ) P(X^{(j)}x^{(j)}|Yc_{k}) P(X(j)x(j)∣Yck),接下来围绕着这个公式对多种变形贝叶斯展开原理分析
1 高斯朴素贝叶斯
1.1 对连续变量的处理
例如设汉堡的重量为特征 X i X_{i} Xi令 X i 100 X_{i}100 Xi100则一个汉堡是100g的概率 P ( X i 100 ∣ Y ) P(X_{i}100|Y) P(Xi100∣Y)是多少呢由于重量是连续型数据即重量有无数种情况因此有 P ( X i 100 ∣ Y ) lim N → ∞ 1 N 0 P(X_{i}100|Y)\lim_{N→\infty }\frac{1}{N}0 P(Xi100∣Y)N→∞limN10 因此考虑某点的概率没有任何意义这种估算方法不可行 考虑换个角度随机买一个汉堡汉堡的重量在98g~102g之间的概率是多少令特征 X i X_{i} Xi的取值为x即所求概率为 P ( 98 x 102 ∣ Y ) P(98x102|Y) P(98x102∣Y)假设购买了100个汉堡其中重量在98g-102g的汉堡有m个则有 P ( 98 x 102 ∣ Y ) m 100 P(98x102|Y)\frac{m}{100} P(98x102∣Y)100m 基于100个汉堡绘制直方图并规定每4g为一个区间横坐标为汉堡的重量的分布纵坐标为这个区间上汉堡的个数,如下图所示 此时可以用面积来表示概率即 P ( 98 x 102 ∣ Y ) m × 4 100 × 4 浅绿色区间面积 直方图所有区间的面积 P(98x102|Y)\frac{m×4}{100×4}\frac{浅绿色区间面积}{直方图所有区间的面积} P(98x102∣Y)100×4m×4直方图所有区间的面积浅绿色区间面积 如图购买10w个汉堡的直方图所示其类似一条曲线因此当购买无数个汉堡的时候形成的曲线就叫做概率密度曲线probability density functionPDF此时整条曲线的面积表示为 ∫ − ∞ ∞ f ( x ) d x \int_{-\infty}^{\infty}f(x)dx ∫−∞∞f(x)dx 此时对于连续特征X的取值x在区间 [ x i , x i ϵ ] [x_{i},x_{i}ϵ] [xi,xiϵ]的取值概率为 P ( x i x x i ϵ ∣ Y ) ∫ x i x i ϵ f ( x ) d x ≈ f ( x i ) × ϵ P(x_{i}xx_{i}ϵ|Y)\int_{x_{i}}^{x_{i}ϵ}f(x)dx≈f(x_{i})×ϵ P(xixxiϵ∣Y)∫xixiϵf(x)dx≈f(xi)×ϵ 从贝叶斯分类器详解这篇文章可知公式 y f ( x ) a r g m a x c k P ( Y c k ∣ X x ) P ( Y c k ) ∏ j P ( X ( j ) x ( j ) ∣ Y c k ) ∑ k P ( Y c k ) ∏ j P ( X ( j ) x ( j ) ∣ Y c k ) yf(x)argmax_{c_{k}}P(Yc_{k}|Xx) \frac{P(Yc_{k})\prod_{j}P(X^{(j)}x^{(j)}|Yc_{k})}{\sum_{k}P(Yc_{k})\prod_{j}P(X^{(j)}x^{(j)}|Yc_{k})} yf(x)argmaxckP(Yck∣Xx)∑kP(Yck)∏jP(X(j)x(j)∣Yck)P(Yck)∏jP(X(j)x(j)∣Yck) 通过上述式子可知ϵ可以相互抵消则仅用 f ( x i ) f(x_{i}) f(xi)就可以估算 P ( x i ∣ Y ) P(x_{i}|Y) P(xi∣Y)了即将求解连续型变量下某个点取值的概率问题转化成了求解一个函数 f ( x ) f(x) f(x)在点 x i x_{i} xi上的取值的问题。令 f ( x ) f(x) f(x)服从高斯分布用该 f ( x ) f(x) f(x)去估算条件概率 P ( x i ∣ Y ) P(x_{i}|Y) P(xi∣Y),这就是高斯朴素贝叶斯
1.2 高斯朴素贝叶斯算法原理
1原理 根据上述结论有高斯贝叶斯算法假定数据样本在各个类别下每个特征变量的条件概率均服从高斯分布 f ( x ) f(x) f(x)即 f ( x i ) p ( x i ∣ y c ) 1 2 π σ c i 2 e x p ( − ( x i − μ c i ) 2 2 σ c i 2 ) f(x_{i})p(x_{i}|y_{c})\frac{1}{\sqrt{2\pi\sigma_{ci}^{2}}}exp(-\frac{(x_{i}-\mu_{ci})^{2}}{2\sigma_{ci}^{2}}) f(xi)p(xi∣yc)2πσci2 1exp(−2σci2(xi−μci)2)
其中表示第 i i i个特征维度 σ c i \sigma_{ci} σci和 μ c i \mu_{ci} μci分别表示在类别 y c yc yc下特征 x i x_{i} xi对应的标准差与期望。注意这和1.1里面所讲的 x i x_{i} xi不是一个意思
由前言可知之后进行极大化后验概率为了防止下溢结果小于所能表示的最小值的情况因此取对数(以e为底)可得 y a r g m a x y c l o g ( P ( y c ) ∏ i 0 n P ( x i ∣ y c ) ) a r g m a x y c l o g ( P ( y c ) ∏ i 0 n 1 2 π σ c i 2 e x p ( − ( x i − μ c i ) 2 2 σ c i 2 ) ) a r g m a x y c [ l o g P ( y c ) ∑ i 0 n l o g ( 1 2 π σ c i 2 e x p ( − ( x i − μ c i ) 2 2 σ c i 2 ) ) ] a r g m a x y c ( l o g P ( y c ) − 1 2 ∑ i 0 n l o g 2 π σ c i 2 − 1 2 ∑ i 0 n ( x i − μ c i ) 2 σ c i 2 ) \begin {aligned} {} y argmax_{y_{c}}log(P(y_{c})\prod\limits_{i0}^{n}P(x_{i}|y_{c})) \\ argmax_{y_{c}}log(P(y_{c})\prod\limits_{i0}^{n}\frac{1}{\sqrt{2\pi\sigma_{ci}^{2}}}exp(-\frac{(x_{i}-\mu_{ci})^{2}}{2\sigma_{ci}^{2}}))\\ argmax_{y_{c}}\begin{bmatrix} logP(y_{c})\sum\limits_{i0}^{n}log(\frac{1}{\sqrt{2\pi\sigma_{ci}^{2}}}exp(-\frac{(x_{i}-\mu_{ci})^{2}}{2\sigma_{ci}^{2}})) \end{bmatrix}\\ argmax_{y_{c}}(logP(y_{c})-\frac{1}{2}\sum\limits_{i0}^{n}log2π\sigma_{ci}^{2}-\frac{1}{2}\sum\limits_{i0}^{n}\frac{(x_{i}-\mu_{ci})^{2}}{\sigma_{ci}^{2}}) \end {aligned} yargmaxyclog(P(yc)i0∏nP(xi∣yc))argmaxyclog(P(yc)i0∏n2πσci2 1exp(−2σci2(xi−μci)2))argmaxyc[logP(yc)i0∑nlog(2πσci2 1exp(−2σci2(xi−μci)2))]argmaxyc(logP(yc)−21i0∑nlog2πσci2−21i0∑nσci2(xi−μci)2) 2示例 假设有如下连续型数据一共有两个特征 x 0 x_{0} x0、 x 1 x_{1} x1如下表所示预测x[0.15,0.25]所属的类别对数以底数e为底
样本 x 0 x_{0} x0 x 1 x_{1} x1所属类别00.30.5010.40.6020.70.9130.60.71
第一步求先验概率 P ( y 0 ) l o g 1 2 ≈ − 0.693 P(y0)log\frac{1}{2}≈-0.693 P(y0)log21≈−0.693 P ( y 1 ) l o g 1 2 ≈ − 0.693 P(y1)log\frac{1}{2}≈-0.693 P(y1)log21≈−0.693 第二步求方差和期望 在 y 0 和 x 0 y0和x_{0} y0和x0时对应的期望和方差分别为 μ 00 0.3 0.4 2 0.35 \mu_{00}\frac{0.30.4}{2}0.35 μ0020.30.40.35 σ 00 2 ( 0.3 − 0.35 ) 2 ( 0.4 − 0.35 ) 2 2 0.0025 \sigma_{00}^{2}\frac{(0.3-0.35)^{2}(0.4-0.35)^2}{2}0.0025 σ0022(0.3−0.35)2(0.4−0.35)20.0025 同理最终可得期望矩阵和方差矩阵 μ [ 0.35 0.55 0.65 0.8 ] \mu\begin{bmatrix} 0.350.55 \\ 0.65 0.8 \end{bmatrix} μ[0.350.650.550.8] σ 2 [ 0.0025 0.0024 0.0025 0.01 ] \sigma^{2}\begin{bmatrix} 0.0025 0.0024\\ 0.0025 0.01 \end{bmatrix} σ2[0.00250.00250.00240.01] 第三步求条件概率 对于x[0.15,0.25]当 y 0 y0 y0时有 P ( x ∣ y 0 ) − 1 2 ∑ i 0 n l o g 2 π σ 0 i 2 − 1 2 ∑ i 0 n ( x i − μ 0 i ) 2 σ 0 i 2 − 1 2 [ l o g ( 2 π × 0.0025 ) l o g ( 2 π × 0.0024 ) ] − 1 2 [ ( 0.15 − 0.35 ) 2 0.0025 ( 0.25 − 0.55 ) 2 0.0024 ] ≈ − 22.576 \begin {aligned} {} P(x|y0) -\frac{1}{2}\sum\limits_{i0}^{n}log2π\sigma_{0i}^{2}-\frac{1}{2}\sum\limits_{i0}^{n}\frac{(x_{i}-\mu_{0i})^{2}}{\sigma_{0i}^{2}} \\-\frac{1}{2} [log(2π×0.0025)log(2π×0.0024)]-\frac{1}{2}[\frac{(0.15-0.35)^{2}}{0.0025}\frac{(0.25-0.55)^{2}}{0.0024}] \\ ≈-22.576 \end {aligned} P(x∣y0)−21i0∑nlog2πσ0i2−21i0∑nσ0i2(xi−μ0i)2−21[log(2π×0.0025)log(2π×0.0024)]−21[0.0025(0.15−0.35)20.0024(0.25−0.55)2]≈−22.576 同理可得 P ( x ∣ y 1 ) ≈ − 61.665 P(x|y1)≈-61.665 P(x∣y1)≈−61.665 第四步求结果 对于x[0.15,0.25]当 y 0 y0 y0时有 P ( y 0 ∣ x ) P ( y 0 ) P ( x ∣ y 0 ) − 0.693 − 22.576 − 23.269 P(y0|x)P(y0)P(x|y0)-0.693-22.576-23.269 P(y0∣x)P(y0)P(x∣y0)−0.693−22.576−23.269 对于x[0.15,0.25]当 y 1 y1 y1时有 P ( y 1 ∣ x ) P ( y 1 ) P ( x ∣ y 1 ) − 0.693 − 61.665 − 62.358 P(y1|x)P(y1)P(x|y1)-0.693-61.665-62.358 P(y1∣x)P(y1)P(x∣y1)−0.693−61.665−62.358 综上x属于y0的概率最大故x属于y0这个类别
2 多项式朴素贝叶斯
2.1 二项分布和多项分布
1二项分布 2多项分布
2.2 详细原理
1原理 多项式朴素贝叶斯处理词袋模型时则是将每个维度的词频在总词频中的占比来作为条件概率进行建模一般使用词频法和TF-IDF表示法来配合多项式朴素贝叶斯的使用这里讲的是词频法详情见词袋模型
多项式朴素贝叶斯中在一种标签类别 Y c Yc Yc下将条件概率分布的分布参数化为 θ c ( θ c 1 , θ c 2 , ⋯ , θ c n ) \theta_{c}(\theta_{c1},\theta_{c2},\cdots,\theta_{cn}) θc(θc1,θc2,⋯,θcn)
n表示训练集中的特征维度 θ c i \theta_{ci} θci是类别c下特征i的条件概率 P ( x i ∣ Y c ) P(x_{i}|Yc) P(xi∣Yc)表示当 Y c Yc Yc条件固定时一组样本在 x i x_{i} xi特征上的取值被取到的概率
参数通过极大似然估计可得 θ c i N c i N c \theta_{ci}\frac{N_{ci}}{N_{c}} θciNcNci
其中 N c i N_{ci} Nci表示在训练集T中样本属于 Y c Yc Yc类别下特征为 i i i的出现的频次即 N c i ∑ x ∈ T x i N_{ci}\sum_{x \in T }x_{i} Nci∑x∈Txi N c N_{c} Nc表示在训练集T中样本属于 Y c Yc Yc类别下所有特征的总频次即 N c ∑ i 1 n N c i N_{c}\sum\limits_{i1}^{n}N_{ci} Nci1∑nNci。
令α0来防止训练数据中出现0概率以避免让参数θ为0的情况可得如下式子 θ c i N c i α N c α n \theta_{ci}\frac{N_{ci}\alpha }{N_{c}\alpha n} θciNcαnNciα
将α设置为1则这个平滑叫做拉普拉斯平滑如果α小于1则把它叫做利德斯通平滑两种平滑都属于自然语言处理中比较常用的用来平滑分类数据的统计手段
由前言可知之后进行极大化后验概率为了防止下溢结果小于所能表示的最小值的情况因此取对数可得 y a r g m a x c k l o g ( P ( Y c k ) ∏ j 1 n P ( X ( j ) x ( j ) ∣ Y c k ) ) yargmax_{c_{k}}log(P(Yc_{k})\prod \limits_{j1}^{n}P(X^{(j)}x^{(j)}|Yc_{k})) yargmaxcklog(P(Yck)j1∏nP(X(j)x(j)∣Yck)) 由对数性质可知 y a r g m a x c k [ l o g ( P ( Y c k ) ) ∑ j 1 n l o g ( P ( X ( j ) x ( j ) ∣ Y c k ) ) ] yargmax_{c_{k}}[log(P(Yc_{k}))\sum\limits_{j1}^{n}log(P(X^{(j)}x^{(j)}|Yc_{k}))] yargmaxck[log(P(Yck))j1∑nlog(P(X(j)x(j)∣Yck))] 条件概率计算的是训练集中特征维度的词频在总词频中的占比而某个特征即词语可能出现多次因此会出现连乘在取对数的情况下变成了加和(例如词语文本aab特征a出现了两次)因此需要同时考虑到每个维度的词频 y a r g m a x c k [ l o g ( P ( Y c k ) ) ∑ j 1 n f i l o g ( P ( X ( j ) x ( j ) ∣ Y c k ) ) ] yargmax_{c_{k}}[log(P(Yc_{k}))\sum\limits_{j1}^{n}f_{i}log(P(X^{(j)}x^{(j)}|Yc_{k}))] yargmaxck[log(P(Yck))j1∑nfilog(P(X(j)x(j)∣Yck))]
其中 f i f_{i} fi表示特征维度i的词频
2例子 下述例子对数都以10为底 例子1 在词袋模型这篇文章中中由词频法的例子并假设都在类别Yc中可得
BeijingChineseJapanMacaoShanghaiTokyoYChinese Beijing Chinese120000cChinese Chinese Shanghai020010cChinese Macao010100cTokyo Japan Chinese011001c
如上表格就是一个特征矩阵行代表样本列代表特征维度 仅以BeiJing特征作为例子取α1求条件概率得 θ P ( B e i J i n g ∣ Y c ) 1 1 11 6 2 17 \thetaP(BeiJing|Yc)\frac{11}{116}\frac{2}{17} θP(BeiJing∣Yc)11611172 例子2 对类别和特征进行修改为了方便这里不再做平滑处理如下所示
BeijingShanghaiYBeijing Beijing Beijing Shanghai310Beijing Shanghai Shanghai121
现预测x[25,2]所属的类别取α1
第一步算各个类别的先验概率 P ( Y 0 ) l o g ( 1 2 ) ≈ − 0.30 P ( Y 1 ) l o g ( 1 2 ) ≈ − 0.30 P(Y0)log(\frac{1}{2})\approx -0.30 \\ \enspace \\ P(Y1)log(\frac{1}{2})\approx -0.30 P(Y0)log(21)≈−0.30P(Y1)log(21)≈−0.30 第二步算条件概率 在类别Y0的情况下有 P ( B e i j i n g ∣ Y 0 ) l o g ( 3 3 1 ) ≈ − 0.12 P ( S h a n g h a i ∣ Y 0 ) l o g ( 1 3 1 ) ≈ − 0.60 P(Beijing|Y0)log(\frac{3}{31})\approx -0.12 \\ \enspace \\ P(Shanghai|Y0)log(\frac{1}{31})\approx -0.60 P(Beijing∣Y0)log(313)≈−0.12P(Shanghai∣Y0)log(311)≈−0.60 在类别Y1的情况下有 P ( B e i j i n g ∣ Y 1 ) l o g ( 1 1 2 ) ≈ − 0.48 P ( S h a n g h a i ∣ Y 1 ) l o g ( 2 1 2 ) ≈ − 0.18 P(Beijing|Y1)log(\frac{1}{12})\approx -0.48 \\ \enspace \\ P(Shanghai|Y1)log(\frac{2}{12})\approx -0.18 P(Beijing∣Y1)log(121)≈−0.48P(Shanghai∣Y1)log(122)≈−0.18 第三步求后验概率 P ( Y 0 ∣ x ) P ( Y 0 ) 25 × P ( B e i j i n g ∣ Y 0 ) 2 × P ( S h a n g h a i ∣ Y 0 ) − 0.30 25 × − 0.12 2 × − 0.60 − 4.5 P ( Y 1 ∣ x ) P ( Y 1 ) 25 × P ( B e i j i n g ∣ Y 1 ) 2 × P ( S h a n g h a i ∣ Y 1 ) − 0.30 25 × − 0.48 2 × − 0.18 − 12.66 \begin {aligned} {} P(Y0|x) P(Y0)25 \times P(Beijing|Y0) 2\times P(Shanghai|Y0) \\ -0.3025\times -0.122\times-0.60\\ -4.5 \end {aligned}\\ \enspace \\ \begin {aligned} {} P(Y1|x) P(Y1)25 \times P(Beijing|Y1) 2\times P(Shanghai|Y1) \\ -0.3025\times -0.482\times-0.18\\ -12.66 \end {aligned} P(Y0∣x)P(Y0)25×P(Beijing∣Y0)2×P(Shanghai∣Y0)−0.3025×−0.122×−0.60−4.5P(Y1∣x)P(Y1)25×P(Beijing∣Y1)2×P(Shanghai∣Y1)−0.3025×−0.482×−0.18−12.66 显然在类别为0时概率更大综上所述x属于类0
2.3 如何判断是否符合多项式贝叶斯
根据多项分布的概念以词袋模型为例在文本分类中有如下假设
不考虑文本中单词之间的次序即认为这两个文本‘ Love and Peace’和‘ Peace and Love’最后建模出来对应于同一个特征向量。不考虑文本单词之间的次序会导致文本语义丢失。在类别为Yc的文本中每个单词的出现是相互独立。即在类别为Yc的文本中每次随机试验为随机从词表中抽取一个单词进行n次独立重复试验。
第2个假设只有满足了才保证了文本的特征随机向量 X X X满足多项式分布即给定类别Yc的文本满足 X ∼ M u l t i N o r m i a l ( n , θ c 1 , θ c 2 , ⋯ , θ c n ) X\sim MultiNormial(n,\theta_{c1},\theta_{c2},\cdots,\theta_{cn}) X∼MultiNormial(n,θc1,θc2,⋯,θcn) 即满足了上述要求可用多项式朴素贝叶斯推导过程里的方法求条件概率
3 伯努利朴素贝叶斯
1原理 BernoulliNB实现了按多元伯努利分布的数据的朴素贝叶斯训练和分类算法即可能有多个特征但每个特征都被假定为一个二元值(Bernoulliboole)变量。因此该类要求样本被表示为二值化的特征向量 伯努利朴素贝叶斯计算 P ( x i ∣ y ) P(x_{i}|y) P(xi∣y)仍然用到多项式朴素贝叶斯的方法 θ c i N c i α N c α n \theta_{ci}\frac{N_{ci}\alpha }{N_{c}\alpha n} θciNcαnNciα 但伯努利朴素贝叶斯对条件概率新增处理是 P ( x i ∣ y ) P ( i ∣ y ) x i ( 1 − P ( i ∣ y ) ( 1 − x i ) P(x_{i}|y)P(i|y)x_{i}(1-P(i|y)(1-x_{i}) P(xi∣y)P(i∣y)xi(1−P(i∣y)(1−xi)
与多项式朴素贝叶斯的区别是明确惩罚特征i的不出现而多项式朴素贝叶斯会忽略未出现的特征
2例子
上述原理会觉得很难理解给定具体例子就很好理解了使用词袋模型这篇文章中所提到的独热法得到下述数据
BeijingShanghaiYBeijing Beijing100Shanghai Shanghai011Shanghai Beijing112
为了方便这里不再取对数且不做平滑处理假设有一文本x为Beijing那它应该属于哪个类别 第一步算各个类别的先验概率 P ( Y 0 ) 1 3 P ( Y 1 ) 1 3 P ( Y 2 ) 1 3 P(Y0)\frac{1}{3} \\ \enspace \\ P(Y1 )\frac{1}{3} \\ \enspace \\ P(Y2 )\frac{1}{3} P(Y0)31P(Y1)31P(Y2)31 第二步算条件概率 在类别Y0的情况下有 P ( B e i j i n g ∣ Y 0 ) 1 1 0 ) 1 P ( S h a n g h a i ∣ Y 0 ) 0 1 0 0 P(Beijing|Y0)\frac{1}{10})1 \\ \enspace \\ P(Shanghai|Y0)\frac{0}{10}0 P(Beijing∣Y0)101)1P(Shanghai∣Y0)1000 在类别Y1的情况下有 P ( B e i j i n g ∣ Y 1 ) 0 1 0 0 P ( S h a n g h a i ∣ Y 1 ) 1 1 0 1 P(Beijing|Y1)\frac{0}{10}0 \\ \enspace \\ P(Shanghai|Y1)\frac{1}{10}1 P(Beijing∣Y1)1000P(Shanghai∣Y1)1011 在类别Y2的情况下有 P ( B e i j i n g ∣ Y 2 ) 1 1 1 0.5 P ( S h a n g h a i ∣ Y 2 ) 1 1 1 0.5 P(Beijing|Y2)\frac{1}{11}0.5 \\ \enspace \\ P(Shanghai|Y2)\frac{1}{11}0.5 P(Beijing∣Y2)1110.5P(Shanghai∣Y2)1110.5 第三步求后验概率 P ( Y 0 ∣ x ) P ( Y 0 ) × P ( B e i j i n g ∣ Y 0 ) × (1-P(Shanghai|Y0)) 1 3 P ( Y 1 ∣ x ) P ( Y 1 ) × P ( B e i j i n g ∣ Y 1 ) × (1-P(Shanghai|Y1)) 0 P ( Y 2 ∣ x ) P ( Y 2 ) × P ( B e i j i n g ∣ Y 2 ) × (1-P(Shanghai|Y2)) 1 12 P(Y0|x) P(Y0)×P(Beijing|Y0)× \textbf{(1-P(Shanghai|Y0))} \frac{1}{3} \\ \enspace \\ P(Y1|x) P(Y1)×P(Beijing|Y1)× \textbf{(1-P(Shanghai|Y1))} 0 \\ \enspace \\ P(Y2|x) P(Y2)×P(Beijing|Y2)× \textbf{(1-P(Shanghai|Y2))} \frac{1}{12} P(Y0∣x)P(Y0)×P(Beijing∣Y0)×(1-P(Shanghai|Y0))31P(Y1∣x)P(Y1)×P(Beijing∣Y1)×(1-P(Shanghai|Y1))0P(Y2∣x)P(Y2)×P(Beijing∣Y2)×(1-P(Shanghai|Y2))121 因此属于类0上述加粗算式就是伯努利朴素贝叶斯的改进地方。对于某一个文本若不存在该单词若某类该单词概率越高通过上述加粗算式的操作使得该文本出现在该类的概率越低这就是惩罚而多项式朴素贝叶斯没有这种操作。
4 类别贝叶斯
1原理 这篇文章贝叶斯分类器详解中所说的算法实际上就是朴素贝叶斯可以直接看这篇文章即可对条件概率的处理是 P ( x i t ∣ y c ) N t i c α N c α n i P(x_{i}t|yc)\frac{N_{tic}α}{N_{c}αn_{i}} P(xit∣yc)NcαniNticα N t i c N_{tic} Ntic是样本特征 x i x_{i} xi中出现类 t t t的次数这些样本属于类别c N c N_{c} Nc属于c类的样本数 n i n_{i} ni是特征i的可用类别数将α设置为1则这个平滑叫做拉普拉斯平滑如果α小于1则把它叫做利德斯通平滑两种平滑都属于自然语言处理中比较常用的用来平滑分类数据的统计手段
2例子 对先验概率也做了一定的处理可以忽略重在看懂条件概率的处理过程
4 补充朴素贝叶斯
4.1 核心原理
1多项式朴素贝叶斯公式改写 前面已经说过多项式朴素贝叶斯的核心公式是 θ c i N c i α N c α n \theta_{ci}\frac{N_{ci}\alpha }{N_{c}\alpha n} θciNcαnNciα 现假设在标签类别下 Y c Yc Yc下结构为(m,n)的特征矩阵如下 X y [ x 11 x 12 x 13 ⋯ x 1 n x 21 x 22 x 23 ⋯ x 2 n x 31 x 32 x 33 ⋯ x 3 n ⋯ x m 1 x m 2 x m 3 ⋯ x m n ] X_{y}\begin{bmatrix} x_{11} x_{12} x_{13} \cdots x_{1n} \\ x_{21} x_{22} x_{23} \cdots x_{2n} \\ x_{31} x_{32} x_{33} \cdots x_{3n} \\ \cdots \\ x_{m1} x_{m2} x_{m3} \cdots x_{mn} \end{bmatrix} Xy x11x21x31xm1x12x22x32xm2x13x23x33⋯xm3⋯⋯⋯⋯x1nx2nx3nxmn x j i x_{ji} xji表示样本 j j j的特征 i i i发生的次数样本数为行特征为列
根据该特征矩阵可以对多项式朴素贝叶斯核心公式进行改写如下 θ c i ∑ y i c x j i α ∑ i 1 n ∑ y i c x j i α n \theta_{ci}\frac{\sum_{y_{i}c}x_{ji} \alpha }{\sum_{i1}^{n}\sum_{y_{i}c}x_{ji}\alpha n} θci∑i1n∑yicxjiαn∑yicxjiα 2补充朴素贝叶斯原理 其使用来自每个标签类别的补集的概率并以此来计算每个特征的权重如下 θ i , y ≠ c α i ∑ y i ≠ c x i j α ∑ i , y ≠ c ∑ i 1 n x i j \theta_{i,y≠c}\frac {\alpha_{i} \sum_{y_{i}≠c}x_{ij} } {\alpha \sum_{i,y≠c}\sum_{i1}^{n}x_{ij}} θi,ycα∑i,yc∑i1nxijαi∑yicxij x i j x_{ij} xij表示样本 j j j上对于特征 i i i下的取值特征为行样本为列 ∑ y i ≠ c x i j \sum_{y_{i}≠c}x_{ij} ∑yicxij指特征 i i i下所有标签类别不为 c c c的样本的特征取值之和 ∑ i , y ≠ c ∑ i 1 n x i j \sum_{i,y≠c}\sum_{i1}^{n}x_{ij} ∑i,yc∑i1nxij指所有特征下所有标签类别不为 c c c的样本的特征取值之和 α ∑ i α i \alpha\sum_{i}\alpha_{i } α∑iαi
从上述公式可以看出这就是多项式朴素贝叶斯的逆向思路 为了防止下溢对其取对数有 w c i l o g θ i , y ≠ c w_{ci}log\theta_{i,y≠c} wcilogθi,yc 还可以选择除以它的L2范式以解决了在多项式分布中特征取值比较多的样本比如说比较长的文档支配参数估计的情况。如下 w c i l o g θ i , y ≠ c ∑ j ∣ l o g θ i , y ≠ c ∣ w_{ci}\frac {log\theta_{i,y≠c}} {\sum_{j}|log\theta_{i,y≠c}|} wci∑j∣logθi,yc∣logθi,yc 例如样本1在参数估计中权重显然更大
样本1样本2 x 1 x_{1} x150 x 2 x_{2} x211
基于 w c i w_{ci} wci,对于一个样本 X X X x i x_{i} xi是样本 X X X的特征补充朴素贝叶斯的一个样本预测规则为 P ( Y ≠ c ∣ X ) a r g m i n c ∑ i x i w c i P(Y≠c|X)argmin_{c}\sum\limits_{i}x_{i}w_{ci} P(Yc∣X)argminci∑xiwci
即我们求解出的最小补集概率所对应的标签就是样本的标签因为 Y ≠ c Y≠c Yc的概率越小则 Y c Yc Yc概率越大因此属于类 c c c
4.2 算法流程
补充朴素贝叶斯的算法流程 令 X { x 1 , ⋯ , x n } X\{x_{1},\cdots,x_{n}\} X{x1,⋯,xn}是一组数据集 x i j x_{ij} xij是 j j j文本中单词 i i i的计数 令 Y { y 1 , ⋯ , y n } Y\{y_{1},\cdots,y_{n}\} Y{y1,⋯,yn}是该组数据集的标签 输入X和Y x i j l o g ( x i j 1 ) \large{x_{ij}log(x_{ij}1)} xijlog(xij1) x i j x i j l o g ∑ k 1 ∑ k δ i k \large{x_{ij}x_{ij}log\frac{\sum_{k}1}{\sum_{k}δ_{ik}}} xijxijlog∑kδik∑k1 x i j x i j ∑ k ( x k j ) 2 \large{x_{ij}\frac{x_{ij}}{\sqrt{\sum_{k}(x_{kj})^{2}}}} xij∑k(xkj)2 xij θ i , y ≠ c α i ∑ y i ≠ c x i j α ∑ i , y ≠ c ∑ i 1 n x i j \large{\theta_{i,y≠c}\frac{\alpha_{i} \sum_{y_{i}≠c}x_{ij} }{\alpha \sum_{i,y≠c}\sum_{i1}^{n}x_{ij}}} θi,ycα∑i,yc∑i1nxijαi∑yicxij w c i l o g θ i , y ≠ c \large{w_{ci}log\theta_{i,y≠c}} wcilogθi,yc w c i w c i ∑ i w c i \large{w_{ci}\frac{w_{ci}}{\sum_{i}w_{ci}}} wci∑iwciwci令 t { t 1 , ⋯ , t n } t\{t_{1},\cdots,t_{n}\} t{t1,⋯,tn}是测试文本 t i t_{i} ti是单词 i i i的计数最后基于预测规则求出所属类别 l ( t ) a r g m i n c ∑ i t i w c i l(t)argmin_{c}\sum\limits_{i}t_{i}w_{ci} l(t)argminci∑tiwci
这里对一些细节进行说明 x i j l o g ( x i j 1 ) \large{x_{ij}log(x_{ij}1)} xijlog(xij1)可以更真实地处理文本同时具备多项式朴素贝叶斯的优势 x i j x i j l o g ∑ k 1 ∑ k δ i k \large{x_{ij}x_{ij}log\frac{\sum_{k}1}{\sum_{k}δ_{ik}}} xijxijlog∑kδik∑k1对于 δ i k δ_{ik} δik,若单词 i i i出现在文本 k k k上则 δ i k 1 δ_{ik}1 δik1否则为0。这个方法是为了对那些在每篇文档都出现的字进行处理这些字不太重要具体可看词袋模型的TF-IDF方法 x i j x i j ∑ k ( x k j ) 2 \large{x_{ij}\frac{x_{ij}}{\sqrt{\sum_{k}(x_{kj})^{2}}}} xij∑k(xkj)2 xij文本中词的相互依赖性很强一个词首次出现在文本中后就更有可能再一次出现。由于朴素贝叶斯假定发生独立冗长的文本会对参数估计产生负面影响。因此标准化文本单词数避免这个问题