当前位置: 首页 > news >正文

ML 系列: 第 23 节 — 离散概率分布 (多项式分布)

目录

一、说明

二、多项式分布公式

2.1 多项式分布的解释

2.2 示例

2.3 特殊情况:二项分布

2.4 期望值 (Mean)

2.5 方差

三、总结

3.1 python示例


一、说明

伯努利分布对这样一种情况进行建模:随机变量可以采用两个可能的值(通常为 0 和 1)之一,表示二进制结果。此分发适用于单个试用版。当此二元实验重复 n 次时,得到的分布称为二项分布。

以类似的方式,Multinoulli 分布(或分类分布)将概念扩展到单个试验的 k 种可能结果。当具有 k 个结果的实验重复 n 次时,我们得到多项式分布。因此,多项分布描述了 n 次独立试验的结果,每项试验都遵循 Multinoulli 分布。

二、多项式分布公式

多项式分布的概率质量函数由下式给出:

哪里:

2.1 多项式分布的解释

  1. Number of Trials (n): This represents the total number of experiments or trials conducted.
  2. Possible Outcomes (k): Each trial can result in one of k possible outcomes. For example, if you roll a die, there are 6 possible outcomes (1 through 6).
  3. Outcome Counts (𝑥𝑖​): These are the counts of each outcome over the 𝑛n trials. For example, if you roll a die 10 times and get three 1’s, two 2’s, one 3, zero 4’s, three 5’s, and one 6, then 𝑥1=3, 𝑥2=2, 𝑥3=1, 𝑥4=0, 𝑥5=3, and 𝑥6=1.
  4. Outcome Probabilities (pi​): These are the probabilities of each outcome occurring in a single trial. For a fair die, 𝑝1 = 𝑝2 = 𝑝3 = 𝑝4 = 𝑝5 = 𝑝6 = 1/6
  5. Factorial Terms:
  • 𝑛!(n factorial) is the product of all positive integers up to n.
  • xi​! (x_i factorial) is the product of all positive integers up to xi​.

6. Probability Calculation:

2.2 示例

假设你进行了一个将一个公平的6面模具滚动10次的实验,你想找到这种情况下的概率:

此表指的是获得三个1、两个2、一个3、零4、三个5和一个6。在这里:

  • = 10
  • k = 6
  • x1 = 3, x2 = 2, x3 = 1, x4 = 0, x5 = 3, x6 = 1
  • p1 = p2 = p3 = p4 = p5 = p6 = 1/6

将这些代入公式中:

简化此操作可得到:

计算阶乘和最终概率:

因此,这个特定结果的概率约为 0.00021

2.3 特殊情况:二项分布

当 = 2 时,多项式分布简化为二项式分布。让我们看看它是如何工作的:

对于 k = 2:

  • x1 = x 和 x2 = n−x
  • p1 = p 和 p2 = 1−p

多项式公式变为:

这正是二项分布公式:

2.4 期望值 (Mean)

多项式分布中每个随机变量  的期望值 E[习] 由下式给出:

这意味着结果 i 出现的预期次数是试验总数 n 和结果 i pi 的概率的乘积。

2.5 方差

多项式分布中每个随机变量  的方差 Var(习) 由下式给出:

该公式表示结果 i 在其平均值附近出现的次数的可变性或分布。

三、总结

下面是一个汇总表,它根据参数 k 和 n 比较了伯努利分布、多重分布、二项式分布和多项式分布:

3.1 python示例

        绘制给定实验的分布图(将不公平的 6 面骰子掷 10 次并观察结果的具体计数):

import matplotlib.pyplot as plt# Data
n = 10
outcomes = [1, 2, 3, 4, 5, 6]
counts = [3, 2, 1, 0, 3, 1]# Define probabilities for an unfair dice
probabilities_unfair = [0.1, 0.1, 0.2, 0.1, 0.3, 0.2]  # Plotting
fig, ax1 = plt.subplots(figsize=(10, 6))# Bar plot for counts
ax1.bar(outcomes, counts, color='b', alpha=0.6, label='Counts')
ax1.set_xlabel('Outcomes')
ax1.set_ylabel('Counts', color='b')
ax1.set_xticks(outcomes)
ax1.set_title(f'Distribution of Rolling an Unfair 6-Sided Die {n} Times')# Line plot for probabilities (unfair)
ax2 = ax1.twinx()
ax2.plot(outcomes, probabilities_unfair, color='r', marker='o', linestyle='dashed', label='Probabilities (Unfair)')
ax2.set_ylabel('Probabilities (Unfair)', color='r')# Adding legends
ax1.legend(loc='upper left')
ax2.legend(loc='upper right')plt.show()

这是代码的输出:

        在机器学习系列的第 23节,我们探索了多项式分布,了解了它在多次试验中具有多种结果的场景中的应用。

相关文章:

ML 系列: 第 23 节 — 离散概率分布 (多项式分布)

目录 一、说明 二、多项式分布公式 2.1 多项式分布的解释 2.2 示例 2.3 特殊情况:二项分布 2.4 期望值 (Mean) 2.5 方差 三、总结 3.1 python示例 一、说明 伯努利分布对这样一种情况进行建模:随机变量可以采用两个可能的值&#…...

Webpack 1.13.2 执行 shell 命令解决 打印时没有背景色和文字颜色的问题

这是因为 Webpack 1.13.2 不支持新的插件钩子 API。Webpack 1 的插件系统使用的是 plugin 方法,而不是 Webpack 4 中的 hooks。 在 Webpack 1 中,你可以使用以下代码来确保 sed 命令在打包完成后执行: const { exec } require(child_proce…...

C++构造函数详解

构造函数详解:C 中对象初始化与构造函数的使用 在 C 中,构造函数是一种特殊的成员函数,它在创建对象时自动调用,用来初始化对象的状态。构造函数帮助我们确保每个对象在被创建时就处于一个有效的状态,并且在不传递任何…...

POI实现根据PPTX模板渲染PPT

目录 1、前言 2、了解pptx文件结构 3、POI组件 3.1、引入依赖 3.2、常见的类 3.3、实现原理 3.4、关键代码片段 3.4.1、获取ppt实例 3.4.2、获取每页幻灯片 3.4.3、循环遍历幻灯片处理 3.4.3.1、文本 3.4.3.2、饼图 3.4.3.3、柱状图 3.4.3.4、表格 3.4.3.5、本地…...

【论文模型复现】深度学习、地质流体识别、交叉学科融合?什么情况,让我们来看看

文献:蓝茜茜,张逸伦,康志宏.基于深度学习的复杂储层流体性质测井识别——以车排子油田某井区为例[J].科学技术与工程,2020,20(29):11923-11930. 本文目录 一、前言二、文献阅读-基于深度学习的复杂储层流体性质测井识别2.1 摘要2.2 当前研究不足2.3 本文创新2.4 论文…...

树的直径计算:算法详解与实现

树的直径计算:算法详解与实现 1. 引言2. 算法概述3. 伪代码实现4. C语言实现5. 算法分析6. 结论在图论中,树的直径是一个关键概念,它表示树中任意两点间最长路径的长度。对于给定的树T=(V,E),其中V是顶点集,E是边集,树的直径定义为所有顶点对(u,v)之间最短路径的最大值。…...

conda创建 、查看、 激活、删除 python 虚拟环境

1、创建 python 虚拟环境 ,假设该环境命名为 “name”。 conda create -n name python3.11 2、查看 python 虚拟环境。 conda info -e 3、激活使用 python 虚拟环境。 conda activate name 4、删除 python 虚拟环境 conda remove -n name --all ​​ 助力快速掌握数据集…...

vs2022搭建opencv开发环境

1 下载OpenCV库 https://opencv.org/ 下载对应版本然后进行安装 将bin目录添加到系统环境变量opencv\build\x64\vc16\bin 复制该路径 打开高级设置添加环境变量 vs2022新建一个空项目 修改属性添加头文件路径和库路径 修改链接器,将OpenCV中lib库里的o…...

NVIDIA NIM 开发者指南:入门

NVIDIA NIM 开发者指南:入门 NVIDIA 开发者计划 想要了解有关 NIM 的更多信息?加入 NVIDIA 开发者计划,即可免费访问任何基础设施云、数据中心或个人工作站上最多 16 个 GPU 上的自托管 NVIDIA NIM 和微服务。 加入免费的 NVIDIA 开发者计…...

探索Python网络请求新纪元:httpx库的崛起

文章目录 **探索Python网络请求新纪元:httpx库的崛起**第一部分:背景介绍第二部分:httpx库是什么?第三部分:如何安装httpx库?第四部分:简单的库函数使用方法1. 发送GET请求2. 发送POST请求3. 超…...

学了Arcgis的水文分析——捕捉倾泻点,河流提取与河网分级,3D图层转要素失败的解决方法,测量学综合实习网站存着

ArcGIS水文分析实战教程(7)细说流域提取_汇流域栅格-CSDN博客 ArcGIS水文分析实战教程(6)河流提取与河网分级_arcgis的dem河流分级-CSDN博客 ArcGIS水文分析实战教程(5)细说流向与流量-CSDN博客 ArcGIS …...

QQ 小程序已发布,但无法被搜索的解决方案

前言 我的 QQ 小程序在 2024 年 8 月就已经审核通过,上架后却一直无法被搜索到。打开后,再在 QQ 上下拉查看 “最近使用”,发现他出现一下又马上消失。 上线是按正常流程走的,开发、备案、审核,没有任何违规&#xf…...

【C++】拷贝构造 和 赋值运算符重载

目录: 一、拷贝构造 (一)拷贝函数的特点 二、赋值运算符重载 (一)运算符重载 (二)赋值运算符重载 正文 一、拷贝构造 如果一个构造函数的第一个参数是自身类类型的引用,且任何…...

21.UE5游戏存档,读档,函数库

2-23 游戏存档、读档、函数库_哔哩哔哩_bilibili 目录 1.存档蓝图 2.函数库 2.1保存存档 2.2读取存档: 3.加载游戏,保存游戏 3.1游戏实例对象 3.2 加载游戏 3.3保存游戏 这一节的内容较为错综复杂,中间没有运行程序进行阶段性成果的验…...

「Mac玩转仓颉内测版14」PTA刷题篇5 - L1-005 考试座位号

本篇将继续讲解PTA平台上的题目 L1-005 考试座位号,通过考生准考证号与座位号的对应关系,掌握简单的数据查询与映射操作,进一步提升Cangjie编程语言的实际应用能力。 关键词 PTA刷题数据查询映射操作输入输出Cangjie语言 一、L1-005 考试座位…...

Vue3引用高德地图,进行位置标记获取标记信息

首先安装地图插件 cnpm i amap/amap-jsapi-loader --save封装地图子组件 <template><el-dialogtitle"选择地点"width"740px"class"select-map-dialog"v-model"dialogShow":close-on-click-modal"false":modal-or…...

《C++设计模式:重塑游戏角色系统类结构的秘籍》

在游戏开发领域&#xff0c;游戏角色系统的类结构设计至关重要。一个良好的类结构可以使游戏更易于扩展、维护和优化&#xff0c;而 C中的设计模式为我们提供了强大的工具来实现这一目标。 一、理解游戏角色系统的复杂性 游戏角色系统通常具有高度的复杂性。每个角色都有自己…...

深入浅出 Go 语言:现代编程的高效选择

深入浅出 Go 语言:现代编程的高效选择 引言 Go 语言(也称 Golang)是由 Google 开发的一种现代编程语言,面向高效、简单和并发。自 2009 年问世以来,它已迅速成长为许多企业和开发者首选的语言,尤其是在后端开发、云计算和微服务领域。 本文旨在从 Go 语言的设计哲学、…...

RDIFramework.NET CS敏捷开发框架 V6.1发布(.NET6+、Framework双引擎、全网唯一)

RDIFramework.NET C/S敏捷开发框架V6.1版本迎来重大更新与调整&#xff0c;全面重新设计业务逻辑代码&#xff0c;代码量减少一半以上&#xff0c;开发更加高效。全系统引入全新字体图标&#xff0c;整个界面焕然一新。底层引入最易上手的ORM框架SqlSugar&#xff0c;让开发更加…...

vue路由的钩子函数?

在 Vue 中&#xff0c;路由的钩子函数可以用来在导航过程中执行一些操作&#xff0c;比如进行权限验证、页面加载前后的处理等。常用的路由钩子函数包括全局前置守卫、全局解析守卫、全局后置钩子以及路由独享守卫。下面是这些路由守卫函数的简要说明&#xff1a; 全局前置守卫…...

Python AI用例生成效率实战手册(企业级自动化工作流全拆解)

第一章&#xff1a;Python AI用例生成效率的核心价值与企业级定位在AI工程化落地加速的当下&#xff0c;Python凭借其丰富的生态&#xff08;如LangChain、LlamaIndex、transformers、scikit-learn&#xff09;和低门槛的可编程性&#xff0c;已成为企业构建AI用例生成流水线的…...

【仅限首批尝鲜者】Python 3.15 JIT真实生产环境对比:Django API吞吐+22%,但Flask微服务却降15%?

第一章&#xff1a;Python 3.15 JIT编译器的架构演进与设计哲学Python 3.15 引入了实验性但高度结构化的内置 JIT 编译器&#xff08;代号 “Tartan”&#xff09;&#xff0c;标志着 CPython 首次将即时编译能力深度集成至解释器核心&#xff0c;而非依赖外部工具链。其设计哲…...

Detectron2特征图热力可视化实战:从Faster R-CNN到自定义网络

1. 为什么需要特征图热力可视化 当你训练一个目标检测模型时&#xff0c;有没有遇到过这样的困惑&#xff1a;模型在某些场景下表现很好&#xff0c;但在另一些场景却频频出错&#xff1f;作为算法工程师&#xff0c;我们往往只能看到最终的检测结果&#xff0c;却不知道模型内…...

ClickHouse 3节点集群配置与分布式表实战指南

1. ClickHouse集群基础概念解析 第一次接触ClickHouse集群时&#xff0c;我被各种术语绕得头晕——分片、副本、分布式表、本地表&#xff0c;这些概念到底有什么区别&#xff1f;后来在实际项目中踩过几次坑才真正理解它们的含义。简单来说&#xff0c;**分片&#xff08;Shar…...

OpenClaw成本控制:GLM-4.7-Flash任务执行的Token消耗优化策略

OpenClaw成本控制&#xff1a;GLM-4.7-Flash任务执行的Token消耗优化策略 1. 为什么需要关注OpenClaw的Token消耗&#xff1f; 第一次用OpenClaw完成整夜的数据整理任务后&#xff0c;我收到了账单提醒——单次任务消耗了超过18万Token。这个数字让我意识到&#xff0c;如果不…...

论人机协同中的模糊性与不确定性

在人工智能从"工具辅助"向"智能伙伴"演进的过程中&#xff0c;人机协同正突破传统"人主导-机执行"的单向模式&#xff0c;形成双向认知交互的新型协作关系。这种关系的复杂性远超简单的人机分工——人类认知的模糊性&#xff08;Fuzziness&#…...

怎样让AI真正操作你的电脑?5个实战场景深度解析Open Computer Use

怎样让AI真正操作你的电脑&#xff1f;5个实战场景深度解析Open Computer Use 【免费下载链接】open-computer-use Secure AI computer use powered by E2B Desktop Sandbox 项目地址: https://gitcode.com/gh_mirrors/op/open-computer-use 你是否曾想过让AI助手不只是…...

JBoltAI企业级Agent平台,重构业务服务新范式

随着AI技术从内容生成走向服务重塑&#xff0c;企业智能化建设已进入Agent驱动的新阶段。JBoltAI立足Java原生企业级架构&#xff0c;以AIGS&#xff08;人工智能生成服务&#xff09;为核心范式&#xff0c;面向企业复杂业务场景&#xff0c;正式构建企业级Agent平台&#xff…...

别再只盯着顶刊了!这5本AI领域的SCI期刊,投稿友好、审稿快,适合你的第一篇论文

5本AI领域高性价比SCI期刊&#xff1a;避开顶刊内卷的投稿策略 在人工智能研究领域&#xff0c;发表SCI论文是衡量学术成果的重要指标。然而&#xff0c;Nature Machine Intelligence、IEEE TPAMI等顶刊的投稿竞争异常激烈&#xff0c;审稿周期动辄半年以上&#xff0c;对创新性…...

【2026年小红书春招- 3月25日 -第三题- 字符置换】(题目+思路+JavaC++Python解析+在线测试)

题目内容 为了提升小红书笔记标签的可读性,我们计划对标签字符串进行一次双向字符置换操作,以获得更小的字典序结果。 具体地,给定一个长度为 nnn 的字符串 sss(下标从 $1 开始),你可以进行一次如下操作:选取三个整数开始),你可以进行一次如下操作: 选取三个整数...