dedecms 如何关闭网站,好的俄文网站设计,泰州网站建设工作,wordpress主题的使用译者#xff1a;大表哥、wiige来源#xff1a;AI研习社什么是蒙特卡罗模拟#xff1f;蒙特卡罗方法是一种使用随机数和概率来解决复杂问题的技术。蒙特卡罗模拟或概率模拟是一种技术#xff0c;用于了解金融部门、项目管理、成本和其他预测机器学习模型中风险和不确定性的影… 译者大表哥、wiige来源AI研习社什么是蒙特卡罗模拟蒙特卡罗方法是一种使用随机数和概率来解决复杂问题的技术。蒙特卡罗模拟或概率模拟是一种技术用于了解金融部门、项目管理、成本和其他预测机器学习模型中风险和不确定性的影响。风险分析几乎是我们做出的每一个决定的一部分因为我们在生活中经常面临不确定性、模糊性和变化无常。此外即使我们拥有前所未有的信息获取渠道我们也不能准确预测未来。蒙特卡洛模拟使我们能够看到决策的所有可能结果并评估风险影响从而在不确定的情况下更好地做出决策。在本文中我们将通过五个不同的例子来理解蒙特卡罗模拟方法。应用领域金融、项目管理、能量、制造业、工程学、研究和开发、保险、石油和天然气公司、交通、环境等。举例:抛硬币示例用圆和平方估计PI三门问题蒲丰投针问题为什么赌场总是赚的抛硬币示例 抛硬币中奖的概率是1/2。但是我们有没有办法从实验上证明这一点呢在这个例子中我们将使用蒙特卡罗方法迭代地模拟抛硬币5000次以找出为什么头部或尾巴的概率总是1/2。如果我们重复抛硬币很多很多次那么我们可以在概率值的准确答案上获得更高的精确度。在这个例子中我们将使用Monte-Carlo方法反复模拟抛硬币5000次以找出头部或尾部的概率始终是1/2的概率。正面和反面数学表示在抛硬币时正面和反面硬币的公式示例接下来我们将用蒙特卡罗方法对这个公式进行实验证明。Python实现1.导入所需的库为我们的抛硬币示例导入所需的库2.投币功能一个简单的函数将结果随机排列在0和1之间头部为0尾部为13.检查函数输出运行Coin_Flip()函数4.主要功能计算概率并将概率值附加到结果5.调用main函数调用Monte Carlo主函数并绘制最终值如图8所示我们显示在5,000次迭代之后获得尾部的概率为0.502。因此这就是我们可以如何使用蒙特卡罗模拟来通过实验找到概率的方法。使用圆形和正方形估算PI圆形和正方形的简单面积分别计算圆形和正方形的面积要估计PI的值我们需要正方形的面积和圆的面积。为了找到这些区域我们将在表面上随机放置点并计算落在圆内的点和落在正方形内的点。这将给我们一个估计的面积。因此我们将使用点数作为面积而不是使用实际面积。在下面的代码中我们使用Python的Turtle模块来查看点的随机放置。python实现1.导入需要的库为我们的π示例导入所需的库2.可视化这些点绘制图形3.初始化部分必填数据初始化数据值4.主要功能实现主功能5.绘制数据绘制数据值6.输出图15使用蒙特卡罗方法的π近似。值的数据可视化值的数据可视化如上图所示我们可以看到经过5000次迭代后我们可以得到PI的近似值。另外请注意随着迭代次数的增加估计误差也呈指数下降。三门问题假设你正在参加一个游戏节目你可以从三扇门中选择一扇一扇门后面是一辆汽车另一扇门后面是山羊。你选了一扇门假设是1号门主人谁知道门后面有什么就打开另一扇门比如说3号门里面有一只山羊。主人然后问你你是坚持自己的选择还是选择另一扇门 选择不同的门对你有好处吗 事实证明从概率上说打开门对我们有利。具体分析导入所需库2. 初始化数据初始化代表门的枚举变量和存储概率值的列表3. Main函数用蒙特卡洛模拟来实现主函数.4. 调用main函数调用主函数模拟1000次博弈5. 输出得到坚持自己的选择或换门的近似获胜概率.在上图中我们发现在1000次模拟后如果我们换门获胜概率是0.669。因此我们确信在本例中换门对我们更有利.蒲丰投针问题法国贵族Georges-Louis Leclerc,即蒲丰公爵在1777年提出了这样一个问题若在一张绘有等距平行线的纸上随意抛一根短针求针和任意一条线相交的概率 概率取决于方格纸的线间距(d)和针长度(l)——或者说它取决于l/d的比值。在这个例子里我们可以认为针长度l≤d。简而言之我们假设了针不能同时相交于两条不同的线。令人惊讶的是蒲丰针问题的答案与PI相关。这里我们将使用用蒙特卡洛法来解蒲丰投针问题顺便估计出PI的值。不过在此之前我们要先展示一下解法是如何推导出来的这样会更有趣。定理:如果一根长为l的短针落在一张纸上而纸上画有距离d≥l的等距线那么针与任一条线相交的概率为:蒲丰投针定理证明:蒲丰投针问题的可视化首先我们需要统计出与任意垂线相交的针的数量。若针与任意一条线相交对于特定的θ值针与垂线相交的最大和最小可能值为最大可能值:最大概率值2. 最小可能值:最小可能值因此, 对于特定的θ值针在垂线上的概率是:针与垂线相交的概率公式这个概率公式局限于特定θ值在本实验中θ的范围是0到pi/2。所以我们需要对所有的θ值做一个积分得到投针相交的实际概率.对所有θ值积分的投针相交概率公式PI的估计值由蒲丰投针问题来估计PI:接下来我们要用上面的公式来进行实验求得PI值.求PI值现在因为我们已经知道了l和d的值所以只要求得了P的值我们就可以推知PI的值。而要得到概率P必须要知道相交针数和总针数, 这里的总针数是已知的.下图是计算相交针数的直观图解.可视化表示如何计算针的数量Python 实现:Import 所需的库:导入所需库2. Main 函数:用蒙特卡洛方法模拟蒲丰投针3. 调用main函数:调用main函数模拟蒲丰投针4. 输出:使用蒙特卡洛方法模拟100次投针的数据如上图所示经过100次的模拟蒙特卡洛法就能得出一个非常接近PI的值。为什么赌场总是赚的赌场是怎么赚钱的诀窍很简单--“你玩得越多他们赚的就越多。” 让我们通过一个简单的蒙特卡罗模拟示例来看看这是如何工作的。考虑一个假想的游戏玩家必须从一袋筹码中选择一个筹码。规则袋子里有数字从1到100的筹码。用户可以押注于偶数或奇数筹码。在这个游戏中10和11是特殊的数字。如果我们赌偶数那么10就算奇数如果我们赌赔率那么11就算偶数。如果我们赌偶数我们得了10那么我们就输了。如果我们赌的是奇数我们得了11那么我们就输了。如果我们以赔率下注我们获胜的概率为49/100。获胜的概率为51/100。因此对于一个奇数下注彩池优势为 51 / 100–49 / 100 200/10000 0.02 2如果我们打赌偶数则用户获胜的概率为49/100。获胜的概率为51/100。因此对于一个奇数下注彩池优势为 51 / 100–49 / 100 200/10000 0.02 2综上所述每下注1美元就会有0.02美元下注。相比之下轮盘上最低的单一0优势是2.5。因此我们可以肯定与轮盘赌相比您在假想的游戏中获胜的机会更大。Python 实现Import所需的库:导入赌场模拟所需的库2. 玩家下注:在下注奇数或偶数3. Main 函数:使用蒙特卡洛方法模拟赌场行为4. 最终输出:计算并展示计算结果5. 模拟1000次试试:模拟1000次6. 下注数 5图43: 下注5次时的结果可视化 .7. 下注数 10:图44: 下注10次时的结果可视化.8. 下注数 1000:下注1000次时的结果可视化 9. 下注数 5000:下注5000次时的结果可视化 10. 下注数 10000:下注10000次时的结果可视化从上面的实验中我们可以看到如果玩家在赌博中下注较少那么有得赚的机会就比较大。有时候实验会得到负数这意味着玩家输得倾家荡产负债累累而不是单车变路虎.请注意, 这些比例源于为促进理解的非真实场景认不赌为赢.结论就像任何预测模型一样 模拟结果只有我们的估计值才是好的 重要的是要记住蒙特卡洛模拟只代表概率而不是确定性。尽管如此在预测未知的未来时蒙特卡洛模拟是一个有价值的工具。AI研习社是AI学术青年和开发者社区为大家提供一个顶会资讯、论文解读、数据竞赛、求职内推等的技术交流阵地欢迎登陆www.yanxishe.com加入我们吧投稿、转载、媒介合作联系微信号 | bajiaojiao-sz商务合作联系微信号 | LJ18825253481