10.3 统计机器学习
机器学习是近年来得到快速发展和广泛应用的研究领域,它研究的是用数据或先验知识优化计算机算法的效果。从机器学习的方法可以分为统计方法和非统计方法。非统计的方法种类很多,并且往往最后都归结于一个具体的优化问题,可以通过深入掌握优化理论和算法,比较有效地把握各种非统计类方法。而统计类机器学习方法,虽然也用到最优化方法,但是还有一些在概率框架下系统性的思路。下面我们把统计方法的脉络稍加整理,供大家参考。
10.3.1 最大熵与指数族分布
统计机器学习中,指数族形式[9]的分布由于求解的方便性,有非常重要的工程地位,我们先来看一下这一族分布形式产生的原因。要了解指数族形式产生的原因,需要先了解最大熵(Maximum Entropy,ME)原理[6]。最大熵原理告诉我们,当在某些约束条件下选择统计模型时,需要尽可能选择满足这些条件的模型中不确定性最大的那个。如果采用熵作为统计不确定性的度量,这个问题就变成一个在这些约束下优化熵的问题。在最大熵的准则下,估计一个概率的优化问题可以表示成:
其中H(x)=−p(x) ln p(x)为概率分布p(x)的熵,fi(x)为一组特征函数,而优化中约束的意义是这一组特征函数在模型p(x)下的均值等于其数据上的均值为数据分布)。有时是用最大熵准则来优化一个条件分布p(x|y),在这种情形下,可以很方便地构造一个相应的根据特征x对标签y 进行分类的模型,本书后面将谈到的点击率预测的逻辑回归模型也属于此最大熵模型的特例。
上面的最大熵问题的另一项产出就是指数族分布。将拉格朗日方法应用于问题 10.15,有一项重要的结论,就是求其最大熵解等价于求一个对应指数形式分布的最大似然解。这样的结果带来了指数族分布这一工程中非常常用的分布形式。指数族分布的归一化形式(canonical form)可以表示为:
在这一形式中,u(x)为上面fi(x)聚合在一起的矢量形式;θ为指数族分布的参数,而g(θ)为使得概率密度曲线下面积为 1 的归一化项。指数族分布在建模上被广泛采用是因为一个重要的特性:指数族分布参数的最大似然估可以完全由其充分统计量(sufficient statistics)
得到。这里的充分统计量指的是训练集上变换函数u(x)的统计量,即。在给定了充分统计量以后,θ的最大似然解可以通过解下式求得:
这一概念强调的是,在给定充分统计量以后,最大似然估计过程与数据无关。根据充分统计量的形式,我们很容易得出,无论什么样的指数族分布,都只需要遍历一遍数据就可以得到最大似然解,这一点实际上对应了一个非常简便的MapReduce实现。这也是指数族分布在大数据运算上带给我们的最大便利性。由于指数族的分布形式与最大熵原理的本质联系,这一族的许多重要分布都可以从最大熵的角度加以解释。表10-1总结了几种重要的指数族分布形式以及其主要用于描述的变量类型。
表10-1 若干重要指数族分布形式
从表10-1 给出的示例中可以发现指数族分布的另一个重要特点——分布都是单模态(uni-modal)的。所谓单模态,可以理解为分布从几何形态上看只有一个峰或者一个谷,这说明指数族分布虽然数学上使用方便,但其实际的描述能力是有限的,并不适合于表达多种因素并存的随机变量。
10.3.2 混合模型和 EM 算法
由于指数族分布是单模态的,因而不适用于分布比较复杂的数据建模。为了解决这个问题,同时又能充分利用到指数族分布的一些方便的性质,工程领域产生了采用多个指数族分布叠加的部分来建模的实用方法,即混合模型(mixture model)。指数族分布形式的混合模型可以表示为:
其中ω=(ω1,···,ωK)为各个组成分布先验概率,而Θ={θ1,···,θK}表示各个组成分布的参数。这一分布的图模型如图10-2所示。
图10-2 混合分布的概率图模型表示
在许多常见的机器学习模型当中,根据多个变量的条件依赖关系,图10-2的有向图模型可以比较清晰地表达整体的联合分布。有向图模型的每一个节点代表一个随机变量,而给定了该变量所有入边对应的起始节点后,该变量的分布与其他所有变量都条件无关。需要指出,有向图模型本身只给出了条件依赖关系,并没有明确各条件分布的形式。一般来说,我们在工程中的思路是,用图模型表达先验的变量结构关系,然后对每个条件分布选取合适的指数族分布来建模,而混合分布模型就是了解这种工程思路的最典型例子。按照上面的有向图模型表示,我们引入了多项式变量z=(z1,···,zK)>来明确表示状态,可以把混合分布改写成结构更清晰的表达式:
在混合模型的最大似然求解过程中,最大期望(Expectation-Maximization,EM)算法起着非常重要的作用。从上面的概率图模型例子可以看出,除了要求解的参数ω、Θ和观测到的变量x,还存在一个变量z,我们把这样的变量称为隐变量(hidden variable)。EM算法就是为了解决有隐变量存在时的最大似然估计问题的。这是一种迭代的算法,每个迭代又可以分为E-step和M-step。在E-step阶段,将参数变量和观测变量都固定,得到隐变量的后验分布;在 M-step阶段,用得到的隐变量的后验分布和观测变量再去更新参数变量。以上面的混合分布问题为例,在EM算法的每一步迭代当中,都转而求解以下辅助函数优化问题:
由于此时的隐变量z是离散的,因此等式右边为求和的形式,如果在其他问题中遇到的隐变量是连续的,那么只需要将求和号换成积分号即可。
对应于公式 10.20,指数族混合分布 EM算法的 E-step和 M-step可以很容易求出,其结果如下式:
在混合分布的情形下,这种分解使得许多非指数族分布的模型在进行最大似然估计时,其M-step 形式上与简单的指数族分布是一致的,这也使得指数族分布工程上的便利性得以继续发挥。虽然 M-step的形式与指数族最大似然估计的形式公式 10.17非常相近,我们却不宜将等式右边的部分也称为充分统计量,因为这一过程是迭代进行的,需要多次访问数据才能完成最大似然估计,因此,简单地称其为统计量更为准确。
指数族分布的混合模型在工程中的应用同样很广泛,只要是单模态分布不易刻画的数据分布都可以考虑用某种指数族分布叠加的方式更精确地建模。常见的混合模型,如高斯混合模型(Mixture of Gaussians,MoG)和概率潜在语义索引(Probabilistic Latent Semantic Index,PLSI),可以认为后者是建立在多项式分布基础上的混合模型,在文本主题分析中有着广泛的应用。
需要注意的是,指数族混合分布的EM算法只是EM算法的一种较简单的特殊情况,这一算法广泛应用于各种隐变量存在的统计模型训练中,有关这方面更详细的理论和应用介绍可以参考参考文献[9,28]。
10.3.3 贝叶斯学习
以上讨论的模型参数估计方法都是在最大似然准则下进行的。最大似然准则是把模型的参数看成固定的,然后找到使得训练数据上似然值最大的参数,这是一种参数点估计(point estimation)的方法。这样的点估计方法在实际中如果遇到数据样本不足的情形,往往会产生比较大的估计偏差。对此,工程上常常用到贝叶斯学习的方法论。为了介绍贝叶斯学习的基本概念,我们先从下面的贝叶斯公式入手了解其中的关键概念。
在贝叶斯体系下,模型参数θ不再被认为是固定不变的量,而是服从一定分布的随机变量。在没有数据支持的情况下,我们对其有一个假设性的分布p(θ),这称为先验分布(prior),而在观测到数据集X={x1,···,xn}以后,根据数据集上表现出来的似然值(likelihood)p(X|θ),可以得到调整后的后验分布 p(θ|X )。先验分布、后验分布和似然值之间的变换关系就通过上面的贝叶斯公式表达出来。等式右侧的分母项也是贝叶斯学习中的一个重要概念,称为evidence,它可以展开表示为 p(X )=R p(X|θ)p(θ)dθ。由贝叶斯公式和这些重要概念出发,表10-2对比了三种常见的模型估计方法。
表10-2 若干常见模型估计方法
概率统计模型有两个常见任务:一是参数估计(parameter estimation),二是预测(prediction)。其中第二项任务指的是给定一组训练数据 X ,评估某新的观测数据 o 的概率。在最大似然体系中,参数估计是根据似然值最大化得到的点估计,而预测过程就利用估计出来的参数计算似然值 p(o|θ) 即可。在贝叶斯体系下,参数的点估计为其后验分布所代替,也就意味着参数在估计结果中具有不确定性,于是,在预测过程中,需要用积分的方式将参数的不同可能性都加以考虑,这是两者非常本质的区别。还有一种常见的参数估计方法,即最大后验概率(Maximum A Posterior,MAP)方法,它本质上仍然是点估计方法,只不过同样引入了先验部分对参数作规范化,因此,其参数估计形式上是对贝叶斯后验概率求极值,而预测过程则与最大似然情形一样。
1.共轭先验
贝叶斯方法的关键问题之一是如何选择公式10.23中的先验分布p(θ)。这一点有两层含义:一是如何选择先验分布的形式,二是如何确定先验分布中的参数。之所以要讨论这个问题,是因为虽然先验分布的形式是我们选择的,但后验分布 p(θ|X )的形式却无法选择,而后验分布才是在使用中最关键的,其形式如果过于复杂,会给实际应用带来很大困难。如果我们能够找到一种先验分布,使得相应的后验分布也具有同样的形式,无疑是方便的。满足这种条件的先验分布就称为共轭先验(conjugate prior)。
对于指数族分布的似然函数,容易发现共轭先验总是存在的,这又一次说明了指数族分布在工程上的便捷性。对于公式10.16的指数族分布形式,其共轭先验可以一般性地写成:
值得注意,这一指数族分布的共轭先验分布仍然是指数族的形式,其用到的数学工具也就与前面的讨论一致。这一先验分布的参数 η={χ,ν}称为超参数(hyper-parameter),η 控制着先验分布的具体形状。
将前面介绍的几种典型指数族分布与公式 10.24 相对照,可以得到以下相应的共轭先验。
(1)对于高斯分布,如果仅仅考虑其均值的不确定性,对应的共轭先验仍然是高斯分布。
(2)对于γ 分布,其对应的共轭先验称为维希特分布(Wishart distribution)。
(3)对于多项式分布,其对应的共轭先验是狄利克雷分布(Dirichlet distribution)。多项式–狄利克雷这一共轭对是后面介绍的文本主题分析中非常重要的分布形式。
当模型为指数族分布并选择共轭先验的情形下,对应的后验分布p(θ|X )可以很简单地写成下面的形式:
这里用变量上的波浪线代表后验。我们又一次看到,指数族分布的充分统计量在这里仍然发挥了核心作用,其结果使得贝叶斯学习中后验概率分布的计算非常简便。需要特别指出,选择共轭的先验形式,从贝叶斯体系来看并没有太多理论上的必然性,这主要是为了满足工程上的方便性。
同样是从工程上来说,采用贝叶斯方案的目的是为了对模型参数进行约束,以提高估计的稳健型。因此,超参数的选择同样十分关键,因为超参数的取值决定了模型参数的自由程度。在实际应用中,可以根据一些领域知识和经验来设定超参数值,但是这样的方法有两个问题。
(1)当模型过于复杂,超参数数目太多时,不太可能都根据经验相对合理地设定超参数。
(2)采用这种主观的方式设定超参数,必然导致在一个固定的数据集上参数估计的结果会随着主观超参数的不同而变化,这有些背离数据建模的客观性。因此,有必要探索一种数据驱动的超参数设定方法。
2.经验贝叶斯
数据驱动的超参数决定方法中,经验贝叶斯的方法值得大家注意。在公式10.23中,右边的分母,即evidence,是将模型参数积分后的似然值的期望。可以注意到,在似然值和先验部分的形式确定的前提下,evidence仅仅是先验部分的函数。从概念上来看,如果把evidence认为是超参数对应的似然值,那么也可以用优化 evidence 的方式找到最优的超参数。这种根据数据来确定超参数的方法就称为经验贝叶斯,其优化问题可以表示为:
由于是根据evidence来确定超参数,这一方法框架又称为evidence框架。需要说明,evidence框架除了能够用于确定超参数,同样可以用于在若干种先验部分形式中作选择,选择标准仍然是判断各种分布的 evidence 的大小。上式中还有一点需要特别注意,那就是我们是假设i=1,···,K 个模型共享同一个先验分布。从后面的讨论可知,只有当K >1的时候,上面的经验贝叶斯问题才会有非退化的解。
在公式10.27中,X 为观测量,η 为参数,而θ 实际上是隐变量。因此,最直接的思路仍然是使用EM算法[9]来求解。当p(x|θ)为指数族分布,而p(θ|η)为其共轭先验分布时,对应的EM辅助函数可以写成下面的表达形式:
请注意,在这里用到了共轭先验的性质,即后验分布有着与先验分布一样的行为,并且将第i个模型的后验超参数记为。仔细观察这一结果,如果把θ当成数据,η当成参数,那么已知的后验分布可以看成是数据的分布,而lnp(θi|η)则相当于参数η在此数据集上对应的似然值。于是,对此辅助函数的优化相当于是在此数据分布上对 η 进行最大似然估计。又由于 p(θ|η) 也是指数族分布,其最大似然估计可以通过充分统计量得到。该经验贝叶斯问题的E-step和M-step可以表示成下面的形式:
其中的E-step就是采用共轭先验的情形下后验的计算公式,而M-step是一个关于ηnew的方程,此方程是否有闭式解与具体的指数族分布形式有关。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论