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

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节,我们探索了多项式分布,了解了它在多次试验中具有多种结果的场景中的应用。


http://www.kler.cn/a/399637.html

相关文章:

  • 搭建Spring gateway网关微服务
  • Java基础-Java中的常用类(上)
  • JavaScript中如何使用Promise处理异步操作?
  • 【计算机网络】协议定制
  • Redis实战案例(黑马点评)
  • redis和mongodb等对比分析
  • SpringBoot开发——整合 apache fileupload 轻松实现文件上传与下载
  • Freemarker模板 jar!/BOOT-INF/classes!/**.html
  • 编译安卓SDK时出现:600:26 test android/soong/ui/build/paths的解决方案
  • Swift 宏(Macro)入门趣谈(二)
  • 【网络安全】记一次APP登录爆破
  • 抖音热门素材去哪找?优质抖音视频素材网站推荐!
  • Flutter网络通信-封装Dio
  • 网络安全:数字时代的护城河
  • 机器学习笔记2 - 机器学习的一般流程
  • Unity-Editor扩展Odin + 自定义EditorWindow记录
  • Python正则表达式中re.M 是什么意思
  • Big Data for AI实践:面向AI大模型开发和应用的大规模数据处理套件
  • 【WPF】Prism学习(四)
  • 深入浅出 Go 语言:现代编程的高效选择
  • 【PGCCC】Postgresql 存储设计
  • Flink运行时架构以及核心概念
  • 基于SpringBoot+Vue的船舶维保管理系统(带1w+文档)
  • UE5的线程同步机制
  • 鸿蒙HarmonyOS 地图定位到当前位置 site查询等操作
  • Rewar Model的输出(不包含训练)