贝叶斯学习的理解

Bayesian


贝叶斯分类器

​ 个人很喜欢贝叶斯学派的理论,感觉贝叶斯理论非常具有美感。

​ 贝叶斯分类器是典型的生成式模型。对于分类问题的概率形式,有\(P(c|x)\)是给定特征情况下,分类结果为c的概率,显然这是我们想知道的(而反过来\(P(x|c)\)可能是Encoder模型所讨论的)。判别式模型直接对\(P(c|x)\)进行建模,举个例子,决策树吧。决策树根据x的不同分量进行划分,每层选取信息增益或者基尼指数最大的属性进行分支。那么决策树这个判别式模型,具体是如何对\(P(c|x)\)进行建模的?

​ 个人的理解是:假设样本特征\(x=\{x_1,x_2,x_3,...,x_n\}\),其中,\(x_i\)的下标表示分支顺序。在根节点处,假设分支基于特征分量\(x_1\),那么在根向下一层,概率会有如下形式: \[ P(c|x/\{x_1\},x_1=...) \] ​ 也就是基于\(x_1\)确定后的结果进一步分支,直到无法分支为止。也就是说\(P(c|x)\)中,x的每个分量逐步确定,对应到叶节点上的\(P(c|x)\)也就确定了。

​ 而生成式模型(比如贝叶斯),建模的是联合分布或者是似然: \[ \begin{equation}\label{bayes} P(c|x)=\frac{P(x,c)}{P(x)}=\frac{P(x|c)P(c)}{P(x)} \end{equation} \] ​ P(c)可直接根据样本估计(样本中分类为\(c_i\)的占比,近似为先验概率,啊贝叶斯学派也用频率学派的结论了?)\(P(x)\)为归一化常数,无需讨论。

​ 关于\(P(c|x)\)我们要做什么?我们只希望将其计算出来(估计出来),就可以根据特征计算分类概率了。那么\(P(c|x)\)分布的参数可以通过优化估计\(P(x|c)\)来完成,简单的方法,就是进行极大似然估计(因为\(P(x|c)\)是似然,是可以从样本中估计的)


朴素贝叶斯

最朴素的版本

\(P(x|c)\)好求吗?不好求,\(P(x|c)\)的意义是:给定分类下,特征取值为x的概率。首先,有可能对应x根本没有在训练集样本中出现,其次,即使出现也可能因为组合爆炸导致可用样本数量少到无法正确用于估计,另外也可能产生样本某个属性值缺失的情况。

朴素贝叶斯认为

假设样本所有的属性都是相互独立的,那么\(P(x|c)\)就可以由独立条件拆开

\[ \begin{equation}\label{naive} P(x|c)=\prod_{i=1}^nP(x_i|c)P(c) \end{equation} \] ​ 这好吗?很好,对某个属性的分布估计是比较简单的,并且样本数据一般都是充足的。但是这又不好,因为 通常属性之间都不会有太好的独立性(但是PCA之后可以用贝叶斯,由于PCA之后的特征不相关)。由于这个强独立性假设,所以这种贝叶斯称为“朴素的(你们啊,naive)”。

独依赖版本

​ 由于朴素贝叶斯 sometimes naive,导致使用者angry。为了减轻这种效应,首先进行协方差分析,找到与每一个属性关联性最强的另一个属性,讨论联合分布: \[ \begin{equation}\label{ode} P(x|c) \propto P(c)\prod_{i=1}^nP(x_i|c,x_{i,k})=P(c)\prod_{i=1}^n \frac{P(x_i,x_{i,k}|c)}{P(x_{i,k}|c)} \end{equation} \] ​ 公式\(\eqref{ode}\)最右部分个人感觉好像可以直接从样本中推出来,并且不会遇到组合爆炸效应,对独立性假设有放松作用。

条件互信息

​ 在[线性-树型分类器的纯理论分析]中,提到了互信息,是指联合分布\(P_{X,Y}\)与独立假设下边缘分布乘积\(P_XP_Y\)的KL散度。那么条件互信息就是增加了一个条件概率: \[ \begin{equation}\label{cmi} I(x,y|c)=\int_y\int_x p(x,y|c)\log\frac{p(x,y|c)}{p(x|c)p(y|c)} \end{equation} \] ​ 条件互信息就刻画了给定条件(分类为c)下,两个属性之间的关联关系。那么生成ODE结构可以以此为指导。


最小风险贝叶斯决策

​ 定义风险矩阵\(\Lambda\): \[ \begin{pmatrix} \lambda_{11} & \lambda_{12} & ... &\lambda_{1n} \\ \lambda_{21} & \lambda_{22} & ... &\lambda_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ \lambda_{n1} & \lambda_{n2} & ... &\lambda_{nn} \\ \end{pmatrix} \] ​ 其中,\(\lambda_{i,j}\)表示本身是第j类,但是分类结果是第i类的风险。(注意顺序啊,因为决策表的横轴一般定义为实际情况,而纵轴为决策)。那么给定一个样本x,进行分类得到c,根据c进行决策\(\alpha\),由此产生的损失是r,那么: \[ \begin{align} & P(c_i|x)=\frac{P(x|c_i)P(c_i)}{\sum_{i=1}^nP(x|c_i)}\\ & R(\alpha_i|x)=\sum_{j=1}^n\lambda_{i, j}P(c_i|x) \label{rsingle}\\ & R_{total} = \sum_{x}R(\alpha(x)|x) \label{rtotal} \\ & E(R) =\sum_x R(\alpha(x)|x)P(x) \end{align} \] ​ 我们实际上要最小化\(\eqref{rtotal}\),也就是对于每一个样本x,其分类函数\(\alpha(x)\)需要让的总体决策风险的期望最低,因为实际上\(R_{total}\)的指导意义并不大,它是局限于训练样本的,我们希望能独立于样本得到泛化能力,通过给不同特征的样本进行加权,求得期望(事实上不变成期望也没办法进行数值上的估计)。 \[ \begin{equation}\label{arg} \alpha^*=\mathop{\text{argmin}}_\alpha E(R)\leftarrow\mathop{\text{argmin}}_{i=1,2...n}R(\alpha_i|x) \end{equation} \] ​ 每个样本都能得到最优的决策时,总体看起来决策结果也是最优的,则需要选择决策风险最小的分类结果。那么现在的问题是:会不会出现选择的决策函数\(\alpha(x)\)对某些x'而言是\(R(a(x')|x')\)最小,而另一些并不是最小,但总的期望却是最小的情况?其实个人认为这是有可能的,但是我还是觉得需要确定一下,之后问老师吧。我的想法是:如果固定训练集,只在训练集上讨论,那么确实是有办法让所有x的风险最小的(疯狂过拟合,产生奇异的分类边界),但是这未必是对全局都最优的,只是在训练集上的风险表现最小。


吉布斯采样

​ 吉布斯采样(Gibbs sampling)作为一种MCMC延伸的随机采样方式,基于的理论是Markov链逐渐收敛到平稳分布(stationary distribution)时的性质。针对的问题是:

​ 对于一个多元分布,联合概率一般难以获得,但已知一些变量的条件分布情况下,如何通过采样来估计联合概率分布?

​ 从联合分布采样确实是很难的事情,因为联合分布综合的信息最多。通过边缘化操作,可以得到边缘分布,通过联合分布和边缘分布可以得到条件分布。也即联合分布已经包含了一个多元分布的所有信息了。既然包含的信息越多,获取必然也就越困难。对此,Wikipedia[1]也说:

The point of Gibbs sampling is that given a multivariate distribution it is simpler to sample from a conditional distribution than to marginalize by integrating over a joint distribution.

简单理解

​ 假设可怜的卷怪有如下几种状态:

  • 学习空间:\(X=\) 概率,线代,离散
  • 观测时间:$Y = $ 上午,中午,下午
  • 状态空间:\(Z=\) 高效,一般,不想学

​ 对于联合分布\(P(X,Y,Z)\),直接讨论是极其复杂的。但是有一些先验知识却比较好获得:

  • 学习的可能:\(P(X|Y,Z)\):在给定学习状态以及当前观测时间时,卷怪可能学什么的分布。
  • 观测时间:\(P(Y|X,Z)\):已知当前卷怪的状态以及ta在学什么,得到当前时间的分布。
  • 状态推测:\(P(Z|X,Y)\):已知当前时间以及科目,求卷怪的学习状态。

​ 以上三种条件概率都比较好讨论,比如观察半学期该卷怪的学习习惯,也就能总结出来规律,作为先验知识。Gibbs sampling就是利用Markov链以及这几种条件分布的关联性,逼近联合分布的,方法如下:

  1. 获取一个初始的变量,比如X = 概率,Y = 中午,Z = 不想学。这个变量不一定需要有来源的理由。将这个随机初始生成的状态变量设为\(S^0\)(0时刻的状态)
  2. \(S^0\)出发,根据定义的条件分布,每次选择一个变量进行改变。举个例子,\(S^0\rightarrow S^1\)的状态转移时,固定中午以及不想学两个状态(对应Y,Z),根据条件概率\(P(X|Y,Z)\),从这个条件分布里采样一个可能的\(X\)状态。修改此X。
  3. \(S^t\rightarrow S^{t+1}\)也是这样做,每次选择一个变量进行修改(为了保证均匀性,可以顺序遍历所有存在条件分布的变量)。
  4. Markov链收敛后(采样次数比较大),生成的样本实际是按照近似联合分布生成的。从这些样本中,可以求出所有边缘分布(假设采样足够),那么联合分布可以顺势推导出来。

​ 有关Markov以及平稳分布的数学原理,见【Post:无向图模型 & Markov的“家具”】


EM算法

​ 这个算法之前一直没有搞懂其数学意义,因为不管是《西瓜书》还是Wikipedia,对于其数学性解释都极其简略。在查找资料的过程中偶然看到一篇CSDN博客[2](可能不是[2]对应的网址,由于原网页没有被我保存),觉得说得很对。但是毕竟这是别人的推导,加上CSDN等等网站的博主都是你抄我我抄你的,个人觉得有必要自己推一遍,加深理解。

基本流程的解释

​ EM算法要解决什么问题?概率推理问题,并且还是无监督的。给定一个随机状态\(X'\),但\(X'\)实际包含了已经被观测到的状态\(X\)以及未被观测的状态\(Z\),这个Z十分烦人(称为隐变量,latent vector),存在这种未知信息的情况下,要进行模型参数\(\pmb{\theta}\)的估计。一般情况下,我们是使用MLE来估计的,首先需要构造似然: \[ \begin{equation}\label{likely} L(\pmb{\theta}|X)=P(X|\pmb{\theta})\rightarrow L(\pmb{\theta}|X,Z)=P(X,Z|\pmb{\theta}) \end{equation} \] ​ 关于Z的信息是缺失的,即使我们给定参数(比如\(\pmb{\theta}\)是限定某个分布的参数)也无法直接估计\(P(X,Z|\pmb{\theta})\)。当然,对于公式\(\eqref{likely}\)定义的似然,处理Z的一个方法是让他不存在。怎么搞呢?边缘化就好了: \[ \begin{equation}\label{margin} L(\pmb{\theta}|X)=\int_ZL(\pmb{\theta}|X,Z)dZ=\int_ZP(X,Z|\pmb{\theta})dZ \end{equation} \] ​ 但Wikipedia这么说:

However, this quantity is often intractable (e.g. if \(\mathbf {Z}\) is a sequence of events, so that the number of values grows exponentially with the sequence length, the exact calculation of the sum will be extremely difficult).

​ 什么意思呢?看公式\(\eqref{margin}\),我们是对Z进行积分,而Z可能是多元变量,正如上述引用所说,要是有\(Z = \{X_{n-k},...X_{n-1},X_n\}\),那在边缘化的时候我们不得不这样: \[ \begin{equation}\label{awful} L(\pmb{\theta}|X)=\int_ZP(X,Z|\pmb{\theta})dZ=\int_{X_n}\int_{X_{n-1}}...\int_{X_{n-k}}P(X,Z|\pmb{\theta})dZ \end{equation} \] ​ 这好吗?这不好。太丑陋了,而且难以计算。所以我们需要其他算法!那么EM(Expectation Maximization)算法就是来干这个的。好,我来摘抄一下令人疑惑的基本优化过程,虽然基本优化过程的数学表达乍一看难以理解,但是意思还是比较明确的:

  1. 构造似然:\(Q(\pmb{\theta}|\pmb{\theta}^{(t)})\),这个似然是在:估计得到当前最优的条件分布\(P(Z|X,\pmb{\theta})\)下定义的,也即是:

\[ \begin{equation}\label{estep} Q(\pmb{\theta}|\pmb{\theta}^{(t)})=E_{P_{Z|X,\pmb{\theta}^{(t)}}}[\text{log} L(\pmb{\theta}|X,Z)] \end{equation} \]

  1. 优化似然:使得\(\pmb{\theta}\)最大化:

\[ \begin{equation}\label{mstep} \pmb{\theta}^{(t+1)}=\mathop{\text{arg max}}_{\pmb{\theta}}Q(\pmb{\theta}|\pmb{\theta}^{(t)}) \end{equation} \]

​ 个人的初步理解大概是这样的:类似于机队预判敌方位置使用的双迭代算法:

  • 构造似然的过程(称为E-step):根据最优\(\pmb{\theta}\)更新条件分布\(P(Z|X,\pmb{\theta})\)并且生成目标的过程。
  • 优化似然的过程(称为M-step):根据\(P(Z|X,\pmb{\theta})\)优化\(\pmb{\theta}\)的过程

​ 实际上,在下面一小节(【数学理论】)中,这两个过程的意义将更加清晰。个人比较笨,觉得上面\(\eqref{estep}\)以及\(\eqref{mstep}\)定义的公式(\(\eqref{mstep}\)还好些),直接看根本不知道EM算法到底在搞什么,取什么期望,算什么分布,怎么算。

优化目标的数学理论

Jensen不等式

​ 数学竞赛,啊熟悉的不等式。在函数或者多元函数里的琴生不等式说的是:对于凸函数而言,函数值的加权平均会大于加权平均的函数值。这个不再多提,很简单。而在概率(信息论)中,琴生不等式的定义如下: \[ \begin{equation}\label{jensen} \begin{array}{ll} \psi\left( E(X)\right) \leq E(\psi(X)),\\ \text{where }\psi \text{ is convex function} \end{array} \end{equation} \] ​ 而琴生不等式并不是我的讨论重点,这显然也是一个非常基础的结论:凸函数映射后的随机变量取值存在的性质。但是这个结论很重要,一会儿要用到。

重要性采样

​ 由公式\(\eqref{margin}\)的离散化形式,展开似然函数式子,并且注意,此处要符合我们在E-step中构建的似然(也就是取对数,将连乘变成连加,下式展示的是:取对数似然之前的Z边缘化操作 \[ L(\pmb{\theta}|x_i)=\text{log}P(x_i|\pmb{\theta})=\text{log}\sum_ZP(x_i,Z|\pmb{\theta}) \] ​ 那么,似然可以写为: \[ \begin{equation}\label{like} L(\pmb{\theta}|X)=\sum_i\text{log}P(x_i|\pmb{\theta})=\sum_i\text{log}\sum_ZP(x_i,Z|\pmb{\theta}) \end{equation} \] ​ 首先需要知道,log是个凹函数,那么凹函数琴生不等式有\(\eqref{jensen}\)相反的结论,接下来就是要想办法让log换个位置,我们考虑将\(P(x_i,Z|\pmb{\theta})\)拆开为: \[ \begin{equation}\label{trans1} P(x_i,z_i|\pmb{\theta})=Q(z_i)\frac{P(x_i,z_i|\pmb{\theta})}{Q(z_i)} \end{equation} \] ​ 根据公式\(\eqref{trans1}\),可以将公式\(\eqref{like}\)化成如下形式,注意,对Z进行边缘化操作实际上与取期望存在等价之处,都是消除Z的影响(消除Z的随机变量性): \[ \begin{equation}\label{equ1} L(\pmb{\theta}|X)=\sum_i\text{log}\sum_ZP(x_i,Z|\pmb{\theta})=\sum_iQ(z_i)\text{log}\sum_Z\frac{P(x_i,z_i|\pmb{\theta})}{Q(z_i)} \end{equation} \]\(Q(z_i)\)是隐变量的一种分布,但是形式暂时未知。我们可以将公式\(\eqref{equ1}\)的log内部看成是对Z的期望(实际上,把\(Q(z_i)\)移动到z累加式内部,就能看出来,概率\(Q(z_i)\)乘以某一个值的期望形式)。这部分很像《概率机器人》[3]中,说粒子滤波时的重要性采样: \[ \begin{equation}\label{imp} E(X)=\int_xxp(x)\text{d}x=\int_xx\frac{p(x)}{q(x)}q(x)\text{d}x \end{equation} \] ​ 也就相当于,将一个难以求取的期望,转化为另一个分布下,另一个随机变量函数的期望。而实际上,在重要性采样中,\(p(x)/q(x)\)是一个经过估计的权值。关于这一点,我将会在【Post: 卡尔曼进阶与粒子滤波实现 】中提到。

​ 由log的性质(log是凹函数)与琴生不等式,有: \[ \text{log}\sum_Z\frac{P(x_i,z_i|\pmb{\theta})}{Q(z_i)} \geq \sum_Z\text{log}\frac{P(x_i,z_i|\pmb{\theta})}{Q(z_i)} \] ​ 那么似然\(\eqref{equ1}\)的一个下界已经找到了: \[ \begin{align} L(\pmb{\theta}|X)=\sum_iQ(z_i)\text{log}\sum_Z\frac{P(x_i,z_i|\pmb{\theta})}{Q(z_i)} \geq \\ L_{lb}(\pmb{\theta}|X)=\sum_iQ(z_i)\sum_Z\text{log}\frac{P(x_i,z_i|\pmb{\theta})}{Q(z_i)} \label{lb} \end{align} \] ​ 如何优化?EM算法的想法实际上是:

  • E-step:确定似然函数,求得当前Z的分布,计算得到的是似然函数的下界
  • M-step:根据下界,优化这个下界。使下界更大,根据夹逼准则,最大值的期望也将更大。

​ 那如何最大化这个下界?

似然转化

​ 琴生不等式告诉我们,\(\eqref{equ1}\)是永远大于等于\(\eqref{lb}\)的,成立的条件是:X是确定变量。哦?那么此处X就是\(\eqref{lb}\)log里面的部分。如果这是个常数,也即: \[ \frac{P(x_i,z_i|\pmb{\theta})}{Q(z_i)} =C\rightarrow P(x_i,z_i|\pmb{\theta})=CQ(z_i) \] ​ 由于\(\sum Q(z_i)=1\)(概率归一化性质),则\(P(x_i|\pmb{\theta})=C\),也就得到了这样的结论: \[ \begin{equation}\label{qres} Q(z_i)=\frac{P(x_i,z_i|\pmb{\theta})}{P(x_i|\pmb{\theta})}=\frac{P(x_i,z_i,\pmb{\theta})}{P(x_i,\pmb{\theta})}=P(z_i|x_i,\pmb{\theta}) \end{equation} \] ​ wow。这说明了什么?这说明,使得下界最大的,Z分布的估计应该是\(P(Z|X,\pmb{\theta})\)。那么这样一操作,我们把似然objective写了出来,并且最大化了下界,得到了此时关于Z分布的估计。因为我们实际上不知道Z的分布,但是为了进行这个MLE,我们做了一个最大化下界操作,也就估计出了隐变量Z的分布。

​ 下一步当然是M-step,固定已经选择优化完的\(Q(Z)\),开始argmax \(\pmb{\theta}\)。这里就有点像coordinate descent了,跟我写的灯条优化算法是类似的,固定某几个分量,优化剩余的一个分量。E-step就是固定\(\pmb{\theta}\),而M-step就是固定Q。M-step的工作是进一步优化下界。

​ 我们优化的是哪个式子?优化的是下界式\(\eqref{lb}\),需要进一步调整\(\pmb{\theta}\)。由于\(\eqref{lb}\)实际上已经完全确定了,所以M-step实际上在优化一个仅关于\(\theta\)的表达式: \[ \begin{equation}\label{obj} Q^{*}_{lb}=\sum_iQ(z_i)\sum_Z\text{log}\frac{P(x_i,z_i|\pmb{\theta})}{Q(z_i)} =\sum_iP(Z|x_i,\pmb{\theta})\sum_zP(X|\pmb{\theta}) \end{equation} \] ​ 实际上这成了一个优化问题。Wikipedia上举了关于高斯分布\(\theta\)参数的优化过程。这里就省略了。

收敛分析

​ 证明收敛?也就是需要证明,每一次的结果(似然函数)不会比前一次低即可。推导过程倒是比较直接:

  • 由于M-step才更新\(\pmb{\theta}^t \rightarrow \pmb{\theta}^{t+1}\),而更新过程保证了(因为我们希望优化下界,使得似然变大)

\[ Q_{lb}(\pmb{\theta}|\pmb{\theta}^{t+1}) \geq Q_{lb}(\pmb{\theta}|\pmb{\theta}^{t})\rightarrow \sum_iQ(z_i)\sum_Z\text{log}\frac{P(x_i,z_i|\pmb{\theta}^{t+1})}{Q(z_i)} \geq \sum_iQ(z_i)\sum_Z\text{log}\frac{P(x_i,z_i|\pmb{\theta}^{t})}{Q(z_i)} \]

  • 而我们知道\(Q_{lb}(\pmb{\theta}|\pmb{\theta}^{t+1})\)只是似然\(L(\pmb{\theta}^{t+1}|X)\)的下界,所以t+1迭代的似然必然大于等于下界。
  • 而由于,琴生不等式我们取了等号成立,那么下式成立:

\[ \sum_iQ(z_i)\sum_Z\text{log}\frac{P(x_i,z_i|\pmb{\theta}^{t})}{Q(z_i)}=L(\pmb{\theta}^{t}|X) \]

  • 故综上,每次更新之后,似然函数不会比原来小。EM算法是收敛的。

Neyman-Pearson决策

​ 说实话,决策这部分完全可以单独开一篇讲。决策是要做什么?举一个简单的例子,新冠。

  • 医院将阴性患者识别为阳性(TN->FP),称之为第一类错误(拒真,虚警,假阳性率,也就是实际阴性的人中,检测结果为阳性人的比例)
  • 医院将阳性患者识别为阴性(TP->FN),称之为第二类错误(存伪,漏报,假阴性率)(注意此处存伪,拒真两个定义其实意思上互换没什么大问题)

​ 那么作为医院,这两种判定必然存在,但是哪一种更严重?显然是第二类错误,把阳性存下来了。医院需要对检测结果存在的情况进行加权,尽量减少两类,但是两类中又各有侧重,加权地给出风险。Neyman-Pearson决策是贝叶斯决策的一种特殊情况,但是很常见:两类错误各有概率,但是我们希望:

  • 犯其中一类错误的概率能达到某个标准值(比如\(\epsilon_0\)
  • 与此同时,犯另一种错误的概率越小越好

​ 这就是Neyman-Pearson决策讨论的问题,其表达式可以写为(以其中一种情况为例): \[ \begin{equation}\label{np} \begin{array}{ll} \text{min }P_1\\ \text{s.t. } P_2=\epsilon_0 \end{array} \end{equation} \] ​ 此处表达的意思是:当犯第二类错误的概率为\(\epsilon_0\)时(达到第二类错误规定的标准),犯第一类错误概率尽可能小。

形式变换

​ 首先我们先写出\(P_1,P_2\)的表达式,假设类1对应了阴性,类2对应了阳性。那么阳性判别范围是\(R_2\),阴性判别范围是\(R_1\)\[ \begin{align} &P_1=\int_{R_2}p(x|w_1)dx\label{p1}\\ &P_2=\int_{R_1}p(x|w_2)dx\label{p2} \end{align} \] ​ 其意义是什么?P1是第一类错误犯错概率,也就是假阳性率(实际为阴性\(w_1\)的样本,却在阳性判别范围内当作阳性检测出)。P2是第二类错误犯错概率,意义类似。那么由公式\(\eqref{np}\)可以知道,问题是约束极小值求解问题,可以使用Lagrange法处理,那么乘子化后的objective带入公式\(\eqref{p1}\)以及\(\eqref{p2}\)有: \[ \begin{equation}\label{obj2} L=\int_{R_2}p(x|w_1)dx+\lambda\left( \int_{R_1}p(x|w_2)dx-\epsilon_0 \right) \end{equation} \] ​ 而实际上,\(\eqref{obj2}\)是可以拆解的(有关假阳性率部分),根据概率公式拆解: \[ \begin{equation}\label{obj3} L=1-\int_{R_1}p(x|w_1)dx+\lambda\left( \int_{R_1}p(x|w_2)dx-\epsilon_0 \right) = 1-\lambda\epsilon_0+\int_{R_1}\lambda p(x|w_2)-p(x|w_1)dx \end{equation} \] ​ 好,回顾熟悉的KKT条件,\(L\)相对于\(\lambda\)的偏导数是要为0的,实际上就是等式约束要成立,这里就不写了。而还有什么可以求导的吗?千万不要忘记自己要干什么。讨论这个决策objective,最小化它是为了找到一个最好的决策模型,也就是说,模型参数是我们想知道的!此处我们像书[4]上一样,只简单讨论模型参数【决策边界】的划定,也即参数t。对t求偏导会发生什么? \[ \frac{\partial}{\partial t}\int_{R_1}\lambda p(x|w_2)-p(x|w_1)dx =\frac{\partial R_1}{\partial t}\times[\lambda p(x|w_2)-p(x|w_1)] \] ​ 书上没写清楚,但个人认为是这样的。这是由变限积分的性质决定的。那么边界对t的偏导不好求,可以是0,也可以不是0。由KKT偏导为0要求,显然下式成立是较优的选择: \[ \begin{equation}\label{cond} \lambda = \frac{p(x|w_1)}{p(x|w_2)} \end{equation} \] ​ 注意KKT条件产生了两个约束。而对于公式\(\eqref{obj3}\)的积分,我们发现,如果可以让积分符号里面的项小于0,那么积分结果必然负的程度最大,L最小,这是最期望的情况。于是实际上我们有\(\eqref{cond}\)稍微修改一下的要求:左边应该小于右边。也就是: \[ \begin{equation}\label{cond2} \lambda < \frac{p(x|w_1)}{p(x|w_2)} \end{equation} \] ​ 公式\(\eqref{obj3}\)定义的积分项是在\(R_1\)上的,也就是说,在\(R_1\)上时,条件\(\eqref{cond2}\)成立,就可以让L变小。那么,就自然可以综上所述: \[ \begin{align} & \int_{R_1}p(x|w_2)dx = \epsilon_0 \tag{KKT condition 1}\\ & \lambda = \frac{p(x|w_1)}{p(x|w_2)} (\large{\text{说明决策边界}}) \tag{KKT condition 2} \\ & \lambda < \frac{p(x|w_1)}{p(x|w_2)} (R_1\large{\text{内部要求}}) \tag{int op} \end{align} \] ​ 理解起来还是比较简单的。


Reference

[1] [Wikipedia, Gibbs sampling]

[2] CSDN-EM算法-数学原理及其证明

[3] Sebastian Thrun, Wolfram Burgard, Dieter Fox Probabilistic Robotics.

[4] 张学工(编著),模式识别(第三版),清华大学出版社