' i7 R, ]! f* a. ?, h% g又由 全概率分布公式 可得:" I; o, l y7 z+ \% J
6 H) N/ A, E5 T5 P+ b: S # V a2 k. P- g. g( E3 x 6 n' L4 U5 q0 s4 r$ Q因此我们想要得到的 样本类别y 为: P$ {. u; N# w! I/ B/ ~
/ B3 l( U7 b0 _0 u . S! i0 u' r: i 7 z9 o6 x$ P0 q8 z& H1 p即 将概率最高的那个标记 作为预测样本的标签。 2 T) ~6 I* b$ b$ G1 y' ~6 x2 t; R `: ]- S- A) {! P
又因对于 每一个类别标记 来说: ; }1 `( _1 R$ n' X 0 S `9 V1 M# r6 q# |% j7 {为一常数。3 A* v; W7 [ H, W5 o
! C0 m6 A) i2 T' C0 N- {& ^因此 概率最高的样本类别y 可简化表示为: * R6 B* d; l: l& N9 s+ b! G, s2 A( K6 w& [ - q" C/ ^: t2 I0 D# m( f% o) ~# y7 q: u4 |
因此 、 的求值是关键。% D5 m5 l* J) }6 |# [9 B
, n6 A' B3 p% B% J. d% c. c
二、朴素贝叶斯常用模型# S2 ~# ?- D: {2 d; c" b
在不同的朴素贝叶斯模型中, 的求值也不同。下列为朴素贝叶斯常见的三种模型。8 `% {8 R8 F* j. M0 V! S; n5 l
) D( Q% f3 u2 D$ }! c5 u2 j3 O- C
1. 高斯朴素贝叶斯模型 & y$ h0 k, P* \$ f4 @在高斯朴素贝叶斯模型中,特征向量 X 的特征 通常为 连续型变量,并且假定所有特征的取值是符合高斯分布的,即: 4 v1 N; U" Z- U# x, a; S9 d8 P. A, J8 C$ d3 S) Y. ]7 B) { 。2 B1 b9 m0 W" R9 ^6 n, S- H( V
`! }; L$ p/ r4 t- N3 b8 f/ t其中 参数 、 可通过 极大似然估计(MLE) 求得: * a0 a3 |+ D& X; j q$ C" [* B' d8 w' A% H. Q 2 F+ C9 k. }4 \% y4 t+ | g3 ]" x+ R" }1 K, Z ! v3 U2 f! R t. B: m F9 \% W* P
: Y4 _4 ?! i* i8 r6 ?6 ]
其中 为 样本类别为 的样本数量, 为 类别为 的第 j 个样本的第 i 个特征的值。 $ h: l9 ]* D" f3 G6 l! a1 ?7 M 0 K; q! L3 X' J& M+ ^0 I由上可取得 概率最高的样本类别y :* Y7 i# [7 r- A8 v4 V/ M
, m$ Y; G9 t$ P2 ~! J! M2 G# v4 g6 }6 w9 `
' u/ P6 c' p k! s7 f2. 多项分布朴素贝叶斯模型) h ~9 f1 G) X$ j. L9 y, X, ]0 o
在多项分布朴素贝叶斯模型中,特征向量 X 的特征 通常为 离散型变量,并且假定所有特征的取值是符合多项分布的,可用于文本分类。对每一个样本类别 ,有对应的参数向量 , R z8 `5 Y1 B& W1 f C
9 H. c( q6 r _) @' [& d9 Q 。4 R4 x& ? c2 [" r% e) |# v2 H
# \# l" @0 ]0 C其中 n 为样本特征的维度,且令 。 1 f' p' p1 `; N2 x : X7 t4 r* O; i) g& o( W& S8 h8 O其中 参数 同样可以通过 极大似然估计 (MLE)求得: - i6 v$ h) n' B. r5 z$ d3 d, x6 e7 C; z5 |: V) G: i ( ^. d" ?& |9 Q3 F T: h) N' c1 w+ W% u3 @/ v" H& `* I* T7 Z
其中 为 类别为的样本的所有特征出现的总次数,可看作 类别为的样本的所有特征值的总和。 & v5 W* C' M& n: |2 {! v. x% M7 n9 c( b9 h, y! |1 `" c$ y8 ?
其中 为 类别为的样本的第 i 个特征出现的总次数,可看作 类别为的样本的第 i 个特征值的总和。 * W, t& u* E7 K& d' [5 \6 B 3 B* j' f* B# p) I又因为为了避免训练集样本对一些特征的缺失,即某一些特征出现的次数为0(特征值的总和为0),从而导致 为 0,进而导致预测的概率为 ,而且甚至会出现 0 除以 0 这种情况。. w0 }; |, V% t' u$ A$ y
0 b! t4 j$ B+ Q/ d" r8 M( {
因为我们需要对 参数 进行平滑处理,可有:% z% z) _% C* `3 o+ _9 E8 k9 ? } 8 v3 `, X" e# u" p" R6 H% g( L 2 t |2 r& M2 W+ `8 s4 U6 u+ N' U9 x3 p+ l! r! A
其中 n 为训练集样本特征的维度, 为平滑系数 ,当 = 1时,称为 Laplace平滑;当 < 1时,成为 Lidstone平滑。8 K5 Q; \- a" o" G! F' }! s
& w9 Z! [4 p2 m. D
我们可发现,平滑后的公式 。 . n6 F' l' B( P5 N4 n5 t" m 5 F$ }% R# o% |( Z1 x; ^. c对于其对应的类别 来说,还是保持着 。 . f- X/ M5 L: [; M4 f, G/ i5 H% p# `: G- |) n
而 = 类别为的样本的所有特征的特征值总和 / 训练集所有样本的所有特征的特征值总和 。 + N* k5 h: ^: j( d' w7 u/ w! V! a: c* N* V' P2 E. P# i @. H
以下为 使用带有Laplace平滑的多项朴素贝叶斯进行文本分类的一个例子:+ ]5 _$ ]/ ~0 }" ~
' [' _2 [4 o8 u- H& S. {. d
如下所示:已知在训练集中有两个文本及其标记,下面进行多项朴素贝叶斯模型预测第三个文本的标记。 9 P3 p# V S& z! q* z0 ]# o! M% F- d' b& K7 Y* F7 l% J# Q. }
index X Y1 Y* \6 Z. f3 a$ S
1 Yes,I like it. 1% S( @4 ]3 b2 C U( H
2 No,I dislike it. 0 5 u0 w8 F3 |6 Y; o3 z4 d% B0 S, o" d% e6 E! P ?+ Q/ U
3 No,No.dislike it. ?6 `, Z: j ?% s7 S+ o `
————————————————$ C+ s$ i9 L. v z
/ c8 X. n; S% m' {若使用词袋法,且 以 训练集中的文本 为词汇表,即将训练集中的文本中出现的单词都统计出来作为词典,那么记单词的数目为 n,这代表了文本的n个维度。通过统计,可得 n = 6 。* F( e2 h. W0 `# Q% F
% ?/ i+ y: u: g- e/ k4 k$ b以上三个文本在这 6 个特征维度上的表示为: * n* |/ Q9 U4 n* p! p% r9 m9 m3 ~! z Z6 \1 B
[backcolor=rgba(0, 0, 0, 0.05)] Yes No I like dislike it # _. Z2 T0 D/ N# u- @& |8 d' t
[backcolor=rgba(0, 0, 0, 0.05)]X1 1 0 1 1 0 1X2 0 1 1 0 1 1 X3 0 2 0 0 1 1下面需要计算: 7 D$ X% {! k# Z$ S/ _. h ! i1 A' l x3 ? I9 B% q7 t" E多项分布朴素贝叶斯是以文本的单词为粒度进行计算的,因此通过训练集的学习可有:; ]! T* y$ x* q
2 {8 {6 }: M; {+ u7 j
P(Y=1) = 4/8 = 1/2 、 P(Y=0) = 4/8 = 1/2, Q4 y3 D$ \5 m; X7 m
5 Z( l# b1 Z6 Y: M, R/ @* |7 tindex X Y r2 y/ p6 s: A, H+ B; J: K 1 Yes,Yes,I like it. 15 ~3 L- c4 W8 B$ f/ |
2 No,No,I dislike it. 03 s9 n' F7 R# k2 D
3 No,No.Dislike 0 7 B0 l' f7 ?1 N! E: E
- z- F. g7 h& H; }9 f! y. t. ~ 4 No.dislike it. ? , Q8 x* I/ ~! w- p4 d3 P, ^7 [5 H! _, N* Q) c! O. ~
若使用词袋法,且 以 训练集中的文本 为词汇表,即将训练集中的文本中出现的单词都统计出来作为词典,那么记单词的数目为 n,这代表了文本的n个维度。通过统计,可得 n = 6 。 7 k. k" N) u( T& w$ Q5 n6 E R , N7 q5 V8 @0 p( t( L以上四个文本在伯努利贝叶斯模型的这 6 个特征维度上的表示为(特征值为1或0):- {' O/ K: e) G
2 q' l5 M' ?3 Z! z
Yes No I like dislike it # `" L+ d8 x) a7 T* pX1 1 0 1 1 0 1 + P' g) E, N/ e# _! W: Y* S3 @3 w& T& k6 k7 [ i$ h0 F
X2 0 1 1 0 1 1 S/ V$ i I- C. k: d3 [X3 0 1 0 0 1 0/ d* {9 k3 C) I3 ?% W
1 f7 D2 i! ?4 H9 z. y
X4 0 1 0 0 1 1 & L8 W5 l, |5 `+ n1 Z: ?& u1 a5 | : n! ^0 V) a8 @下面需要计算:% T% ^7 G% s V3 _) f) T1 E; g
9 J8 ~2 b8 s" D Z2 v& k, q
伯努利分布朴素贝叶斯是以文本为粒度进行计算的,因此通过训练集的学习可有:2 O0 s5 C; F ?' ^' P) x
. ?) ^! j2 @' h1 m
P(Y=1) = 1/3 、 P(Y=0) = 2/3 ; ]" d# E Q; ^, K6 Y8 ]$ O Y& L0 ~- ~5 k0 i! E5 ~6 z由Laplace平滑公式计算可得:/ ?; h1 \4 }+ R+ g* j* y
( \6 l, ^& K: r9 B9 h4 J2 ]P(No|Y=1) = (0+1)/(4+6) = 1/10 7 O7 [- i+ e! \( }1 vP(dislike|Y=1) = (0+1)/(4+6) = 1/106 o% P# C* N/ ]
P(it|Y=1) = (1+1)/(4+6) = 1/5* d- p. k9 W2 \8 o
------------------------------------ 2 d2 U& t; S3 WP(No|Y=0) = (2+1)/(6+6) = 1/4( ~7 b/ T! e5 {$ s4 F
P(dislike|Y=0) = (2+1)/(6+6) = 1/4 ! h% _/ ]0 M9 U5 }2 }P(it|Y=0) = (1+1)/(6+6) = 1/6 - m0 G4 h7 l2 U/ ]. Q4 V 8 R" g+ E6 O: N6 l5 W% \所以:可计算出X4的样本标记Y=1和Y=0的相对概率: " k% i2 i4 b1 ^7 e2 d9 ?' D% z" T! \6 `) @" t, j! ^6 T3 o
P(Y=1|X4) = P(Y=1)*P(No|Y=1)*P(dislike|Y=1)*P(it|Y=1)! y: q- M9 q- w% T7 P: W
= 1/3*1/10*1/10*1/5 = 1/1500 + q6 |6 _. J4 ^( J. [4 O6 n
------------------------------------------ / ^6 B2 x2 X. }) ], wP(Y=0|X4) = P(Y=0)*P(No|Y=0)*P(dislike|Y=0)*P(it|Y=0) * n2 J; {: s: i- F7 M& g = 2/3*1/4*1/4*1/6 = 1/144 # |$ Z) W, S4 S
( M* R1 r0 [$ ?- L- G5 W
由公式 : & A0 s6 g. f3 E# M% l4 w. c 9 }! F1 p( c& p% j可知,X4的类别标记应该为 Y=0 。以上即完成了对X4的类别预测。 s" r5 h6 F0 k
7 a6 i% B G$ { p+ t# k6 _% Y
三、词袋法的特征值计算 , c4 w! S$ V, Y/ k: @/ I% G1 _词袋法对文本特征抽取:不考虑单词出现的顺序,只将每个出现过的单词视作一列特征,称这些不重复的词汇集合为词汇表。因此每一条训练集的文本都可以映射成一个特征向量。文本的特征值的常见计算方式有以下两种: % }+ d1 Y6 H6 w- ^3 n7 }: n* E& i2 M2 l+ I* x1 p+ M- I0 l: [% o. e& p
1. TF计算 ( R/ u, K/ W; p% N2 U" ]3 r. @TF计算(词频计算):对于每一个样本文本,只考虑每个单词在当前这条文本中出现的频率(Term Frequency),为避免词频之间差距较大,使用归一化后的词频,通常用在多项分布朴素贝叶斯模型中。具体的公式如下:- w! U$ R6 t; A3 v" v4 _
3 _+ h2 ~2 u1 s .7 P! O: g* `. ]3 f
' }' k5 s8 J. `3 F; v( O
其中 为 单词A 在当前文本中出现的次数;N 为 当前文本的单词个数。4 i" k6 n, ?' s. C& D
! m1 y! \3 i9 k6 t" ^, r' K
例如:) K5 Y/ R5 s C4 k' M
+ }3 A W* [! B: P2 T2 d index X 5 F# K& `* L; Y& H0 v
1 Yes,Yes,I like it. " t' g5 C/ i5 a) ~6 j/ K
2 No,No,I dislike it. 9 S9 `/ J5 b5 k+ Q/ m. i
9 d& X6 _, \. {) C
通过词频的计算和倍数乘积可得到向量:2 u& R2 B) E8 t7 c
6 |+ l, [# K7 P4 t; h2 l Yes No I like dislike it ; u; ?: B: Q( Z. n
X1 2 0 1 1 0 17 o, w, A9 B- j- n8 V( f
X2 0 2 1 0 1 1 0 y6 p# _+ {8 m0 F, Z $ D! o6 U3 r6 o2 u1 j9 f$ [2. TF-IDF计算' O/ n8 j3 T- \9 Q+ P
TF-IDF计算:除了计算某一个单词在当前文本中出现的频率(TF),而且还考虑 含有这个单词的文本条数 的倒数(Inverse Document Frequency),通常用在 多项分布朴素贝叶斯模型 中。当一个单词几乎在所有文本中都出现时,这个单词会对我们的分类决策带有干扰。TF-IDF的计算具体如下:. e' `! B7 V* F8 M) F
: Q8 D: `8 c% ]3 t# u 7 U4 Z& Z! M6 R9 G0 f