【深度学习与大模型基础】第8章-概率分布

一、概率质量函数

什么是概率质量函数?

概率质量函数是用来描述离散随机变量的概率分布的工具。它告诉我们,某个离散随机变量取某一个特定值的概率是多少。

举个例子:抛硬币

假设你有一个程序,模拟抛硬币的结果。硬币有两个可能的结果:

  • 正面(记为 1)

  • 反面(记为 0)

这里,抛硬币的结果就是一个离散随机变量,因为它只能取有限个值(0 或 1)。

概率质量函数的作用

概率质量函数会告诉我们:

  • 结果为 0(反面)的概率是多少?

  • 结果为 1(正面)的概率是多少?

假设硬币是公平的,那么:

  • P(X=0) = 0.5(反面概率是 50%)

  • P(X=1) = 0.5(正面概率是 50%)

这里的 P(X=0) 和 P(X=1) 就是概率质量函数的值。

计算机行业的例子:服务器请求的成功率

假设你有一个服务器,每天会收到 100 个请求。每个请求可能成功(记为 1)或失败(记为 0)。根据历史数据,你知道:

  • 请求成功的概率是 90%(P(X=1) = 0.9)

  • 请求失败的概率是 10%(P(X=0) = 0.1)

这里的 X 是一个离散随机变量(成功或失败),而 P(X=0) 和 P(X=1) 就是它的概率质量函数。

总结

概率质量函数就是用来描述离散随机变量取某个值的概率的函数。在计算机行业中,它可以用来分析:

  • 网络请求的成功率

  • 程序运行的结果(比如是否抛出异常)

  • 数据包是否丢失

  • 等等

它的特点是:

  1. 只针对离散随机变量(取值是有限的)。

  2. 每个取值的概率都在 0 到 1 之间。

  3. 所有取值的概率加起来等于 1。

python演示概率质量函数

复制代码
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import binom

# 定义二项分布的参数
n = 100  # 试验次数
p = 0.9  # 每次试验成功的概率

# 生成可能的取值范围
x = np.arange(0, n+1)

# 计算每个取值的概率质量函数
pmf = binom.pmf(x, n, p)

# 可视化概率质量函数
plt.figure(figsize=(14, 8))
plt.stem(x, pmf, basefmt=" ")
plt.title('二项分布的概率质量函数 (n={}, p={})'.format(n, p))
plt.xlabel('随机变量的取值')
plt.ylabel('概率')
plt.grid(True)
plt.show()

二、概率密度函数?

概率密度函数是用来描述连续随机变量的概率分布的工具。它告诉我们,某个连续随机变量在某个值附近出现的可能性有多大。

与概率质量函数(PMF)不同,概率密度函数不是直接给出某个值的概率,而是通过面积来表示概率。具体来说:

  • 概率密度函数的值本身不是概率,而是一个"密度"。

  • 概率是通过计算概率密度函数曲线下的面积来得到的。


举个例子:气温的变化

假设我们研究某个城市夏季的气温变化。气温是一个连续随机变量,因为它可以在一定范围内取任意值(比如 20°C 到 40°C)。

概率密度函数的作用

概率密度函数可以告诉我们:

  • 气温在某个范围内(比如 25°C 到 30°C)出现的概率有多大。

  • 气温在某个特定值(比如 28°C)附近的可能性有多高。

具体例子

假设气温的概率密度函数如下图所示:

  • 气温在 25°C 到 30°C 之间的概率密度较高,说明这个范围的气温比较常见。

  • 气温低于 20°C 或高于 35°C 的概率密度很低,说明这些极端气温很少出现。

如何计算概率?

如果我们想知道气温在 25°C 到 30°C 之间的概率,我们需要计算概率密度函数在这个区间内的曲线下的面积。这个面积就是概率。


概率密度函数的特点

  1. 连续随机变量:概率密度函数用于描述连续随机变量(比如气温、时间、长度等)。

  2. 密度值不是概率:概率密度函数的值可以大于 1,但它本身不是概率。概率是通过面积计算的。

  3. 总面积等于 1:概率密度函数曲线下的总面积等于 1,表示所有可能事件的概率总和为 100%。


计算机行业的例子:网络延迟

在计算机行业中,概率密度函数可以用来描述网络延迟的分布。比如:

  • 网络延迟是一个连续随机变量,可能从 0 毫秒到 1000 毫秒。

  • 概率密度函数可以告诉我们,延迟在 100 毫秒到 200 毫秒之间的概率有多大。


python演示概率密度函数

复制代码
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

# 定义正态分布的参数
mu = 500  # 均值
sigma = 100  # 标准差

# 生成可能的取值范围
x = np.linspace(0, 1000, 1000)

# 计算每个取值的概率密度函数
pdf = norm.pdf(x, mu, sigma)

# 可视化概率密度函数
plt.figure(figsize=(14, 8))
plt.plot(x, pdf, label='PDF', color='blue')
plt.title('正态分布的概率密度函数 (μ={}, σ={})'.format(mu, sigma))
plt.xlabel('网络延迟 (毫秒)')
plt.ylabel('概率密度')
plt.grid(True)
plt.legend()
plt.show()

# 计算延迟在100毫秒到200毫秒之间的概率
prob_100_to_200 = norm.cdf(200, mu, sigma) - norm.cdf(100, mu, sigma)
print('网络延迟在100毫秒到200毫秒之间的概率: {:.4f}'.format(prob_100_to_200))
相关推荐
故作春风6 小时前
手把手实现一个前端 AI 编程助手:从 MCP 思想到 VS Code 插件实战
前端·人工智能
人工智能训练6 小时前
在ubuntu系统中如何将docker安装在指定目录
linux·运维·服务器·人工智能·ubuntu·docker·ai编程
掘金一周6 小时前
没开玩笑,全框架支持的 dialog 组件,支持响应式| 掘金一周 11.6
前端·人工智能
CoovallyAIHub6 小时前
首个大规模、跨模态医学影像编辑数据集,Med-Banana-50K数据集专为医学AI打造(附数据集地址)
深度学习·算法·计算机视觉
熬了夜的程序员6 小时前
【LeetCode】101. 对称二叉树
算法·leetcode·链表·职场和发展·矩阵
电鱼智能的电小鱼6 小时前
基于电鱼 ARM 边缘网关的智慧工地数据可靠传输方案——断点续传 + 4G/5G冗余通信,保障数据完整上传
arm开发·人工智能·嵌入式硬件·深度学习·5g·机器学习
却道天凉_好个秋6 小时前
目标检测算法与原理(二):Tensorflow实现迁移学习
算法·目标检测·tensorflow
Juchecar6 小时前
翻译:Agentic AI:面向企业应用的智能
人工智能
武子康7 小时前
AI研究-121 DeepSeek-OCR 研究路线:无限上下文、跨模态抽取、未来创意点、项目创意点
人工智能·深度学习·机器学习·ai·ocr·deepseek·deepseek-ocr