分享

机器学习中的概率模型

 taotao_2016 2020-07-24

原创技术文章,第一时间获取



机器学习中的概率模型

概率论,包括它的延伸-信息论,以及随机过程,在机器学习中有重要的作用。它们被广泛用于建立预测函数,目标函数,以及对算法进行理论分析。如果将机器学习算法的输入、输出数据看作随机变量,就可以用概率论的观点对问题进行建模,这是一种常见的思路。本文对机器学习领域种类繁多的概率模型做进行梳理和总结,帮助读者掌握这些算法的原理,培养用概率论作为工具对实际问题进行建模的思维。要顺利地阅读本文,需要具备概率论,信息论,随机过程的基础知识。

为什么需要概率论?

概率模型是机器学习算法中的大家族,从最简单的贝叶斯分类器,到让很多人觉得晦涩难懂的变分推断,到处都有它的影子。为什么需要概率论?这是我们要回答的第一个问题。

与支持向量机、决策树、Boosting、k均值算法这些非概率模型相比,概率模型可以给我们带来下面的好处:

1.对不确定性进行建模。假如我们要根据一个人的生理指标预测他是否患有某种疾病。与直接给出简单的是与否的答案相比,如果算法输出结果是:他患有这种疾病的概率是0.9,显然后者更为精确和科学。再如强化学习中的马尔可夫决策过程,状态转移具有随机性,需要用条件概率进行建模。

2.分析变量之间的依赖关系。对于某些任务,我们要分析各个指标之间的依赖关系。例如,学历对一个人的收入的影响程度有多大?此时需要使用条件概率和互信息之类的方法进行计算。

3实现因果推理。对于某些应用,我们需要机器学习算法实现因果之间的推理,这种模型具有非常好的可解释性,与神经网络之类的黑盒模型相比,更符合人类的思维习惯。

4.能够生产随机样本数据。有些应用要求机器学习算法生成符合某一概率分布的样本,如图像,声音,文本。深度生成模型如生成对抗网络是其典型代表。

整体概览

在机器学习中,有大量的算法都是基于概率的。下面这张图列出了机器学习、深度学习、强化学习中典型的算法和理论所使用的概率论知识,使得大家对全貌有所了解。接下来我们将分别讲述这些算法是怎么以概率论作为工具进行建模的。

有监督学习

贝叶斯分类器

贝叶斯分类器是使用概率解决分类问题的典型代表。它的想法很简单:根据贝叶斯公式直接计算样本x属于每个类的概率p(y|x)

这个概率也称为类后验概率。在这里p(y)是每个类出现的概率,p(x|y)是类条件概率,也是每个类的样本的特征向量x所服从的概率分布。然后将样本判定为概率值最大的那个类

这里忽略了上面那个概率计算公式中的分母p(x),因为它对所有类都是相同的,我们并不需要计算出每个类的概率值,而只需要找到概率最大的那个类。

实现时,需要确定每个类样本的特征向量所服从的概率分布p(x|y)以及每个类出现的概率p(y)。前者的参数通常通过最大似然估计确定。如果假设每个类的样本都服从正态分布,就是正态贝叶斯分类器。

logistic回归

伯努利分布 + 最大似然估计 = softmax回归

logistic回归用于解决二分类问题,它的想法与贝叶斯分类器类似,也是预测样本属于每个类的概率。不同的是它没有借助于贝叶斯公式,而是直接根据特征向量x估计出了样本是正样本的概率

如果这个概率值大于0.5,就被判定为正样本,否则是负样本。这里的参数w和b通过最大似然估计得到。可以认为,logistic回归拟合的是伯努利分布。需要强调的是,logistic回归虽然是一种概率模型,但它不是生成模型,而是判别模型,因为它没有假设样本的特征向量服从何种概率分布。

softmax回归

多项分布 + 最大似然估计 = softmax回归

softmax回归是logistic回归的多分类版本,它也是直接预测样本x属于每个类的概率

然后将其判定为概率最大的那个类。这种方法假设样本的类别标签值服从多项分布,因此它拟合的是多项分布。模型的参数通过最大似然估计得到,由此导出了著名的交叉熵目标函数

最大化对数似然函数等价于最小化交叉熵损失函数。softmax回归在训练时的目标就是使得模型预测出的概率分布与真实标签的概率分布的交叉熵最小化。

变分推断

贝叶斯公式 + KL散度 = 变分推断

贝叶斯分类器是贝叶斯推断的简单特例,它们的目标是计算出已知观测变量x时隐变量z的后验概率p(z|x),从而完成因果推断

观测变量的值是已知的,例如可以是样本的特征向量。隐变量的值是不能直接观察到的,例如样本的类别。

这里面临的一个问题是上式中的分母p(x)难以计算,如果x是高维随机向量,计算这个分母涉及到计算高维联合概率密度函数p(x,z)的积分

既然精确的计算很困难,人们就想到了一个聪明的解决方法:我们能不能找出一个概率分布q(z)来近似替代p(z|x),只要二者很相似就可以。找到这个近似概率分布q(z)的依据是它与p(z|x)的KL散度最小化,因为KL散度衡量了两个概率分布之间的差异。KL散度越大,两个概率分布的差异越大;如果这两个概率分布完全相等,KL散度的值为0。由此得到了变分推断的核心公式

lnp(x)是一个常数,因此最小化二者的KL散度等价于最大化证据下界函数L(q(z))。这个下界函数通常易于优化,我们由此可以确定q(z)。实际实现时,通常假定q(z)为正态分布,因为正态分布具有诸多优良的性质。我们也可以从变分推断的角度来解释EM算法。

高斯过程回归

高斯过程回归听起来很玄乎,实际上非常简单。有一组随机变量,假设它们服从多维正态分布,那么它们就构成了高斯过程,任意增加一个变量之后,还是服从正态分布。多维正态分布有着非常好的性质,我们可以直接得到它的边缘分布、条件分布的解析表达式。

高斯过程回归,就是假设我们要预测的函数在任意各个点x处的函数值f(x)形成一个高斯过程。根据高斯过程的性质,给定一组样本值x以及他们对应的函数值f(x),我们可以得到任意点处的函数值的概率分布,当然,这是一个正态分布,它的均值和方差分别为

得到函数在任意点处的函数值的概率分布之后,我们可以做很多事情。高斯过程回归是贝叶斯优化的核心模块之一。

无监督学习

SNE降维算法

正态分布 + KL散度 = SNE

随机近邻嵌入(SNE)是一种基于概率的流形降维算法,将向量组变换到低维空间,得到向量组。它基于如下思想:在高维空间中距离很近的点投影到低维空间中之后也要保持这种近邻关系,在这里距离通过概率体现。假设在高维空间中有两个点样本点的概率作为的邻居,借助于正态分布,此概率的计算公式为

投影到低维空间之后仍然要保持这个概率关系。假设投影之后对应的点为,在低维空间中对应的近邻概率记为,计算公式与上面的相同,也使用了正态分布

如果考虑所有其他点,这些概率值构成一个离散型概率分布,是所有样本点成为的邻居的概率。在低维空间中对应的概率分布为,投影的目标是这两个概率分布尽可能接近,需要衡量两个概率分布之间的相似度。这里用KL散度衡量两个多项分布之间的差距。由此得到投影的目标为最小化如下函数

最小化该目标函数就可以得到降维之后的结果。

t-SNE降维算法

t分布 + KL散度 =t- SNE

t-SNE是SNE的改进版本。其中一个核心改进是将正态分布替换为t分布,t分布具有长尾的特性,在远离概率密度函数中点处依然有较大的概率密度函数值,因此更易于产生远离中心的样本,从而能够更好的处理离群样本点。

高斯混合模型

多项分布 + 正态分布 = 高斯混合模型

正态分布具有很多良好的性质,在应用问题中我们通常假设随机变量服从正态分布。不幸的是,单个高斯分布的建模能力有限,无法拟合多峰分布(概率密度函数有多个极值),如果将多个高斯分布组合起来使用则表示能力大为提升,这就是高斯混合模型。

高斯混合模型(GMM)通过多个正态分布的加权和来定义一个连续型随机变量的概率分布,其概率密度函数定义为

GMM可以看做是多项分布与高斯分布的结合,首先从k个高斯分布中随机的选择一个,选中每一个的概率为wi,然后用该高斯分布产生出样本x。这里用隐变量z来指示选择的是哪个高斯分布。高斯混合模型的参数通过最大似然估计得到,由于有隐变量的存在,无法像高斯分布那样直接得到对数似然函数极值点的解析解,需要使用EM算法。

Mean shift算法

核密度估计 + 梯度下降法 = Mean shift算法

很多时候我们无法给出概率密度函数的显式表达式,此时可以使用核密度估计。核密度估计(KDE)也称为Parzen窗技术,是一种非参数方法,它无需求解概率密度函数的参数,而是用一组标准函数的叠加表示概率密度函数。

对于聚类,图像分割,目标跟踪等任务,我们需求求概率密度函数的极值。均值漂移算法可以找到上面这种形式的概率密度函数的极大值点,是核密度估计与梯度上升法(与梯度下降法相反,用于求函数的极大值)相结合的产物。对上面的概率密度函数求梯度,可以得到下面的梯度计算公式

这个向量也称为均值漂移向量。由此可以得到梯度上升法的迭代公式

均值漂移算法简单而优美,当年在目标跟踪领域取得了令人刮目相看的效果。

概率图模型

概率论 + 图论 = 概率图模型

概率图模型是概率论与图论相结合的产物。它用图表示随机变量之间的概率关系,对联合概率或条件概率建模。在这种图中,顶点是随机变量,边为变量之间的依赖关系。如果是有向图,则称为概率有向图模型;如果是无向图,则称为概率无向图模型。概率有向图模型的典型代表是贝叶斯网络,概率无向图模型的典型代表是马尔可夫随机场。使用贝叶斯网络可以实现因果推理。

隐马尔可夫模型

马尔可夫链 + 观测变量 = 隐马尔可夫模型

马尔可夫过程是随机过程的典型代表。这种随机过程为随着时间进行演化的一组随机变量进行建模,假设系统在当前时刻的状态值只与上一个时刻有关,与更早的时刻无关,称为“无记忆性”。

有些实际应用中不能直接观察到系统的状态值,状态的值是隐含的,只能得到一组称为观测的值。为此对马尔可夫模型进行扩充,得到隐马尔可夫模型(HMM)。隐马尔可夫模型描述了观测变量和状态变量之间的概率关系。与马尔可夫模型相比,隐马尔可夫模型不仅对状态建模,而且对观测值建模。不同时刻的状态值之间,同一时刻的状态值和观测值之间,都存在概率关系。

隐马尔可夫模型可以表示为五元组

其中S为状态集合,V为观测集合,π是初始状态的概率分布,A是状态转移矩阵,B是观测矩阵。

受限玻尔兹曼机

玻尔兹曼分布 + 二部图 =  受限玻尔兹曼机

受限玻尔兹曼机(RBM)是一种特殊的神经网络,其网络结构为二部图。这是一种随机神经网络。在这种模型中,神经元的输出值是以随机的方式确定的,而不像其他的神经网络那样是确定性的。

受限玻尔兹曼机的变量(神经元)分为可见变量和隐藏变量两种类型,并定义了它们服从的概率分布。可见变量是神经网络的输入数据,如图像;隐藏变量可以看作是从输入数据中提取的特征。在受限玻尔兹曼机中,可见变量和隐藏变量都是二元变量,其取值只能为0或1,整个神经网络是一个二部图。

二部图的两个子集分别为隐藏节点集合和可见节点集合,只有可见单元和隐藏单元之间才会存在边,可见单元之间以及隐藏单元之间都不会有边连接。隐变量和可见变量的取值服从下面的玻尔兹曼分布

数据生成问题

数据生成模型以生成图像、声音、文字等数据为目标,生成的数据服从某种未知的概率分布,具有随机性。以图像生成为例,假设要生成猫、狗等图像,算法输出随机向量x,该向量由图像的所有像素拼接而成。每类样本x都服从各自的概率分布,定义了对所有像素值的约束。例如对于狗来说,如果图像看上去要像真实的狗,则每个位置处的像素值必须满足某些约束条件,且各个位置处的像素值之间存在相关性。算法生成的样本x要有较高的概率值p(x),即像真的样本。

数据生成模型通常通过分布变换实现,原理很简单:对服从简单的概率分布(如正态分布,均匀分布)的数据数z进行映射,得到一个新的随机变量g(z),这个随机变量服从我们想要的那种概率分布。问题的核心是如何找到这个映射g(z)。深度生成模型的典型代表-生成对抗网络,以及变分自动编码器,通过不同的路径实现了这一功能。

生成对抗网络

概率分布变换(生成器) + 二分类器(判别器) = 生成对抗网络

生成对抗网络由一个生成模型和一个判别模型组成。生成模型用于学习真实样本数据的概率分布,并直接生成符合这种分布的数据,实现分布变换函数g(z);判别模型的任务是判断一个输入样本数据是真实样本还是由生成模型生成的,即对生成模型生成的样本进行评判,以指导生成模型的训练。在训练时,两个模型不断竞争,从而分别提高它们的生成能力和判别能力。训练时要优化的目标函数定义为

训练完成之后,生成模型就可以用来生成样本了,它的输入是随机变量z,从而保证了生成的样本具有随机性。可以证明,当且仅当生成器所实现的概率分布与样本的真实概率分布相等时上面的目标函数取得极小值

从理论上来说,是使得生成器生成的样本的概率分布与真实样本的概率分布的KL散度最小化。

变分自动编码器

变分推断 + 神经网络 = 变分自动编码器

变分自动编码器(VAE)是变分推断与神经网络相结合的产物。整个系统遵循自动编码器的结构,由编码器和解码器构成。在训练时,编码器将训练样本映射成隐变量z所服从的概率分布的参数,然后从此概率分布进行采样得到隐变量z,解码器则将隐变量映射回样本变量x,即进行重构。这种方法在标准自动编码器的基础上加入了随机性,从而保证可以输出带有随机性的数据。

训练时优化的目标为

q(z|x)充当编码器的角色,将x编码为z。给定一个x,输出其对应的隐变量的概率分布。编码器的输出为隐变量的均值和方差,而非隐变量本身。p(x|z)充当解码器,从z重构出x。

强化学习

马尔可夫决策过程

马尔可夫过程 + 动作 + 奖励 = 马尔可夫决策过程

马尔可夫决策过程(MDP)是强化学模型的抽象,是对马尔可夫过程的扩充,在它的基础上加入了动作和奖励,动作可以影响系统的状态,奖励用于指导智能体学习正确的行为,是对动作的反馈。

在每个时刻智能体观察环境,得到一组状态值,然后根据状态来决定执行什么动作。执行动作之后,系统给智能体一个反馈,称为回报或奖励。回报的作用是告诉智能体之前执行的动作所导致的结果的好坏。

MDP可以抽象成一个五元组

其中S为状态空间,A为动作空间,p为状态转移概率,r为回报函数,是折扣因子。从0时刻起,智能体在每个状态下执行动作,转入下一个状态,同时收到一个立即回报。这一演化过程如下所示

在这里,状态转移概率用于对不确定性进行建模,即使当前时刻的状态值,当前时刻要执行的动作是确定的,但下一个时刻转让何种状态,是具有随机性的。

本文所介绍的机器学习算法,在《机器学习-原理、算法与应用》(清华大学出版社,雷明著)一书中都有详细的讲述。本文提及的所有数学知识,在《机器学习的数学》(人民邮电出版,雷明著,将于2020年8月出版)一书中都有详细而清晰的讲述。



本文为SIGAI原创

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多