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

news/2025/10/4 15:39:54/文章来源:https://www.cnblogs.com/tlnshuju/p/19125654

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

2025-10-04 15:38  tlnshuju  阅读(0)  评论(0)    收藏  举报

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

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


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

  • 可能世界 Ω 与事件 ω
  • 把一次随机过程(掷骰子、明天下雨与否)看作从“所有可能世界”Ω 中挑一个世界 ω。
  • 基本公理:
  • 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.mzph.cn/news/927286.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025多校冲刺CSP模拟赛2(普通的颓唐)

写在前面:普通的废话 普通的一天,笑早了的不普通考好前天,今天普通地爆炸了,炸得很普通彻底,令人万万没想到的是普通的肝硬化写错了普通的 \(freopen\) :把普通的 \(stdout\) 拼成了不知道什么的诡异东西。于是肝…

网站制作公司优势企业网站适合做成响应式吗

文章目录一、常用命令(Linux)二、搭建Vsftpd流程2.1. 检测系统2.2. yum安装一、常用命令(Linux) 作用命令启动sudo service vsftpd start关闭sudo service vsftpd stop重启sudo service vsftpd restart查看运行状态sudo service …

模板大全

【永远置顶】万能程序模板 #include<bits/stdc++.h> using namespace std; //#define Inc #ifdef Inc #include<bits/extc++.h> #include<windows.h> #endif #define Define #ifdef Define #define …

杭州微信网站制作凤凰手机网官网

目录 一.fopen 函数简介二.fopen 函数实战三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.fopen 函数简介 C 语言 fopen 函数表示以指定的模式&#xff0c;打开一个文件&#xff0c;函数声明如下&#xff1a; /* *描述&#xff1a;使用指定…

网站登录不上怎么回事音乐网站开发与需求

BlueFox Free PDF to HTML Converter是一款pdf文件转换软件&#xff0c;能直接查看PDF文件和对PDF文件进行编辑&#xff0c;支持批量进行转换&#xff0c;使用非常方便&#xff0c;操作简单&#xff0c;有需要可以下载。软件特色通过将PDF转换为HTML网页&#xff0c;您的网站访…

如何在工商局网站做企业年报wordpress文章和页面的区别

一、权限的分类 Linux权限分为r(读取)、w(写入)、x(执行)。我们在终端执行ls -l命令查看文件详细信息显示如下: [root@srv sun]# ls -l 总用量 0 drwxr-xr-x. 2 sun root 6 7月 5 14:05 公共 drwxr-xr-x. 2 sun root 6 7月 5 14:05 模板 drwxr-xr-x. 2 sun root…

springCloudMaven打包配置 - br

springCloud配置maven打包时使用profile激活当前运行环境并且打包时使用案例 <project><!-- ... 其他配置 ... --><!-- 第1步:定义环境Profile --><profiles><!-- 开发环境 (默认激活) --…

springCloud打包时根目录配置和公共包打包配置 - br

当有公共模块打包时并不需要打包成springbootJar时需要跳过打包 <build><plugins><!-- 公共模块需要声明使用该插件,但将其跳过 --><plugin><groupId>org.springframework.boot</gr…

我的网站百度搜不到营销 推广 网站

作者持续关注WPS二次开发专题系列&#xff0c;持续为大家带来更多有价值的WPS开发技术细节&#xff0c;如果能够帮助到您&#xff0c;请帮忙来个一键三连&#xff0c;更多问题请联系我&#xff08;WPS二次开发QQ群:250325397&#xff09;&#xff0c;摸鱼吹牛嗨起来&#xff01…

如何查网站备案号网站前端设计公司

目录 一、介绍二、强缓存三、协商缓存今天主要介绍 HTTP请求缓存中的强缓存和协商缓存。 一、介绍 浏览器每次发起请求时,会先在浏览器缓存中查找请求的缓存结果和缓存标识。 当浏览器第一次向服务器发起请求后,浏览器缓存肯定是没有对应缓存的,所以向服务器发起请求,服…

学习网站建设有前景没浙江住房和建设网站首页

yaml语法学习 1、配置文件 SpringBoot使用一个全局的配置文件 &#xff0c; 配置文件名称是固定的 application.properties 语法结构 &#xff1a;keyvalue application.yml 语法结构 &#xff1a;key&#xff1a;空格 value 配置文件的作用&#xff1a;修改SpringBoot自动…

题解:P5504 [JSOI2011] 柠檬

题目: 下面给个经典的 DP 式子不多说了: \[f_i=f_j+s_iqz^2(s_i,i)+s_iqz^2(s_{j+1},j)-2s_iqz(s_i,i)qz(s_{j+1},j),s_{j+1}=s_i \]单调栈太阴了!下面有个 hack: 11 2 10 2 2 10 2 2 10 2 2 2 ans:128众所周知 \…

Thymeleaf教程

一 Thymeleaf是什么 Thymeleaf 是一款现代服务器端 Java 模板引擎,专为 Web 开发设计,尤其适合与 Spring Boot 框架搭配使用。它的核心目标是实现 “自然模板”(Natural Templates)—— 即模板文件本身可直接作为纯…

商务网站建设的流程图专注新乡网站建设

1. 聚量推客&#xff1a; “聚量推客”汇聚了众多市场上有的和没有的地推网推拉新接单项目&#xff0c;目前比较火热&#xff0c;我们做地推和网推从业者如果长期在这行业去做推广可以使用这个平台&#xff0c;价格高数据也好&#xff0c;大部分拉新项目也都是官签一手资源 一…

VMware虚拟机设置中处理器数量和内核内存再次探讨

VMware虚拟机设置中处理器数量和内核内存再次探讨, 如何设置性能较好.设置内核数量 1*8 根据VMWARE虚拟机的CPU分配(VMWARE14):处理器数量、核心数量分配验证 - imxiangzi - 博客园 VMware Workstation CPU如何设置…

VMware中Ubuntu迁移(复制)后进入紧急模式You are in emergency mode.

解决了VMware虚拟机迁移后报错You are in emergency mode.在复制或迁移虚拟机后, Ubuntu进入紧急模式, 可以看见Error -107 cannot open Connection 这是共享文件夹功能被禁用导致的! 开启后输入reboot -f重启即可. 解…

2025年全国大学生电子设计竞赛A题:能量回馈的变流器负载试验装置(国一方案分享+代码工程+仿真) - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

太简单了!原来PS在线抠图可以这么玩,背景分离无压力

你是不是总被“抠图”困扰?想给图片换背景,却觉得下载安装Photoshop太费事?放心,这篇教程就是为你准备的!今天我来手把手教你用在线PS抠图工具,无需安装、打开网页就能轻松搞定背景分离,就算是零基础新手,也能…

深入解析:【Leetcode】随笔

深入解析:【Leetcode】随笔pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco",…