藏经阁娱乐

蒙特卡洛方法

来源:首页 | 时间:2019-04-25

  蒙特卡洛方法的提出者是大名鼎鼎的数学家冯·诺伊曼,搞计算机的不可能不知道他(计算机之父),冯·诺伊曼在20世纪40年代中期用驰名世界的赌城—摩纳哥的蒙特卡洛来命名这种方法。(大家也别把蒙特卡洛当一个城市,估计和北京的一条街差不了多少,因为摩纳哥(不是非洲的摩洛哥)本身就是个袖珍国家,比我国澳门都小的多)。说明该方法与赌博中的随机性、概率性有着天然而密切的联系。几乎涉及到复杂的、与概率相关的数值计算的领域都有可能会用到。比如计算物理、经济金融、统计学、机器学习等。

  蒙特卡洛方法并没有什么高深的理论支撑,如果一定要说有理论也就只有概率论或统计学中的大数定律了。蒙特卡洛的基本原理简单描述是先大量模拟,然后计算一个事件发生的次数,再通过这个发生次数除以总模拟次数,得到想要的结果。比如投3个骰子,计算3个骰子同时是6的概率,可以模拟投N次(随机样本数),统计同时是6出现的次数C,然后C除以N即是计算结果。

  (3)蒙特卡洛方法可以应用在很多场合,但求的是近似解,在模拟样本数越大的情况下,越接近与真实值,但样本数增加会带来计算量的大幅上升。

  蒙特卡洛方法不仅仅是算概率哦,再看一个稍复杂点的实例:求函数y=x2在[0,2]区间的积分,即求如下图所示的红色区域的面积。当然直接用数学中的定积分公式算更简单精确,这里主要是举例说明下蒙特卡洛方法的使用过程。

  该红色区域在一个2×4的正方形里面。使用蒙特卡洛方法,随机在这个正方形里面产生大量随机点(数量为N),计算有多少点(数量为count)落在红色区域内(判断条件为yx2),count/N就是所要求的积分值,也即红色区域的面积。

  这与精确值(2.666666)的差距只有6.2%,而对于更大规模的模拟,N=100万,输出结果为:2.66528,这与精确值的差距只有0.051975%(万分之五)。可以看出,蒙特卡洛方法有一定的误差,误差的大小与模拟的样本大小直接相关,模拟样本越大,误差越小,但计算量也会大幅上升。

  (4)对于简单问题来说,蒙特卡洛是个“笨”办法。但对许多问题来说,它往往是个有效,有时甚至是唯一可行的方法。

  2.设投圈半径8cm,投圈中心点围绕物品中心点呈二维正态分布,均值μ=0cm,标准差σ=20cm,模拟1000次投圈过程。

  输出结果:0.014,即投1000次,有14次能够套住物品,就是个小概率事件,知道你为什么套不住了吧。

  蒙特卡洛方法与遗传算法、粒子群算法等智能优化算法有相似之处,比如都属于随机近似方法,都不能保证得到最优解等,但它们也有着本质的差别。一是层次不一样,蒙特卡洛只能称之为方法,遗传算法等则属于仿生智能算法,比蒙特卡洛方法要复杂。二是应用领域不同,蒙特卡洛是一种模拟统计方法,如果问题可以描述成某种统计量的形式,那么就可以用蒙特卡洛方法来解决;遗传算法等则适用于大规模的组合优化问题(选址问题、排班问题、管理调度、路线优化)等,以及复杂函数求最值、参数优化等。

  概述蒙特卡罗方法是一种计算方法。原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值。它非常强大和灵活,又相当简单易懂,很容易实现。对于许多问题来说,它往往是最简单的计算方法,有时甚至是唯一可...博文来自:Machine Learning with Peppa

  1.什么是蒙特卡洛方法(MonteCarlomethod)蒙特卡罗方法也称统计模拟方法,是1940年代中期由于科学技术的发展和电子计算机的发明,而提出的一种以概率统计理论为指导的数值计算方法。是指使用...博文来自:bitcarmanlee的博客

  今天开始研究SamplingMethods,接下来会分为四部分进行讲解。本文是开篇文章,先来讲讲蒙特卡洛算法。  Contents   1.蒙特卡洛介绍  2.蒙特卡洛的应用  3.蒙特卡洛积分   ...博文来自:ACdreamer

  链接蒙特卡洛方法(MonteCarlomethod,也有翻译成“蒙特卡罗方法”)是以概率和统计的理论、方法为基础的一种数值计算方法,将所求解的问题同一定的概率模型相联系,用计算机实现统计模拟或抽样,以...博文来自:天马行空的博客

  编译reason_W出品 AI科技大本营(公众号ID:rgznai100)长久以来,计算机在围棋领域不可能达到人类专家的水平一直是学术界的主流观点。围棋,被认为是人工智能的“圣杯”——一个我们原本...博文来自:AI科技大本营

  本文发自:欢迎大家访问:)前言最初听到蒙特卡洛方法(MonteCarlo,下文用MC代替)是...博文来自:pH646463981的博客

  一、背景  蒙特卡罗模拟方法(MonteCarlosimulation)诞生于上个世纪40年代美国的”曼哈顿计划”,名字来源于赌城蒙特卡罗。蒙特卡罗算法从某种意义上而言,就是一种赌博算法。  它是一种...博文来自:Hansonlet

  吉布斯采样算法详解为什么要用吉布斯采样什么是sampling?sampling就是以一定的...博文来自:皮皮blog

  近几年来,随着谷歌的阿尔法狗和阿尔法元的问世,蒙特卡洛树搜索(MCTS),作为一种不需要特定领域的先验知识的搜索算法逐渐被人们重视起来。其可以在无任何已知知识,而仅需要了解模拟规则和结束状态的情况下,...博文来自:bowean的博客

  蒙特卡罗(MonteCarlo)方法,也称为计算机随机模拟方法,是一种基于随机数的计算方法。        一起源   这一方法源于美国在第二次世界大战进研制的"...博文来自:wuguangbin1230的博客

  一、概率密度函数和分布函数分布函数是概率密度函数从负无穷到正无穷上的积分;在坐标轴上,概率密度函数的函数值y表示落在x点上的概率为y;分布函数的函数值y则表示x落在区间(-∞,+∞)上的概率。二、均匀...博文来自:hairuiJY

  蒙特卡洛方法(MonteCarlomethod,也有翻译成“蒙特卡罗方法”)是以概率和统计的理论、方法为基础的一种数值计算方法,将所求解的问题同一定的概率模型相联系,用计算机实现统计模拟或抽样,以获得...博文来自:saltriver的专栏

  蒙特卡洛树搜索的基本概念蒙特卡洛树搜索会多次模拟博弈,并尝试根据模拟结果预测最优的移动方案。蒙特卡洛树搜索的主要概念是搜索,即沿着博弈树向下的一组遍历过程。单次遍历的路径会从根节点(当前博弈状态)延伸...博文来自:Haward

  今天看到头条上有位网友提出了一个蒙特卡洛和围棋的问题,以为大佬的回答我觉得很有意思,特摘抄与此。蒙特卡洛算法是20世纪十大最伟大的算法,阿法狗就采用了蒙特卡洛算法。蒙特卡洛树不是一种算法,蒙特卡洛才是...博文来自:guan的博客

  作者:刘建平     编辑:祝鑫泉      授权转发自:刘建平《MCMC(一)蒙特卡罗方法》地址:博文来自:机器学习算法全栈工程师

  背景:在高频(HF,定义为3-30mHz),无线电波可以通过离开电离层和离开地球的多次反射而行进很长距离(从地球表面上的一个点到地球表面上的另一个远点)。对于低于最大可用频率(MUF)的频率,来自地...博文来自:一苇以航

  之前写过一篇博客,介绍如何使用差分格式求解热传导方程今天打开博客,突然发现评论区被这篇文章霸屏了询问实验室的小伙伴才知,原来是被可爱的建模学子们攻占了经过简单的了解,发现今年建模的A题的核心就是求解一...博文来自:随煜而安的专栏

  蒙特卡洛(MonteCarlo)方法的本质蒙特卡洛(MonteCarlo)方法,即蒙特卡洛采样,是一种根据某已知分布的概率密度函数f(x),产生服从此分布的样本X的方法。蒙特卡洛采样有很多种,其中最简...博文来自:史明礼的博客

  蒙特卡罗仿真原理蒙特卡罗(MonteCarlo)方法,又称随机抽样或统计模拟方法,泛指所有基于统计采样进行数值计算的方法。在第二次世界大战期间,美国参与“曼哈顿计划’’的几位科学家Stanisla...

  最优化问题的计算方法是很重要的,因为很多最优化的问题难于解析地解出来,对于动态模拟,通常人们能够解析地确定定常态的行为,但是关于瞬态行为的研究则需要计算机模拟,概率模型更加复杂,不具有时间...

  否是是否初始化根节点判断是否是叶子节点a.选择节点执行模拟节点移动b.执行神经网络模拟估值游戏结束设置叶子节点胜平负valueb.扩展叶子节点设置该节点value为神经网络预测的valuec.根据va...

  引言如果要将极大似然估计应用到线性回归模型中,模型的复杂度会被两个因素所控制:基函数的数目(的维数)和样本的数目。尽管为对数极大似然估计加上一个正则项(或者是参数的先验分布),在一定程度上可以限制模型...

  1、广义线性模型的介绍当一个y可能由多个x决定时,且y与x中有多重线性关系时,我们定义线性回归公式为:在拟合这样的一个拟合一个带有系数w=(w_1,…,w_M)的线性模型时,根据MSE,我们使得数据集...

  蒙特卡洛(MonteCarlo)法是一类随机算法的统称。随着二十世纪电子计算机的出现,蒙特卡洛法已经在诸多领域展现出了超强的能力。在机器学习和自然语言处理技术中,常常被用到的MCMC也是由此发展而来。...

  配分函数,是未归一化概率所有状态的积分(对于连续变量)或求和(对于离散变量)直面配分函数,是由于配分函数,在很多模型上,在积分和求和上面很难计算,所以书中在本章,我认为主要介绍了7种方法,3种策略。基...

  一、蒙特卡洛(MonteCarlo)方法简介蒙特卡洛是一个地名,位于赌城摩纳哥,象征概率。蒙特卡洛(MonteCarlo)方法是由大名鼎鼎的数学家冯·诺伊曼提出的,诞生于上世纪40年代美国的“曼哈顿计...

  转载自知乎专栏 天津包子馅儿 的知乎说明:从这讲开始,我们进入强化学习的进阶课程学习。进阶课程以强化学习入门第一讲到第五讲为基础,所以请读者先读前面的课程讲义。该进阶课程也有五讲,主要讲解直接策略搜索...

  MonteCarlo方法的实质是通过大量随机试验,利用概率论解决问题的一种数值方法,基本思想是基于概率和体积间的相似性,基于大量事件的统计结果来确定一些确定性事件的计算。理解:在广场上画一个边长一米的...

  本文通过五个例子,介绍蒙特卡罗方法(MonteCarloMethod)一、概述蒙特卡罗方法是一种计算方法。原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值。它非常强大和灵活,又相当简单易懂...

  第4章基于图的特征选择我们研究的目的是寻找更高效、更能帮助分类器、能更好理解数据集的特征选择技术。我们提出一种新的基于图的过滤型特征选择算法:基于图的多类别特征结合算法(GMS,Graph-based...

  蒙特卡罗方法一,采样和蒙特卡罗方法为什么需要采样当我们需要以较小的代价近似许多项的和或某个积分时,采样是一种很灵活的选择。蒙特卡罗采用的基础蒙特卡罗方法的思想是把这个和或者积分视作某分布下的期望,然后...

  乍一听“蒙特卡罗”这个词,完全不知所云,我感到很奇怪,一个搜索算法MonteCarloTreeSearch为什么叫蒙特卡罗。于是,就有了下面的文字。本篇文章主要介绍MonteCarlo方法的由来,及简...

  强化学习中免模型学习采用蒙特卡罗方法去逼近最优解,那这种采样原理是怎样的呢?1、蒙特卡罗思想   是一类随机方法的统称。这类方法的特点是,可以在随机采样上计算得到近似结果,随着采样的增多,得到的结果是...

  蒙特卡罗方法采样算法  蒙特卡罗方法(MonteCarloSimulation)是一种随机模拟(或者统计模拟)方法。  给定统计样本集,如何估计产生这个样本集的随机变量概率密度函数,是我们比较熟悉的概...

  利用蒙特卡洛搜索树实现简单的井字棋游戏,重点不是井字棋,是熟悉蒙特卡洛搜索树的应用,而且我们知道,MCTS可以应用到非常复杂的博弈游戏中,比如象棋,围棋,在搜索空间非常大的时候,普通的极大极小搜索...

  本文旨在让读者快速入门蒙特卡洛采样。结合了一个简单的应用——生成样本,来引入蒙特卡洛模拟,并详细介绍了接受拒绝方法(蒙特卡洛方法最简单的一种),包括接受拒绝方法的使用步骤,直觉理解以及证明。最后文章给...

  上一节讲的是在已知模型的情况下,如何去解决一个马尔科夫决策过程(MDP)问题。方法就是通过动态规划来评估一个给定的策略,通过不断迭代最终得到最优价值函数。具体的做法有两个:一个是策略迭代,一个是值迭代...

  首先我们来安装python 1、首先进入网站下载:点击打开链接(或自己输入网址),进入之后如下图,选择图中红色圈中区域进行下载。 ...

  小憩之后,继续为你解读AndFix热修复框架,呵呵。上一篇Alibaba-AndFix Bug热修复框架的使用已经介绍了AndFix的使用,这篇主要介绍AndFix原理以及源码解析。AndFix原理A...

  VBcom的专栏Android百度地图实例详解之仿摩拜单车APP(包括附近车辆、规划路径、行驶距离、行驶轨迹记录,轨迹回放,导航等)

  kebu12345678的博客Android热更新初探,Bugly热更新的集成和使用(让你的应用轻松具备热更新能力)

  介绍  在介绍Bugly之前,需要先向大家简单介绍下一些热更新的相关内容。当前市面的热补丁方案有很多,其中比较出名的有阿里的AndFix、美团的Robust以及QZone的超级补丁方案。但它们都存在无...

  脚本开发方式:方式一:使用shell脚本方式; 1.下载vim for mac 2.打开搜索 , 输入ter,打开终端窗口 3.输入vim,进入vim的编辑界面 ...

  1. 前言 隐马尔科夫HMM模型是一类重要的机器学习方法,其主要用于序列数据的分析,广泛应用于语音识别、文本翻译、序列预测、中文分词等多个领域。虽然近年来,由于RNN等深度学习方法的发展,HMM模型...

  Java中的ThreadLocal类允许我们创建只能被同一个线程读写的变量。因此,如果一段代码含有一个ThreadLocal变量的引用,即使两个线程同时执行这段代码,它们也无法访问到对方的Thread...

  公司产品之前使用xmpp作为底层库,之前同事编译自己的sdk静态库想生成.a库,但是各种编译问题(其实耐心修改配置都能解决),但是从百度找到方案用framework可以解决,所以最终使用的是frame...

  “机器学习”是一个很实践的过程。就像刚开始学游泳,你在只在岸上比划一堆规定动作还不如先跳到水里熟悉水性学习来得快。以我们学习“机器学习”的经验来看,很多高大上的概念刚开始不懂也没关系,先写个东西来跑跑...

  连接池用于创建和管理数据库连接的缓冲池技术,缓冲池中的连接可以被任何需要他们的线程使用。当一个线程需要用JDBC对一个数据库操作时,将从池中请求一个连接。当这个连接使用完毕后,将返回到连接池中,等待为...

  最近比较有空,大四出来实习几个月了,作为实习狗的我,被叫去研究Docker了,汗汗! Docker的三大核心概念:镜像、容器、仓库 镜像:类似虚拟机的镜像、用俗话说就是安装文件。 容器:类似一个轻量...

  ATSHA204A加密芯片是ATMEL公司研发的一款高安全性的,功能丰富的加密IC,使用SHA-256算法进行加密操作,内置16*32字节的slot(EEPROM)可以存储用户数据和秘钥,唯一的9字节...

  本篇文章是根据我的上篇博客,给出的改进版,由于时间有限,仅做了一个简单的优化。相关文章:将excel导入数据库2018年4月1日,新增下载地址链接:点击打开源码下载地址十分抱歉,这个链接地址没有在这篇...

  Cocos2d-x 2.2.3 使用NDK配置编译环境2014年6月11日 Cocos2d-x 3.0以下的开发环境的配置恐怕折磨了很多人,使用cygwin配置编译环境足够让初学者蛋疼一阵子了。本篇博...

  jquery/js实现一个网页同时调用多个倒计时(最新的) 最近需要网页添加多个倒计时. 查阅网络,基本上都是千遍一律的不好用. 自己按需写了个.希望对大家有用. 有用请赞一个哦! //js ...

  蓝牙模块HC05遇到的一些常见的问题:楼主你好啊,我想问改了波特率(38400)才连上蓝牙的,那写的程序中用到的波特率是不是要用这个来写啊


[!--vurl--]