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

CS50ai: week2 Uncertainty我的笔记B版——当 AI 开始“承认不确定”

前言:当 AI 开始“承认不确定”

我们总想让 AI 像数学证明一样给出“确定”的答案,可现实世界处处充满不确定:传感器有噪声、天气会变脸、骰子看心情。于是,概率登场了。它允许我们“在不确定里做确定的事”——用数字表达“有多大可能”,再用推理把这些可能性转成可靠判断。本篇带你从零走到能看懂贝叶斯网络与隐马尔可夫模型(HMM)的入门级实战思维。保证好懂,偶尔俏皮,但公式绝不含糊。


一、概率的“可能世界”视角

  • 可能世界 Ω 与事件 ω
  • 把一次随机过程(掷骰子、明天下雨与否)看作从“所有可能世界”Ω 中挑一个世界 ω。
  • 基本公理:
  • 0≤P(ω)≤10≤P(ω)≤1
  • ∑ω∈ΩP(ω)=1∑ω∈Ω​P(ω)=1

这俩公理是“概率不会超界,所有可能性加总必为 1”的数学化表达。


二、无条件概率与条件概率:知道与“已知”

  • 无条件概率(unconditional):没有任何证据时的信念程度。
  • 条件概率(conditional):在已知证据 b 的前提下,a 成立的概率。
  • 记法:P(a∣b)P(a∣b),“a given b”
  • 定义与等价式:

一句人话:在 b 的世界里,a 占的比例,就是 P(a∣b)P(a∣b)。


三、随机变量与概率分布:把“可能状态”列表化

  • 随机变量(Random Variable):变量的取值来自一个离散集合(域)。
  • 例:Weather ∈ {sun, cloud, rain, wind, snow}
  • 例:Flight ∈ {on time, delayed, cancelled}
  • 概率分布:给每个可能值一个概率:
  • 例:Flight 的分布
  • P(on time)=0.6P(on time)=0.6, P(delayed)=0.3P(delayed)=0.3, P(cancelled)=0.1P(cancelled)=0.1
  • 向量记法:P(Flight)=⟨0.6,0.3,0.1⟩P(Flight)=⟨0.6,0.3,0.1⟩(顺序很重要)

四、独立与“不独立”:别把“云”和“雨”当陌生人

  • 独立(Independence):知道一个事件发生,不改变另一个的概率。
  • 若独立:
  • 骰子红蓝两颗是独立的;“多云”和“下雨”显然常常不是独立。

独立≠永远,建模要靠常识与数据判断。


五、贝叶斯公式:交换条件的魔法

  • 贝叶斯规则:
    P(b∣a)=P(a∣b)P(b)​/P(a)
  • 小例子(“早上多云→下午下雨?”):
  • 已知:80% 的“下午下雨”日有“早上多云”;40% 天“早上多云”;10% 天“下午下雨”。
  • 直觉翻译:知道“效应|原因”,就能算“原因|效应”。医学检测、欺诈识别常用这招。

六、联合概率与常用规则:四个“口袋公式”

  • 联合概率:多个事件同时发生的概率,写作 P(a,b)P(a,b) 或 P(a∧b)P(a∧b)。
  • 否定:P(¬a)=1−P(a)P(¬a)=1−P(a)
  • 容斥(并集):P(a∨b)=P(a)+P(b)−P(a∧b)P(a∨b)=P(a)+P(b)−P(a∧b)
  • 边缘化(求和外变量):
  • 二元布尔版:P(a)=P(a,b)+P(a,¬b)P(a)=P(a,b)+P(a,¬b)
  • 多值版:对另一个随机变量的所有取值求和。
  • 条件化:P(a)=P(a∣b)P(b)+P(a∣¬b)P(¬b)P(a)=P(a∣b)P(b)+P(a∣¬b)P(¬b)

这些是做题“随手掏”的工具箱。


七、从“联合变条件”:比例与归一化的技巧

当我们要算 P(C∣rain)P(C∣rain),常用“成比例再归一化”的办法:

P(C∣rain)=αP(C,rain)P(C∣rain)=αP(C,rain)

若已知 P(C,rain)=⟨0.08,0.02⟩P(C,rain)=⟨0.08,0.02⟩(对应“多云/不多云”),把它按比例缩放到和为 1:

α⟨0.08,0.02⟩=⟨0.8,0.2⟩α⟨0.08,0.02⟩=⟨0.8,0.2⟩

这就是“先算分子,再除以分母”的简写法(分母是常数,最后统一归一化)。


八、贝叶斯网络:把依赖“画出来”

  • 定义:一种有向图结构,节点是随机变量,边表示依赖;每个节点有局部分布:

    P(X∣Parents(X))P(X∣Parents(X))

  • 直观理解:父节点像“原因”,孩子像“结果”。只需给出每个节点“看着父母”的条件分布,整个网络的联合分布就确定了。
  • 计算联合概率(例):

P(Appointment | light, no) = α * P(Appointment, light, no)

P(Appointment, light, no) = P(Appointment, light, no, on time) + P(Appointment, light, no, delayed)

等于四个节点各自“看着父母”的概率连乘。

  • 枚举推断(Inference by Enumeration):

    P(X∣e)=α∑yP(X,e,y)P(X∣e)=αy∑​P(X,e,y)

  • X:查询变量;e:已知证据;y:所有隐藏变量的取值组合;α:归一化常数。
  • 一句话:把未知的都“枚举求和”,把已知的“代进去”,最后“归一化”。

小提示:实际工程里会用库(如 pomegranate)构图、填表、做推断,避免手算崩溃。


九、近似推断:不会“精确”,那就“足够好”

当网络变大、变量变多,精确枚举就吃不消了。采样来救场。

  • 直接采样(Prior Sampling):按拓扑序,从根到叶“按条件分布抽签”,得到一个完整样本。抽很多次,用样本频率近似概率。
  • 拒绝采样(Rejection Sampling):只保留与证据匹配的样本,不匹配就丢掉。证据稀有时效率很低(丢太多)。
  • 似然加权(Likelihood Weighting):
  • 固定证据变量(不再抽它们)。
  • 对非证据变量继续条件采样。
  • 每个样本赋权重 = “证据出现的似然”(对应条件表里的概率)。
  • 用“带权频率”估计目标分布。比拒绝采样稳很多。

选型口诀:证据稀有 → 少用拒绝采样;想稳妥 → 试试似然加权。


十、马尔可夫假设与马尔可夫链:时间上的“只记昨天”

  • 马尔可夫假设:当前状态只依赖有限个前态(最常用:只依赖“上一时刻”)。
  • 马尔可夫链(MC):满足马尔可夫假设的一串状态变量:
  • 转移模型(例如天气):
  • 若今天晴,明天晴 0.80.8,明天雨 0.20.2
  • 若今天雨,明天雨 0.70.7,明天晴 0.30.3
  • 你可以用它来“滚动预测”未来若干步,或做长期行为分析。

十一、传感器模型与隐马尔可夫模型(HMM)

现实中,真实状态常常“看不见”(hidden),我们只有“能观测”的信号(observation)。

  • 传感器/发射模型(Emission):状态如何“产生”观测的概率。
  • 例:若下雨,带伞概率高;若晴天,带伞概率低但不为 0。
  • HMM = 马尔可夫链 + 发射模型:
  • 上层:隐状态链(天气)按转移矩阵演化。
  • 下层:每个隐状态“发射”一个观测(带伞/不带伞)。
  • 经典任务(都基于条件概率的组合运算):
  • Filtering:已观测到现在,求“当前状态分布”
  • Prediction:已观测到现在,求“未来状态分布”
  • Smoothing:已观测到现在,求“过去某时刻状态分布”
  • Most Likely Explanation(Viterbi):给一串观测,求“最可能的状态序列”

思维要点:观测不是“真相”,但它与真相“有概率关系”。我们用这个关系“反推真相”。


十二、把它们串起来:从点到线,从静到动

  • 静态世界:贝叶斯网络擅长建模“变量之间”的因果与依赖。
  • 动态世界:马尔可夫链与 HMM 把“随时间变化”考虑进来,兼顾“不可见的真实状态”和“可见的观测”。

当你的问题“像一张网”,用贝叶斯网络;当你的问题“像一条时间线”,用马尔可夫链/HMM。遇到大模型或实时需求,用近似推断(采样)加速。


公式一览(收藏型)

  • 0≤P(ω)≤10≤P(ω)≤1,∑ω∈ΩP(ω)=1∑ω∈Ω​P(ω)=1
  • 条件概率:P(a∣b)=P(a,b)P(b)P(a∣b)=P(b)P(a,b)​
  • 贝叶斯:P(b∣a)=P(a∣b)P(b)P(a)P(b∣a)=P(a)P(a∣b)P(b)​
  • 独立:P(a,b)=P(a)P(b)P(a,b)=P(a)P(b)
  • 否定:P(¬a)=1−P(a)P(¬a)=1−P(a)
  • 容斥:P(a∨b)=P(a)+P(b)−P(a,b)P(a∨b)=P(a)+P(b)−P(a,b)
  • 边缘化:P(a)=∑bP(a,b)P(a)=∑b​P(a,b)
  • 条件化:P(a)=P(a∣b)P(b)+P(a∣¬b)P(¬b)P(a)=P(a∣b)P(b)+P(a∣¬b)P(¬b)
  • 枚举推断:P(X∣e)=α∑yP(X,e,y)P(X∣e)=α∑y​P(X,e,y)
  • 采样派:直接采样 / 拒绝采样 / 似然加权
  • 时间派:马尔可夫链(转移模型)、HMM(转移 + 发射)

结语:不确定中的“确定性工程”

AI 不需要“无所不知”才能靠谱,它需要的是:承认不确定 + 有据可依地计算不确定。本篇带你从概率公理、条件概率、贝叶斯法则,到贝叶斯网络、近似推断、马尔可夫链与 HMM,搭起一条从“静态推理”到“动态推理”的入门捷径。理解了这些,你就拿到了用概率驾驭现实世界的钥匙。

注意:该文章为ai根据cs50ai视频与我的笔记生成,因逻辑清晰且更具阅读性而发布,仅供学习参考

http://www.dtcms.com/a/422814.html

相关文章:

  • 泉州网站建设开发怎么制作h5棋牌软件
  • 深入Spring Boot生态中最核心部分 数据库交互spring-boot-starter-data-jpa和Hibernate (指南五)
  • 如何使用Python实现UDP广播
  • ThinkPHP 入门:快速构建 PHP Web 应用的强大框架
  • 系统架构 从_WHAT_走向_HOW_的锻造之路
  • UNIX下C语言编程与实践6-Make 工具与 Makefile 编写:从基础语法到复杂项目构建实战
  • 事业单位网站模板网站开发png图标素材
  • 电子商务网站建设外包服务p2p理财网站开发框架
  • Gateway 集成 JWT 身份认证:微服务统一认证的实战指南
  • C语言数据类型与变量详解
  • 【开题答辩全过程】以 php厦门旅游信息网站管理系统开题为例,包含答辩的问题和答案
  • 《重构工业运维链路:三大AI工具让设备故障“秒定位、少误判”》
  • 大模型的第一性原理考量:基于物理本质与数学基础的范式重构
  • Ubuntu 系统安装 Prometheus+Grafana(附shell脚本一键部署↓)
  • Airbnb内部核心键值存储系统 Mussel 已完成从 v1 到 v2 的重构升级
  • 漳州做网站配博大钱少awordpress国内网站吗
  • 在用户调研中应用卡尔曼滤波:用动态思维重构认知更新
  • [免费]基于Python的在线音乐网站系统(后端Django)【论文+源码+SQL脚本】
  • 网站建设后期出现的问题手机网站开发前台架构
  • 首饰设计网站大全如何选择昆明网站建设
  • MapDistill:通过相机 - 激光雷达融合模型蒸馏提升高效基于相机的高清地图构建性能
  • 安卓开发---在适配器中使用监听器
  • 【COT】PromptCoT 2.0少样本训练 CoT
  • 鸿蒙应用开发和安卓应用开发的区别
  • UNIX下C语言编程与实践12-lint 工具使用指南:C 语言源代码语法与逻辑错误检查实战
  • UNIX下C语言编程与实践5-C 语言编译器 cc(gcc/xlc)核心参数解析:-I、-L、-D 的使用场景与实例
  • 机器视觉的双相机对位模切应用
  • 高档网站设计wordpress好用的商城主题
  • 植物大战僵尸融合版下载安装教程【PC/安卓/iOS 完整攻略 + 常见问题解决】
  • 厦门做网站价格想学网站建设与设计的书籍