《机器学习》完整版系列 第7章 贝叶斯分类器——7

贝叶斯网是关于属性的,有向线表示“依赖”性的父子关系;通过属性的条件概率表CPT来描述 。
有向图转化为无向图:让两亲联姻(连接两结点),称为道德化 。
网络结构也是“超参数”,如何选择该“超参数”?
贝叶斯图络学习:两级搜索法
贝叶斯网结构
贝叶斯网(也称信念网)记为 B = < G , Θ > B= B=
假定每个属性与其非后裔属性独立,
由此定义属性的联合分布为
P B ( x 1 , x 2 , ? , x d ) = ∏ i = 1 d P B ( x i ∣ π i ) = ∏ i = 1 d θ x i ∣ π i \begin{align} P_B(x_1, x_2,\cdots,x_d) & =\{\prod }\{i=1}^dP_B(x_i\,|\,{\pi}_i ) \tag{7.40} \\ & =\{\prod }\{i=1}^d {\theta}_{x_i\,|\,{\pi}_i } \tag{7.41} \end{align} PB?(x1?,x2?,?,xd?)?=i=1∏d?PB?(xi?∣πi?)=i=1∏d?θxi?∣πi???(7.40)(7.41)?
其中,θ x i ∣ π i {\theta}_{x_i\,|\,{\pi}_i } θxi?∣πi??需要查表,而表有时不是直接给出的,要通过对数据集 D D D中的样本情况进行分门别类地“计数”统计,计算频率来估计的 。
【西瓜书图7.3】描述了贝叶斯网中三种依赖关系,并讨论了独立性 。
给定一个结点的值,相当于把这个结点染上了黑色(即不能再变化),以此技巧来思考“给定结点值”的情况,则易于理解,如下以生物学的例子来增强记忆 。
如图7.1所示,V V V型结构是双性繁殖( V V V型结构的记忆口诀:自由恋爱好独立,奉子成婚难独立)\tacg{ch7:marr},当 x 1 , x 2 x_1,x_2 x1?,x2?的孩子 x 3 x_3 x3?的肤色性状已经确定(如,黑白混血小孩),那么,当 x 1 x_1 x1?为白人时,x 2 x_2 x2?应为黑人,反之亦然 。故孩子 x 3 x_3 x3?的性状给定时,双亲 x 1 x_1 x1?与 x 2 x_2 x2?的性状不独立 。
图7.1 V型结构
V V V型结构中,x 1 x_1 x1?与 x 2 x_2 x2?可以“自由恋爱”(即独立)生出孩子 x 3 x_3 x3? 。即在不给定“共子” x 3 x_3 x3?的值时,其父母 x 1 , x 2 x_1,x_2 x1?,x2?是独立的,

《机器学习》完整版系列  第7章 贝叶斯分类器——7

文章插图
理论上由【西瓜书式(7.27)】所验证,称为边际独立,记为 x 1 ⊥ ????? ⊥ x 2 x_1 \perp \!\!\! \perp x_2 x1?⊥⊥x2? 。
注:求和符号起边际化的作用,就像在二维表中,对行(或列)求和(即通常的小计),写到最右“边”(边上加一列)(或最下“边”(加一行))中 。
如图7.2左侧所示,在同父结构中,若父 x 1 x_1 x1?已知(父 x 1 x_1 x1?被染黑色)时,单性繁殖了两兄弟 x 2 x_2 x2?与 x 3 x_3 x3?,影响两兄弟特质变化的外因 x 1 x_1 x1?已定,即已体现在两兄弟身上了,不再变化,而再变化的是各自的内因,内因引起的变化当然是独立的 。即变化是条件独立(记忆口诀:单性繁殖两兄弟,内因变化是独立,条件是外因已一致),记为 x 2 ⊥ x 3 ∣ x 1 x_2\, \bot \, x_3\, |\, x_1 x2?⊥x3?∣x1? 。
图7.2 同父结构
如图7.2右侧所示,在同父结构中,若父 x 1 x_1 x1?未知(父 x 1 x_1 x1?未被染色)时,则
P ( x 2 , x 3 ) = ∑ x 1 P ( x 1 , x 2 , x 3 ) = ∑ x 1 P ( x 1 ) P ( x 2 ∣ x 1 ) P ( x 3 ∣ x 1 , x 2 ) ≠ ∑ x 1 P ( x 1 ) P ( x 2 ∣ x 1 ) P ( x 3 ) = P ( x 3 ) ∑ x 1 P ( x 1 ) P ( x 2 ∣ x 1 ) = P ( x 3 ) ∑ x 1 P ( x 1 , x 2 ) = P ( x 3 ) P ( x 2 ) \begin{align} P(x_2,x_3) & =\sum_{x_1}P(x_1,x_2,x_3)\notag \\ & =\sum_{x_1}P(x_1)P(x_2\,|\,x_1)P(x_3\,|\, x_1,x_2)\notag \\ & \neq \sum_{x_1}P(x_1)P(x_2\,|\,x_1)P(x_3)\notag \\ & = P(x_3)\sum_{x_1}P(x_1)P(x_2\,|\,x_1)\notag \\ & =P(x_3)\sum_{x_1}P(x_1,x_2)\notag \\ & =P(x_3)P(x_2) \tag{7.42} \end{align} P(x2?,x3?)?=x1?∑?P(x1?,x2?,x3?)=x1?∑?P(x1?)P(x2?∣x1?)P(x3?∣x1?,x2?)=x1?∑?P(x1?)P(x2?∣x1?)P(x3?)=P(x3?)x1?∑?P(x1?)P(x2?∣x1?)=P(x3?)x1?∑?P(x1?,x2?)=P(x3?)P(x2?)?(7.42)?
不等式(7.42)表明此时 x 2 x_2 x2?与 x 3 x_3 x3?不独立,称为 x 2 x_2 x2?与 x 3 x_3 x3?关于 x 1 x_1 x1?的边际独立不成立 。
按如下方法将有向图转化为无向图:
这样生成的图称为道德图 。
在道德图中,若去掉一些结点(结点集 z \{z} z)后,使得结点 x x x和 y y y不再连通,则称 x x x与 y y y被 z \{z} z有向分离(注:这里""翻译成了“有向”,若翻译成“受控的”,则为“受控分离”,这更贴切),记为:x ⊥ y ∣ z x\, \bot \, y\, |\, \{z} x⊥y∣z,即在 z \{z} z的控制下,x x x与 y y y独立 。当集合 z \{z} z退化成一个结点 z z z时,即为前述的条件独立: x ⊥ y ∣ z x\, \bot \, y\, |\, z x⊥y∣z 。
贝叶斯图络学习
当网络结构已知时(即有向图的父子关系已知),则训练分类器的步骤为
然而,在现实中,通常不知道网络结构,只有训练集 D D D的数据,这时,将网络结构视为“超参数” 。下面讨论如何选择该“超参数”:
(1)先给定对网络结构评价的偏好,如,最小描述长度(MDL),即找一个能以“最短编码长度”契合训练数据的模型:
由上述两点即可构造出一个评分函数(以求 min ? \min min为目标)
s ( B ∣ D ) = f ( θ ) ∣ B ∣ ? L L ( B ∣ D ) \begin{align} s(B\,|\,D)=f(\theta )|\, B\, |-\{LL}(B\,|\,D) \tag{7.43} \end{align} s(B∣D)=f(θ)∣B∣?LL(B∣D)?(7.43)?
针对式(7.43)中的第一项,我们看三种特殊情况:
针对式(7.43)中的第二项,我们进行分解
【《机器学习》完整版系列第7章 贝叶斯分类器——7】L L ( B ∣ D ) = log ? P ( D ∣ B ) (对数似然) = log ? P B ( D ) (为明确起见,换个概率符号) = log ? P B ( x 1 , x 2 , ? , x m ) ( x i 为样本) = log ? ∏ i = 1 m P B ( x i ) (由样本的独立性) = ∑ i = 1 m log ? P B ( x i ) \begin{align} \{LL}(B\,|\,D) & ={\log} P(D\,|\,B)\qquad \text{(对数似然)}\notag \\ & ={\log} P_B(D)\qquad \text{(为明确起见,换个概率符号)}\notag \\ & ={\log} P_B(\{x}_1,\{x}_2,\cdots,\{x}_m)\quad \text{($\{x}_i$为样本)}\notag \\ & ={\log} \{\prod}\{i=1}^m P_B(\{x}_i)\quad \text{(由样本的独立性)}\notag \\ & =\{\sum}\{i=1}^m {\log} P_B(\{x}_i)\tag{7.44} \end{align} LL(B∣D)?=logP(D∣B)(对数似然)=logPB?(D)(为明确起见,换个概率符号)=logPB?(x1?,x2?,?,xm?)(xi?为样本)=logi=1∏m?PB?(xi?)(由样本的独立性)=i=1∑m?logPB?(xi?)?(7.44)?
P B ( x i ) = P B ( x i 1 , x i 2 , ? , x i d ) = ∏ k = 1 m θ x i k ∣ π k (由式(7.41),下标改为上标 k ) \begin{align} \quad P_B(\{x}_i) & =P_B(\{x}_i^1,\{x}_i^2,\cdots,\{x}_i^d)\notag \\ & =\{\prod}\{k=1}^m{\theta}_{x_i^k\,|\,{\pi }^k}\quad \text{(由式(7.41),下标改为上标$k$)}\tag{7.45} \end{align} PB?(xi?)?=PB?(xi1?,xi2?,?,xid?)=k=1∏m?θxik?∣πk?(由式(7.41),下标改为上标k)?(7.45)?
其中,θ x i k ∣ π k = P B ( x i k ∣ π k ) {\theta}_{x_i^k\,|\,{\pi }^k}=P_B({x_i^k\,|\,{\pi }^k}) θxik?∣πk?=PB?(xik?∣πk),下标表示样本编号,上标表示属性编号,π k {\pi }^k πk为第 k k k个属性的父结点集(与样本无关,故它不带下标) 。
因 B B B不知,而 D D D已知,B B B要求契合于 D D D,故应
θ x i k ∣ π k = P ^ D ( x i k ∣ π k ) \begin{align} {\theta}_{x_i^k\,|\,{\pi }^k}=\hat{P}_D({x_i^k\,|\,{\pi }^k}) \tag{7.46} \end{align} θxik?∣πk?=P^D?(xik?∣πk)?(7.46)?
其中,右侧为 D D D上的经验分布,它可通过对 D D D中的样本进行分门别类地“计数”,统计频率来估算 。
问题又来了: π k {\pi }^k πk并不知道,无从“分门别类” 。也说是说:只有在 k k k属性结点之父 π k {\pi }^k πk确定了,才可依上述讨论求出 s ( B ∣ D ) s(B\,|\,D) s(B∣D) 。
综上,max ? L L ( B ∣ D ) \max \{LL}(B\,|\,D) maxLL(B∣D)变为一个“两级搜索”问题:
通过两级搜索得到最优贝叶斯网络 B ? B^* B?,最优贝叶斯网络 B ? B^* B?体现为: 结构 G G G(部分超参数+搜索其他参数)+一组条件概率表CPT(参数 Θ \Theta Θ),如【西瓜书图7.2】所示 。
本文为原创,您可以:
上一篇:7.5 特殊的半朴素贝叶斯分类器(SPODE、TAN、AODE,研究特殊的“父子”关系)
下一篇:7.7 贝叶斯网络分类器(分类可视为一种特殊的查询)、贝叶斯网络推断(查询一组结点称为“推断”)