现在位置: 首页 > AI 数学基础 > 正文

概率入门 -- 样本空间、事件与条件概率

概率论是 AI 处理不确定性的核心工具。从分类器输出到生成模型采样,概率无处不在。


概念解析

样本空间

所有可能结果的集合

掷骰子: {1,2,3,4,5,6}

事件

样本空间的子集

「偶数」= {2,4,6}

概率 P(A)

A 发生的可能性,[0,1]

0=不可能, 1=必然

条件概率:已知部分信息后更新判断

\[ P(A|B) = \frac{P(A \cap B)}{P(B)} \]

直觉:把样本空间缩小到 B 发生的范围,看 A 在其中占多大比例。

全概率公式:分情况汇总

\[ P(A) = \sum_i P(A|B_i) P(B_i) \]

生活例子

大数定律

掷 10 次硬币,可能是 4 正 6 反。掷 10000 次,正面比例一定非常接近 0.5。

次数越多,频率越稳——这是概率论的根基。


Python 动手实践

实例

import numpy as np

# 大数定律验证
for n in [10, 100, 1000, 10000]:
    tosses = np.random.choice(['H','T'], size=n)
    freq = np.mean(tosses == 'H')
    print(f"RUNOOB 掷{n:5d}次, 正面频率={freq:.4f}")

# 蒙提霍尔问题:换门胜率 2/3
def monty_hall(switch=True, trials=10000):
    wins = 0
    for _ in range(trials):
        car = np.random.randint(0, 3)
        choice = np.random.randint(0, 3)
        revealed = np.random.choice([d for d in range(3) if d != car and d != choice])
        if switch:
            choice = [d for d in range(3) if d != choice and d != revealed][0]
        wins += (choice == car)
    return wins/trials

print(f"\n蒙提霍尔: 不换={monty_hall(False):.3f}, 换={monty_hall(True):.3f} (理论: 1/3, 2/3)")

输出:

RUNOOB 掷   10次, 正面频率=0.8000
RUNOOB 掷  100次, 正面频率=0.5500
RUNOOB 掷 1000次, 正面频率=0.4870
RUNOOB 掷10000次, 正面频率=0.4987

蒙提霍尔: 不换=0.329, 换=0.663 (理论: 1/3, 2/3)

AI 中的应用场景

分类器的输出 = 概率分布

Softmax 输出每个类别的概率,所有类别概率之和为 1。模型不只告诉你「这是猫」,还告诉你「80% 概率是猫,15% 是狗,5% 是其他」。这种概率输出对风险评估、置信度校准至关重要。

生成模型 = 从概率分布中采样

VAE 从学到的潜在分布中采样生成新图片,GAN 从随机噪声分布采样生成逼真图像,扩散模型从纯噪声开始逐步去噪生成高清图片。这些生成过程的核心操作都是「从某个概率分布中采样」。

强化学习中的随机策略

策略梯度方法中,智能体的动作不是确定的,而是从策略网络输出的概率分布中采样(如 70% 向左、30% 向右)。这种随机性保证了探索——如果总是选最高概率的动作,可能永远发现不了更好的策略。