【深度学习与大模型基础】第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))
相关推荐
巫山老妖7 小时前
2026 年 AI 趋势深度研究报告
人工智能
CodeLove·逻辑情感实验室7 小时前
深度解析:当 NLP 试图解构爱情——情感计算(Affective Computing)的伦理边界与技术瓶颈
人工智能·深度学习·自然语言处理·赛朋克
少林码僧8 小时前
2.9 字段分箱技术详解:连续变量离散化,提升模型效果的关键步骤
人工智能·ai·数据分析·大模型
互联网工匠8 小时前
从冯·诺依曼架构看CPU和GPU计算的区别
人工智能·gpu算力
爱笑的眼睛118 小时前
超越可视化:降维算法组件的深度解析与工程实践
java·人工智能·python·ai
GISer_Jing8 小时前
AI Agent 目标设定与异常处理
人工智能·设计模式·aigc
Fnetlink18 小时前
AI+零信任:关键基础设施安全防护新范式
人工智能·安全
njsgcs8 小时前
SIMA2 论文阅读 Google 任务设定器、智能体、奖励模型
人工智能·笔记
清铎8 小时前
leetcode_day12_滑动窗口_《绝境求生》
python·算法·leetcode·动态规划
linweidong8 小时前
嵌入式电机:如何在低速和高负载状态下保持FOC(Field-Oriented Control)算法的电流控制稳定?
stm32·单片机·算法