张威作者燕子石翻译

生成模型学习笔记:从高斯判别分析到朴素贝叶斯


本文是哥伦比亚大学研究生张威在生成模型上的学习笔记,由毕业于新西兰奥克兰理工大学的燕子石翻译。机器之心之前曾介绍过张威所写的吴恩达机器学习》课程的学习笔记

  • 英文原版地址:https://wei2624.github.io/MachineLearning/sv_generative_model/

  • 中文翻译地址:https://air-yan.github.io/machine%20learning/Generative-Learning-Algorithm/

1 判别模型

判别模型是一种对观测数据进行直接分类的模型,常见的模型有逻辑回归和感知机学习算法等。此模型仅对数据进行分类,并不能具象化或者量化数据本身的分布状态,因此也无法根据分类生成可观测的图像。

定义上,判别模型通过构建条件概率分布 p(y|x;θ) 预测 y,即在特征 x 出现的情况下标记 y 出现的概率。此处 p 可以是逻辑回归模型。

2 生成模型

判别模型不同,生成模型首先了解数据本身分布情况,并进一步根据输入 x,给出预测分类 y 的概率。该模型有着研究数据分布形态的概念,可以根据历史数据生成新的可观测图像。

贝叶斯分类就是一个典型的例子。在这个例子中,我们有一个先验分类,根据这个先验分类,我们可以使用贝叶斯原理计算每个分类的概率,然后取概率最高的概率。同时,我们还可以根据特定的先验生成特征。这就是一个生成过程。

3 高斯判别分析

高斯判别分析(GDA)是一个生成模型,其中 p(x|y) 是多元高斯正态分布。

3.1 多元高斯正态分布

在多元正态分布中,一个随机变量是一个在维度为 n 的 Rn 空间中的矢量值。因此,多元高斯的均值向量 μ∈Rn,协方差矩阵Σ∈Rn x n,其中$ \ Sigma 是对称的半正定矩阵。其概率密度函数为:

如上所述,μ是期望值。

向量值随机变量 Z 的协方差为:


下图显示了均值为零但不同协方差的几个密度函数。


以下为上图的协方差(从左到右):

4 高斯判别分析和逻辑回归

4.1 高斯判别分析

我们再来谈谈二元分类的问题,我们可以用多元高斯模型对 p(x|y) 进行建模。总的来讲,我们有:

其中φ,μ0,μ1,Σ是我们想要找出的参数。请注意,虽然我们对不同的类有不同的均值,但我们在不同的类之间有着共享的协方差。

为什么它是一个生成模型?简而言之,我们有一个类的先验概率,这个类是伯努利分布。生成过程是(1)从伯努利分布中抽样。(2)基于类标签,我们从相应的分布中抽取 x。

所以,该数据的对数似然函数值是:

在上面的等式中,我们插入各个分布而不指明任何类,我们仅将它们抽象为 k。所以我们有:

现在,我们需要对每个参数进行取导,然后将它们设为零找到 argmax(函数值最大时对应的输入值 x)。一些可能对推导有用的公式列举如下:

(如果 A 是对称的并且与 x 相互独立)

证明: 矩阵 A 是对称矩阵,所以 A= AT 并假设空间维度为 n。

雅可比公式:

证明:

证明:

这个证明有些复杂。你应该事先了解克罗内克函数和 Frobenius 内部乘积。对于矩阵 X,我们可以写成:

你可以将 H 视为 Frobenius 内积的标识元素。在开始证明之前,让我们准备好去找逆矩阵的导数。也就是说,∂X-1/∂X。

所以我们可以这么解:

接着,让我们回到正题:

其中 F 表示 Frobenius 内积。

接着,带回到原始公式:

现在,我们已经有足够的准备去找到每个参数的梯度了。

对ϕ取导并设为 0:

对 μk 取导并设为 0:

对 Σ 取导并设为 0:

结果如图所示:

请注意,由于有着共享协方差,因此上图两个轮廓的形状是相同的,但均值则不同。在边界线上(自左上到右下的直线),每个类的概率为 50%。

4.2 高斯判别分析(GDA)和逻辑回归

高斯判别分析是如何与逻辑回归相关联的呢?我们可以发现如果上述 p(x|y) 是具有共享协方差的多元高斯,我们就可以计算 p(x|y) 然后发现它是遵循逻辑函数的。要证明这一点,我们可以:

由于高斯属于指数族,我们最终可以将分母中的比率转换为 exp(θTx),其中 θ 是φ,μ0,μ1,Σ的函数。

同样的,如果 p(x|y) 是具有不同 λ 的泊松分布,则 p(x|y) 也遵循逻辑函数。这意味着 GDA 模型本身有一个强假设,即每个类的数据都可以用具有共享协方差的高斯模型建模。但是,如果这个假设是正确的话,GDA 将可以更好并且更快地训练模型。

另一方面,如果不能做出假设,逻辑回归就不那么敏感了。因此,你可以直接使用逻辑回归,而无需接触高斯假设或 Possion 假设。

5 朴素贝叶斯

在高斯判别分析中,随机变量应使用具有连续值特征的数据。而朴素贝叶斯则用于学习离散值随机变量,如文本分类。在文本分类中,模型基于文本中的单词将文本标记为二进制类,单词被向量化并用于模型训练。一个单词向量就像一本字典一样,其长度是字典中单词储存的数量,其二进度值则代表着是否为某个词。一个单词在单词向量中由 1 表示「是」,而单词向量中的其他位置则是 0。

然而,这可能并不起作用。比方说,如果我们有 50,000 个单词并尝试将其建模为多项式,则参数的维数为 250,000-1,250,000-1,这太大了。因此,为了解决这个问题,我们做出了

朴素贝叶斯假设:

基于给定分类下,每个词彼此间条件独立。

于是,我们有: 

我们对第一步应用概率论中的链式法则,对第二步应用朴素贝叶斯假设。

找到对数似然函数值的最大值:

其中 ϕj|y=1 = P (xj=1|y=1),ϕ j|y=1 = P(xj=1|y=1), ϕj|y=0 = P(xj=1|y=0) 并且 ϕy= p(y=1)。这些是我们需要训练的参数

我们可以对其求导:

为了预测新样本,我们可以使用贝叶斯法则来计算 P(y = 1 | x)并比较哪个更高。

延伸: 在这种情况下,因为 y 是二进制值(0,1),我们将 P(xi | y)建模为伯努利分布。也就是说,它可以是「有那个词」或「没有那个词」。伯努利将类标签作为输入并对其概率进行建模,前提是它必须是二进制的。如果是处理非二进制值 Xi,我们可以将其建模为多项式分布,多项式分布可以对多个类进行参数化。

总结: 朴素贝叶斯适用于离散空间,高斯判别分析适用于连续空间。我们任何时候都能将其离散化。

6 拉普拉斯平滑处理

上面的示例通常是好的,不过当新邮件中出现过去训练样本中不存在的单词时,该模型将会预测失败。在这种情况下,它会因为模型从未看到过这个词而导致两个类的φ变为零,以至于无法进行预测。

这时我们则需要另一个解决方案,其名为拉普拉斯平滑,它将每个参数设置为:

其中 k 是类的数量。在实际操作中,拉普拉斯平滑并没有太大的区别,因为我们的模型中通常包含了所有的单词,但有一个备用计划总是极好的!

理论逻辑回归朴素贝叶斯生成模型
4
相关数据
吴恩达人物

斯坦福大学教授,人工智能著名学者,机器学习教育者。2011年,吴恩达在谷歌创建了谷歌大脑项目,以通过分布式集群计算机开发超大规模的人工神经网络。2014年5月16日,吴恩达加入百度,负责“百度大脑”计划,并担任百度公司首席科学家。2017年3月20日,吴恩达宣布从百度辞职。2017年12月,吴恩达宣布成立人工智能公司Landing.ai,并担任公司的首席执行官。2018年1月,吴恩达成立了投资机构AI Fund。

逻辑回归技术

逻辑回归(英语:Logistic regression 或logit regression),即逻辑模型(英语:Logit model,也译作“评定模型”、“分类评定模型”)是离散选择法模型之一,属于多重变量分析范畴,是社会学、生物统计学、临床、数量心理学、计量经济学、市场营销等统计实证分析的常用方法。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

判别模型技术

在机器学习领域,有一种分类方法将模型分为判别模型和生成模型(generative model)两种。 判别模型是一种对未知数据y与已知数据x之间关系进行建模的方法,是一种基于概率理论的方法。已知输入变量x,判别模型通过构建条件概率P(y|x)分布预测结果,或试图直接从输入x的空间学习映射到标签{0,1}(如感知器算法)的函数。生成模型则是考虑x与y之间的联合分布。 在实际应用中判别模型非常常见,如:逻辑回归(logistic regression),支持向量机(support vector machine), 提升方法(Boosting),条件随机场(conditional random fields),神经网络(neural network),随机森林(random forests)典型的生成模型则包括:高斯混合模型(Gaussian Mixture Model),隐马尔科夫模型(hidden markov model),简单贝叶斯(naive Bayes)等。不难看出两者的区别。

先验概率技术

在贝叶斯统计中,某一不确定量p的先验概率分布是在考虑"观测数据"前,能表达p不确定性的概率分布。 它旨在描述这个不确定量的不确定程度,而不是这个不确定量的随机性。 这个不确定量可以是一个参数,或者是一个隐含变量(英语:latent variable)。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

文本分类技术

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

导数技术

导数(Derivative)是微积分中的重要基础概念。当函数y=f(x)的自变量x在一点x_0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作f'(x_0) 或 df(x_0)/dx。

协方差矩阵技术

在统计学与概率论中,协方差矩阵(也称离差矩阵、方差-协方差矩阵)是一个矩阵,其 i, j 位置的元素是第 i 个与第 j 个随机向量(即随机变量构成的向量)之间的协方差。这是从标量随机变量到高维度随机向量的自然推广。

朴素贝叶斯技术

朴素贝叶斯是一种构建分类器的简单方法。该分类器模型会给问题实例分配用特征值表示的类标签,类标签取自有限集合。它不是训练这种分类器的单一算法,而是一系列基于相同原理的算法:所有朴素贝叶斯分类器都假定样本每个特征与其他特征都不相关。举个例子,如果一种水果其具有红,圆,直径大概3英寸等特征,该水果可以被判定为是苹果。尽管这些特征相互依赖或者有些特征由其他特征决定,然而朴素贝叶斯分类器认为这些属性在判定该水果是否为苹果的概率分布上独立的。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

似然函数技术

在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。 似然函数在统计推断中有重大作用,如在最大似然估计和费雪信息之中的应用等等。“ 似然性”与“或然性”或“概率”意思相近,都是指某种事件发生的可能性,但是在统计学中,“似然性”和“或然性”或“概率”又有明确的区分。

链式法则技术

是求复合函数导数的一个法则, 是微积分中最重要的法则之一。

条件概率分布技术

条件概率分布(Conditional Probability Distribution,或者条件分布,Conditional Distribution )是现代概率论中的概念。 已知两个相关的随机变量X 和Y,随机变量Y 在条件{X =x}下的条件概率分布是指当已知X 的取值为某个特定值x之时,Y 的概率分布。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

推荐文章
暂无评论
暂无评论~