首页 > 其他分享 >利用pytorch深度学习框架验证骰子的合格性

利用pytorch深度学习框架验证骰子的合格性

时间:2023-04-26 20:37:40浏览次数:33  
标签:骰子 plt fair 验证 multinomial pytorch d2l counts probs

利用pytorch深度学习框架验证骰子的合格性

骰子生产的合格性可以用概率来表达,比如每个面出现的概率大概都是1/6

import torch
from d2l import torch as d2l
from torch.distributions import multinomial # 多次扔骰子出现每个面的概率服从多项式分布
fair_probs = torch.ones([6])/6 # 每个面的概率
  • 进行一组实验的一次抽样
    multinomial.Multinomial(1,fair_probs).sample()
  • 进行一组实验的10次抽样
    multinomial.Multinomial(10,fair_probs).sample()

张量里的元素对应每个面出现的次数,3代表出现0的次数为3

  • 进行一组实验的10000次抽样
    counts = multinomial.Multinomial(10000,fair_probs).sample()

可以看到随着抽样次数增加,每个面出现的次数趋于相等,也就是每个面出现的概率越接近

  • 进行500组实验,每组抽取10个样本
    counts = multinomial.Multinomial(10,fair_probs).sample((500,))#进行500组实验,每组抽取10个样本

    将结果按照x轴累加
    cum_counts = counts.cumsum(dim=0)
  • 将概率估计随着实验组数增加可视化
estimates = cum_counts/cum_counts.sum(dim=1,keepdims=True)
cum_counts.sum(dim=1,keepdims=True)
for i in range(6):
    d2l.plt.plot(estimates[:,i].numpy(),label=("P(die=" + str(i+1)+")"))
d2l.plt.axhline(y=0.167,color='black',linestyle='dashed')
d2l.plt.gca().set_xlabel('Groups of experiments')
d2l.plt.gca().set_ylabel('Estimated probability')
d2l.plt.legend()

可以看到随着实验组数增加,每个面的概率趋于1/6

标签:骰子,plt,fair,验证,multinomial,pytorch,d2l,counts,probs
From: https://www.cnblogs.com/bonne-chance/p/17357173.html

相关文章

  • struts2 登录(无验证)
    版本:struts-2.3.16.1开发工具:javaee版本的eclipse服务器:tomcat6新建工程,如图:要加的jar包如图:web.xml:<?xmlversion="1.0"encoding="UTF-8"?><web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/n......
  • struts2 验证
    工程如图:Java代码:packagecom.struts2.action;importcom.opensymphony.xwork2.ActionSupport;publicclassLoginActionextendsActionSupport{ privatestaticfinallongserialVersionUID=1L; privateStringusername; privateStringpassword; private......
  • react点击滑块验证
     css.wrap-num{width:300px;}@keyframesdefaultWave{0%{transform:scale(1);}20%{transform:scale(1.23);}40%{transform:scale(1);}100%{transform:scale(1);}}//旋转@keyframesloadingWave{0%{......
  • 面向车载通信的TSN网络原型下篇:效果验证
    前言  在上一篇文章中,我们概述性地介绍了北汇信息的面向车载通信的TSN网络原型上篇:原型概述。本篇文章将基于该原型,通过在多个场景中验证TSN协议的效果,向读者展示TSN在车载网络中的价值。通过实验验证,我们将深入了解TSN技术在车载网络中的实际应用和性能表现,为读者提供更为深......
  • 基于Haar分类和五官验证的人脸识别
    访问【WRITE-BUG数字空间】_[内附完整源码和文档]AdaBoost算法是1995年提出的一种快速人脸检测算法,是人脸检测领域里程碑式的进步,这种算法根据弱学习的反馈,适应性地调整假设的错误率,使在效率不降低的情况下,检测正确率得到了很大的提高。摘要:人脸检测是人脸分析的首要环节,其处理......
  • P.10-准备工作、P.11-数据库校验用户准备工作、P.12-数据库验证用户核心代码实现
    P.10-准备工作1.添加依赖<!--redis依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>......
  • pytorch自定义或自组织数据集
     importosfrompathlibimportPathfromtypingimportAny,Callable,Optional,TupleimportnumpyasnpimporttorchimporttorchvisionfromPILimportImageclassDatasetSelfDefine(torchvision.datasets.vision.VisionDataset):def__init__(......
  • 使用PyTorch和Flower 进行联邦学习
    本文将介绍如何使用Flower构建现有机器学习工作的联邦学习版本。我们将使用PyTorch在CIFAR-10数据集上训练卷积神经网络,然后将展示如何修改训练代码以联邦的方式运行训练。完整文章:https://avoid.overfit.cn/post/8d05a12c208c4f499573c9966d0fe415......
  • Pytorch可视化热力图
     可视化热力图可以有两种方式:1)特征图可视化,将各通道特征的最大值作为热力图像素值,进行可视化——可以参考博客,一种比较灵活的特征图保存方式2)根据梯度值结合特征图计算热力图,热力图的显示的重点是梯度高的地方,也是网络关注的重点 基于梯度进行热力图可视化有一些工作,如grad......
  • 表单验证
      ......