干货如何用马尔科夫链蒙特卡洛(MCMC)解决机器学习的高维度的积分和最优化问题

开通VIP,畅享免费电子书等14项超值服

首页

好书

留言交流

下载APP

联系客服

2018.02.08

全球人工智能

MCMC介绍

MarkovChainMonteCarlo简称MCMC,是一个抽样方法,用于解决难以直接抽样的分布的随机抽样模拟问题。

在基础概率课我们有学过,已知一个概率分布函数F(X),那么用电脑产生服从Uniform分布的随机数U,代入,那么就是服从F(X)的随机变量。这个方法在金融领域使用很广,即MonteCarloSimulation:通过模拟股票价格来计算期权价格。当然,这个方法很重要的一个假设是,已知概率分布函数。但很多情况下我们并没有方法得到概率分布和其反函数,因此需要其他手段。

MCMC通常用于解决高维度的积分和最优化问题,这两种问题也是机器学习、物理、统计、计量等领域的基础。比如:

1、贝叶斯推论和学习,给定未知变量x和y,贝叶斯统计主要需计算以下积分:

2、统计力学,用概率理论来总结一个力学系统的平均行为。。。在计算中有运用类似统计推论里计算标准化常数的方法。

3、最优化,最小化或最大化目标函数

4、带有惩罚函数的似然模型选择(Penalizedlikelihoodmodelselection),分为两个步骤,一,对每一个模型计算极大似然估计参数。然后用惩罚项(如AIC,BIC)来选择复杂度和拟合度都较好的模型。

MonteCarlo原理

依据给定的目标概率分布(高维度的),产生独立同分布的样本,利用产生的样本可以对该分布进行离散式近似,其中是xi的狄拉克δ函數。然后就可以用这个近似的分布函数计算各种积分。但是,很多分布是难以直接取样的,需要借助一些方法,就是用可以直接抽样的较为简单的分布作为依据(proposaldistribution)。如rejectionsampling,importancesampling和MCMC。

狄拉克δ函數delta-Dirac,它在除x以外的点上都等于零,且其在整个定义域上的积分等于1。是一种连续函数的表达式,若用离散函数来表达的话,就是

可以证明,如此这般,acceptedx服从p(x)。

用python对p(x)为标准正态分布作了个实验(code在文末)

目标分布p(x),参考分布q(x),且p(x)=w(x)q(x),w(x)称为重要性权重。比如要计算

咋看之下很奇怪,但是其实是用于应对极端情况问题的抽样,因此很适合用在金融领域。比如我们已知某风险因子(riskfactor)服从p(X),然后根据风险因子计算的风险值f(X)只在X很大的时候才有值,其他时候均为0,即

下面是两个拓展:

标准化常数(Normalizingconstant):就是使概率函数变为概率密度函数的常数,比如

不过即使有上述几个拓展,有的时候还是很难得到目标分布的良好估计。因此,我们需要更加英霸的技术,基于马尔科夫链。

是我觉得目前来看缩写最好记的方法,值得一学。

简而言之,就是用马尔科夫链方法来抽样。本文一贯的假设是目标分布p(x)难以直接抽样,但是我们对他的常数倍了如指掌(原文是“canevaluatep(x)uptoanormalisingconstant”)

马尔科夫链

首先,xi是离散的随机序列(stochasticprocess),而且在每个时刻只有s个可能的值(state)。那么,这个随机序列若满足以下条件就可以称为马尔科夫链:

比如说下图的关系就可以用

来表示

T需要满足的条件是:

另外,还有一个p(x)是可收敛分布的充分条件(非必要)是

用互联网来具象化上述两个条件的重要意义:第一个条件说明我们从任意一个网页出发都可以访问其他任何网页,而且在任何一个网页都必须可以到其他网页,而不是死循环。例如谷歌的PageRank算法就是定义T=L+E,其中L矩阵的各元素表示从一个网页到另一个网页的链接数,E是一个均匀随机数矩阵,用于满足不可化简性和排除死循环(再次的网站也要有正的概率可以摆在搜索排行前面,虽然概率很低)。

MCMC的目的就是用MarkovChain收敛于p(x)这一性质来抽样,即不管一开始抽取的样本服从什么分布,只要用了恰当的转换矩阵,经过多次转换后之后抽取的眼本就会服从目标分布。概念说起来很简单,但是转换矩阵的不同选择就形成了不同的算法。

在X是连续变量的情况下,转换矩阵T变为核函数积分形式:

MetropolisHastingAlgorithm

最出名的算法叫做MetropolisHastingAlgorithm(MH):很多其他实用的MCMC算法究其根本都是MH算法的延伸。

个人在stackexchange上看到一个很形象的比喻:假设你目前在一片高低不平的山地上,你此行的目的是在海拔越高的地方停留越久(p(x)大的时候,样本里x就多)。你的方法是随便指一个新的地方,如果这个地方的海拔更高,那么就移动过去;但如果这个地方的海拔比当前低,你就抛一个不均匀的硬币决定是否过去,而硬币的不均匀程度相当于新海拔和当前海拔的比例。也即新海拔若是当前海拔的一半,你就只有1/2的概率会过去。MH算法中q(x*|x)就是按照一定的规律指出一个新方向,A(x,x*)就是计算相对高度。

用python实现结果如下:

MH算法很简单,但是对q(x*|x)的选择非常关键。而且其他不同的算法也主要是对q的不同选择。

MH算法的转换核(transitionkernel)是

其中

这个转换核满足平衡条件

转换核就是前面的T在连续情况下

可以证明,通过MH算法得到的样本就是近似服从目标分布p(x)的样本:

证明:

因此,MH的转换核满足平衡条件,所以抽样得到的样本将会趋向于p(x)。

因为算法内部有拒绝的设定,所以不存在死循环(即每一次产生一个新的proposalx*,都有机会移动到该值上)。为了证明MH算法不存在可简化性,需要证明在有限步内x的每一个取值都有正的概率。

MH算法有两个简易的特例:IndependentSampler和MetropolisAlgorithm。

另外,MH算法有几个重要性质:

------------------接下去就是MCMC如何解决具体问题-----------------

效果如图:

MCMC还有一个优点就是可以结合多种抽样器于一个混合的(mixture)或循环的(cycle)抽样器。即若K1和K2是具有相同收敛分布p的核,那么循环核K1K2和混搭核vK1+(1-v)K2,

混搭核可以通过一个总体参考分布先探索可能的取值范围,然后再针对不同的抽样器选用不同的参考函数来探索目标分布的性质。这对于有很多极值的目标分布很有效。

有时联合分布比边缘分布好抽样,所以可以先通过联合分布得到样本,然后忽略掉作为辅助的变量。下面介绍两种。

所以

条件概率分布为

算法就是基于当前步得到的samplexi,先在0到p(xi)之间均匀抽样一个u,然后在p(x)>u的区域A内均匀抽样一个x。

给定一类模型集合M,我们将构建遍历马尔科夫链(ergodicmarkovchina),使得其收敛分布为p(m,xm)。可以实现模拟不同维度的分布。

遍历马尔科夫链:若马尔科夫链上的每一个状态(state)都是可遍历的,那么这个MC就是一个EMC,其实就是具有不可化简性,可以从任何状态到达任何状态。

希望找到一个界限,使得在该步以后MC基本收敛。

在抽样过程中根据抽取的样本调整参考分布,不过目前的研究都没有显著效果

适用于连续型数据分析,例如信号等。

主要应用在高维度模型,大数据。

----------------------------------以下是附录----------------------------------

THE END
1.机器学习知识点全面总结机器学习知识点总结特征工程:是指在机器学习中对原始数据进行转换、组合和选择等处理,以提取更有用的特征或属性,以帮助机器学习算法更好地理解和处理数据。简而言之,特征工程就是对原始数据进行预处理,以提取有用信息来辅助机器学习。 模型选择:根据问题的特点和数据的特征选择适合的机器学习算法和模型。 https://blog.csdn.net/qq_63159704/article/details/136137934
2.一文理解机器学习三要素腾讯云开发者社区机器学习,作为人工智能的重要分支,使计算机能够通过数据自动学习并不断优化模型,以提高预测和决策的准确性和效率。机器学习方法可以概述如下: 出发点是给定的、有限的训练数据集,假设这些数据遵循独立同分布。同时,假定待学习的模型属于一个特定的函数集合,即假设空间。 https://cloud.tencent.com/developer/article/2421011
3.机器学习算法可分为:()()和()。机器学习算法可分为:()、()和()。正确答案:监督学习|无监督学习;非监督学习|强化学习 点击查看答案进入小程序搜题你可能喜欢监督学习算法通常解决()和()等类型的问题。 点击查看答案进入小程序搜题 无监督学习算法通常解决()和()等类型的问题。 点击查看答案进入小程序搜题https://m.ppkao.com/wangke/daan/00ea4c6c462240dfbddb036289adc3f4
4.Python机器学习(原书第3版)最新章节塞巴斯蒂安·拉施卡著虽然感知器规则提供了良好且易用的入门级机器学习分类算法,但其最大缺点是,如果类不是完全线性可分的,那么它将永远不收敛。前一节的分类任务就是该场景的一个示例。直观地说,原因是权重在不断更新,因为每次迭代至少会有一个错误分类样本存在。当然,我们也可以改变学习速率,增加迭代次数,但是要小心感知器永远都不会https://m.zhangyue.com/readbook/12540913/42.html
5.机器学习中有监督学习和无监督学习的区别表现在什么方面?机器学习主要分为:有监督学习,无监督学习,以及半监督学习等。小编今天给大家分享的主要是有监督学习和无监督学习的比较,希望对于大家机器学习有所帮助。 一、首先来了解一下有监督学习和无监督学习的概念 1、有监督学习(supervised learning)是指从给定的训练数据集中学习出一个函数(模型参数),当新的数据到来时,可以https://www.cda.cn/bigdata/28000.html
6.计算机工程与设计杂志中国航天科工集团第二研究院706所主办为综合利用基于情感词典和基于机器学习的两类情感分类方法的优点,提出一种基于情感词汇与机器学习的方面级情感分类方法。通过选取少量情感倾向与评价对象无关的情感词汇对评价搭配进行情感分类;通过构建机器学习分类器,以评价短语对各类别的互信息占比作为分类器的分类概率权重,进行加权计算,选择加权后分类概率最大的类别作https://www.youfabiao.com/jsjgcysj/202001/
7.IJTCS8月17日,“多智能体机器学习”分论坛由北京大学李文新教授、中国科学院自动化研究所张海峰副研究员主持。8月18日,“计算经济学”分论坛由上海交通大学陶表帅助理教授主持。小编为大家带来两个分论坛报告的精彩回顾。 多智能体机器学习分论坛精彩回顾 A Continuum of Solutions to Cooperative Multi-Agent Reinforcementhttps://cfcs.pku.edu.cn/news/240892.htm
8.基于有限积分法和机器学习的场强分布预测方法本文提出了一种基于有限积分法和机器学习的场强预测混合方案,我们在CST中建立地形或建筑物的最基本单元—三角面,仿真计算平面波(射线就是平面波)入射时三角面周围的电磁场分布,找出影响场强分布的特征,仿真在不同输入条件下的输出结果。对三角面周围的空间分为近场区和远场区。近场区通过机器学习模型来预测场强,而https://cdmd.cnki.com.cn/Article/CDMD-10013-1018116500.htm
9.机器学习中的分类和回归王哲MGGAI机器学习中的分类和回归是两种主要的预测建模任务,它们分别处理不同类型的输出变量。 分类(Classification): 定义:分类是一种监督学习任务,其目标是将输入数据映射到预定义的类别中。在分类问题中,模型的输出是一个离散的类别标签。 例子:例如,垃圾邮件过滤是一个二分类问题,其中模型需要将每封电子邮件分为"垃圾邮件https://www.cnblogs.com/wzbzk/p/17834194.html
10.北京航空航天大学2025研究生考试大纲:人工智能学院!北京航空航天大学人工智能学院招收2025年硕士初试自命题科目考试大纲已公布,842人工智能基础综合试卷总分150分,共包括三部分内容。其中机器学习部分为必考内容,占90分;算法设计与分析部分和自动控制原理部分为选考内容,选考内容二选一,均占60分。若同时选考算法设计与https://www.gaodun.com/kaoyan/1653530.html
11.机器学习中常用的几种回归算法及其特点回归是统计学中最有力的工具之一,机器学习监督学习算法分为分类算法和回归算法两种。回归算法用于连续型分布预测,可以预测连续型数据而不仅仅是离散的类别标签。 回归是统计学中最有力的工具之一,机器学习监督学习算法分为分类算法和回归算法两种。回归算法用于连续型分布预测,可以预测连续型数据而不仅仅是离散的类别标签https://www.51cto.com/article/775005.html
12.第28分会:AI辅助的化学反应和复杂体系模拟日程表第28分会:AI辅助的化学反应和复杂体系模拟 主席:胡培君、李磊 编号论文标题报告人时间操作 2024年06月15日 第1时段 口头报告(Oral) 国际会堂:3层301 胡培君 28-KN-001基于量子计算精度的蛋白质动力学模拟及机器学习力场张增辉09:50-10:20关注 28-I-001基于深度势能模型和图神经网络的固态电解质缺陷效应和矿物浮https://www.chemsoc.org.cn/meeting/34th/programs.php?topicid=1343
13.腾讯AI开放平台连接云边端设备、算法和数据,提供全栈式 AI 应用开发、部署、管理等功能 腾讯云TI平台 一站式机器学习生态服务平台,涵盖数据预处理、模型训练、评估、预测全流程 图像识别语音技术自然语言处理AI平台服务智能机器人 限时促销 活动专区 人脸核身特惠活动2折 https://ai.qq.com/
14.CiteScore2022正式发布,AIOpen首获即达22.5分,三大高被引论文值得一AI Open 成立于 2020 年,主要分享关于人工智能理论及其应用的知识处理和前瞻性观点,期刊主编为清华大学计算机系的唐杰教授。 AI Open 三大高被引论文解读 1.图神经网络:方法与应用回顾(Graph neural networks: A review of methods and applications) 近年来,由于图(graph)的强大表达能力,利用机器学习分析图的研究越https://www.thepaper.cn/newsDetail_forward_23420835
15.MindSpore官网9 MindQuantum:快速上手量子模拟与量子机器学习 MindQuantum 最新0.5版本中提供独立的量子模拟模块Simulator,用户可快速对自定义量子线路进行模拟演化并对量子态进行采样,极大方便开发者在MindQuantum环境中设计和验证自己的量子算法。此外我们新增了量子线路和量子态采样的展示模块,开发者也能直观的对量子算法进行修改。 https://www.mindspore.cn/news/newschildren?id=967
16.家长会英语老师发言稿(通用21篇)期中已经结束了,各位家长不要过分纠结在分数的高低。话说回来,从这次练习中不难发现部分同学掌握的不是很到位,以致于在考试中出现了重大失误。这个和平时的学习习惯是分不开的。在座的各位,都明白英语的重要性和必要性。时代真的不同了。以前说有钱能走遍天下,现在会说英语才能游遍世界!https://www.unjs.com/fanwenwang/fayangao/20221210153520_6089196.html