####答案

针对《动手学深度学习》2.6 节“概率”末尾的习题,以下是详细的解析与参考答案。这些练习旨在帮助你从直觉过渡到严谨的概率思维。

  1. 我们进行了 m=500 组实验,每组抽取 n=10 个样本。改变 m 和 n,观察并分析实验结果。
    解析:
  • 增加 n(每组样本量): 每一组的估计值会更接近真实概率。因为单次实验的样本量越大,单次采样的随机偏差(噪声)就会减小。
  • 增加 m(组数): 图像横轴会拉长。你会看到随着时间推移,估计曲线变得更加平滑,最终所有曲线都会紧紧围绕在 1/6 \approx 0.167 附近。
  • 结论: 这验证了大数定律。更多的总样本量(m \times n)意味着更高的估计精度。
  1. 给定两个概率分别为 P(\mathcal{A}) 和 P(\mathcal{B}) 的事件,计算 P(\mathcal{A} \cup \mathcal{B}) 和 P(\mathcal{A} \cap \mathcal{B}) 的上限和下限。
    这是一道纯数学推导题,考察对集合包含关系的理解。
    | 目标 | 下限 (Lower Bound) | 上限 (Upper Bound) |
    |—|—|—|
    | P(\mathcal{A} \cup \mathcal{B}) | \max(P(\mathcal{A}), P(\mathcal{B})) | \min(1, P(\mathcal{A}) + P(\mathcal{B})) |
    | P(\mathcal{A} \cap \mathcal{B}) | \max(0, P(\mathcal{A}) + P(\mathcal{B}) - 1) | \min(P(\mathcal{A}), P(\mathcal{B})) |
    提示:
  • 上限: 当一个事件完全包含另一个事件时,交集达到最大。
  • 下限: 当两个事件尽可能“远离”时(互斥),并集达到最大或交集达到最小。
  1. 假设我们有一系列随机变量,例如 A、B 和 C,其中 B 只取决于 A,而 C 只取决于 B。你能简化联合概率 P(A, B, C) 吗?
    解析:
    根据概率的乘法法则(Chain Rule),任何联合概率都可以展开为:

P(A, B, C) = P(C | A, B) \cdot P(B | A) \cdot P(A)
根据题目条件:

  • B 只取决于 A \implies P(B | A) 保持不变。
  • C 只取决于 B \implies P(C | A, B) = P(C | B)(即已知 B 时,C 与 A 独立)。
    结论(简化公式):

P(A, B, C) = P(C | B) \cdot P(B | A) \cdot P(A)

注意: 这就是深度学习中马尔可夫链 (Markov Chain) 的基本表达式。

  1. 贝叶斯定理练习(经典艾滋病检测问题)
    题目背景: 假设某疾病发病率为 0.001。检测准确率为 95%(即如果有病,检测呈阳性的概率为 0.95;如果没有病,检测呈阴性的概率也是 0.95)。如果你检测呈阳性,你实际患病的概率是多少?
    解析:
    已知条件:
  • P(\text{H}) = 0.001(患病)
  • P(\text{pos} | \text{H}) = 0.95(有病且阳性)
  • P(\text{pos} | \text{not H}) = 1 - 0.95 = 0.05(没病但误报为阳性)
    使用贝叶斯公式计算 P(\text{H} | \text{pos}):

P(\text{H} | \text{pos}) = \frac{P(\text{pos} | \text{H}) P(\text{H})}{P(\text{pos})}
其中分母(全概率):
P(\text{pos}) = P(\text{pos} | \text{H})P(\text{H}) + P(\text{pos} | \text{not H})P(\text{not H})
P(\text{pos}) = (0.95 \times 0.001) + (0.05 \times 0.999) = 0.00095 + 0.04995 = 0.0509
计算结果:

P(\text{H} | \text{pos}) = \frac{0.00095}{0.0509} \approx 0.0187
结论: 尽管检测准确率高达 95%,但如果你检测呈阳性,你实际患病的概率只有约 1.87%。这是因为基础发病率极低,导致误报的数量远超过实际患病人数。
这些练习题对理解机器学习中的“先验概率”和“后验概率”至关重要。你需要我针对其中某一部分(比如代码实现或公式推导)进行更深入的演示吗?

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐