假设空间与版本空间 —— 机器学习是 “猜规律” 的过程

假设空间与版本空间 ------ 机器学习是 "猜规律" 的过程

快速导读

读法建议:先把这篇当成上一节的延伸来看,遇到公式不顺时回头翻《机器学习基本术语大拆解 ------ 用西瓜数据集逐个对应》对应小节;读完直接接《归纳偏好 ------ 机器学习的 "择偶标准"》,会更连贯。

文章目录

  • [假设空间与版本空间 ------ 机器学习是 "猜规律" 的过程](#假设空间与版本空间 —— 机器学习是 “猜规律” 的过程)
    • 快速导读
    • [一、先理解 "假设"------ 模型猜的 "规律" 是什么?](#一、先理解 “假设”—— 模型猜的 “规律” 是什么?)
    • [二、假设空间 ------ 所有可能的 "规律集合"](#二、假设空间 —— 所有可能的 “规律集合”)
      • [1. 定义:所有假设的总称](#1. 定义:所有假设的总称)
      • [2. 西瓜假设空间的计算 ------ 到底有多少种可能?](#2. 西瓜假设空间的计算 —— 到底有多少种可能?)
      • [3. 假设空间的直观表示(西瓜示例)](#3. 假设空间的直观表示(西瓜示例))
    • [三、版本空间 ------ 筛选后 "靠谱的规律集合"](#三、版本空间 —— 筛选后 “靠谱的规律集合”)
      • [1. 定义:符合训练数据的假设集合](#1. 定义:符合训练数据的假设集合)
      • [2. 用西瓜训练集筛选版本空间(实战演示)](#2. 用西瓜训练集筛选版本空间(实战演示))
        • [筛选步骤 1:排除与正例矛盾的假设](#筛选步骤 1:排除与正例矛盾的假设)
        • [筛选步骤 2:排除与反例矛盾的假设](#筛选步骤 2:排除与反例矛盾的假设)
        • 最终版本空间(留下的靠谱假设)
    • 四、关键疑问:为什么版本空间不是唯一的?
    • [五、易混点对比:假设空间 vs 版本空间](#五、易混点对比:假设空间 vs 版本空间)
    • 六、小练习:自己动手筛选版本空间
    • [七、小结:学习的本质是 "筛选假设"](#七、小结:学习的本质是 “筛选假设”)

一、先理解 "假设"------ 模型猜的 "规律" 是什么?

在机器学习里,"假设" 就是模型对 "属性→标记" 关系的猜测。比如:

  • 假设 1:色泽 = 青绿 ∧ 根蒂 = 蜷缩 ∧ 敲声 = 浊响 → 好瓜;
  • 假设 2:色泽 =* ∧ 根蒂 = 蜷缩 ∧ 敲声 = 浊响 → 好瓜;(* 表示 "任意取值",意思是不管色泽是什么,只要根蒂蜷缩、敲声浊响就是好瓜)
  • 假设 3:好瓜不存在;(极端情况,所有西瓜都是坏瓜)

这些都是模型可能提出的 "假设"------ 每一个假设,都是一条候选规律。而模型的任务,就是从这些假设中找到 "最靠谱" 的那一个(或多个)。

二、假设空间 ------ 所有可能的 "规律集合"

1. 定义:所有假设的总称

"假设空间" 就是所有可能的 "属性→标记" 关系的集合 ------ 相当于模型的 "脑洞大全",包含了它能想到的所有规律。

比如我们用西瓜的 3 个离散属性(色泽、根蒂、敲声)来判断是否为好瓜,每个属性的可能取值如下:

  • 色泽:青绿、乌黑、浅白、*(任意);
  • 根蒂:蜷缩、硬挺、*(任意);
  • 敲声:浊响、清脆、*(任意);
  • 额外假设:没有好瓜(用∅表示)。

2. 西瓜假设空间的计算 ------ 到底有多少种可能?

我们可以用 "组合计算" 算出假设空间的大小:

  • 色泽有 4 种选择(3 个具体值 +*);
  • 根蒂有 3 种选择(2 个具体值 +*);
  • 敲声有 3 种选择(2 个具体值 +*);
  • 再加上 "没有好瓜" 的极端假设;

总假设数 = 4×3×3 + 1 = 37 种。

也就是说,模型在学习前,脑子里已经有了 37 种 "挑瓜规律" 的候选 ------ 它的学习过程,就是从这 37 种假设中,删掉不符合训练数据的,留下符合的。

3. 假设空间的直观表示(西瓜示例)

我们可以用 "树形结构" 直观看到假设空间的一部分:

plaintext

plaintext 复制代码
(根节点:好瓜?)
├─ 色泽=青绿
│  ├─ 根蒂=蜷缩
│  │  ├─ 敲声=浊响 → 好瓜(假设1)
│  │  ├─ 敲声=清脆 → 好瓜(假设2)
│  │  └─ 敲声=* → 好瓜(假设3:色泽青绿+根蒂蜷缩,敲声任意)
│  ├─ 根蒂=硬挺
│  │  ├─ 敲声=浊响 → 好瓜(假设4)
│  │  └─ 敲声=* → 好瓜(假设5)
│  └─ 根蒂=*
│     ├─ 敲声=浊响 → 好瓜(假设6:色泽青绿,根蒂任意+敲声浊响)
│     └─ 敲声=* → 好瓜(假设7:色泽青绿,根蒂和敲声任意)
├─ 色泽=乌黑(结构同上,共7种假设)
├─ 色泽=浅白(结构同上,共7种假设)
├─ 色泽=*
│  ├─ 根蒂=蜷缩(结构同上,共3种假设)
│  ├─ 根蒂=硬挺(结构同上,共2种假设)
│  └─ 根蒂=*(结构同上,共1种假设)
└─ 好瓜不存在(假设37)

这棵树的每一个 "叶子节点",就是一个假设 ------37 个叶子节点,对应 37 种可能的规律。

三、版本空间 ------ 筛选后 "靠谱的规律集合"

1. 定义:符合训练数据的假设集合

模型不会一直抱着 37 种假设不放,它会用训练数据 "验证" 每个假设:符合所有训练样本的假设留下,不符合的删掉。最后剩下的假设集合,就是 "版本空间"。

简单说:假设空间 = 所有可能的规律,版本空间 = 经过数据验证的靠谱规律

2. 用西瓜训练集筛选版本空间(实战演示)

我们用一组简化的西瓜训练集(3 个正例 + 2 个反例)来演示筛选过程:

样本编号 色泽 根蒂 敲声 好瓜(标记)
1 青绿 蜷缩 浊响 是(正例)
2 乌黑 蜷缩 浊响 是(正例)
3 青绿 蜷缩 清脆 是(正例)
4 浅白 硬挺 清脆 否(反例)
5 乌黑 硬挺 浊响 否(反例)
筛选步骤 1:排除与正例矛盾的假设

正例要求 "假设必须能让样本被判定为好瓜"。比如:

  • 假设 "色泽 = 青绿 ∧ 根蒂 = 蜷缩 ∧ 敲声 = 浊响 → 好瓜":符合样本 1,保留;
  • 假设 "色泽 = 青绿 ∧ 根蒂 = 硬挺 ∧ 敲声 = 浊响 → 好瓜":样本 1 的根蒂是蜷缩,这个假设无法覆盖样本 1(会把样本 1 判定为坏瓜),删掉;
  • 假设 "色泽 = 浅白 ∧ 根蒂 = 蜷缩 ∧ 敲声 = 浊响 → 好瓜":样本 1 的色泽是青绿,无法覆盖样本 1,删掉;
筛选步骤 2:排除与反例矛盾的假设

反例要求 "假设必须能让样本被判定为坏瓜"。比如:

  • 假设 "色泽 =* ∧ 根蒂 = 蜷缩 ∧ 敲声 =* → 好瓜":样本 4 的根蒂是硬挺,这个假设不会把它判定为好瓜(符合反例 4);样本 5 的根蒂是硬挺,也符合反例 5,保留;
  • 假设 "色泽 =* ∧ 根蒂 =* ∧ 敲声 = 浊响 → 好瓜":样本 5 的敲声是浊响、根蒂是硬挺,这个假设会把样本 5 判定为好瓜(与反例 5 矛盾),删掉;
最终版本空间(留下的靠谱假设)

经过筛选,剩下 3 个核心假设:

  1. 假设 A:色泽 =* ∧ 根蒂 = 蜷缩 ∧ 敲声 =* → 好瓜;(不管色泽和敲声,只要根蒂蜷缩就是好瓜)
  2. 假设 B:色泽 =* ∧ 根蒂 = 蜷缩 ∧ 敲声 = 浊响 ∨ 清脆 → 好瓜;(根蒂蜷缩 + 敲声是浊响或清脆)
  3. 假设 C:色泽 = 青绿∨乌黑 ∧ 根蒂 = 蜷缩 ∧ 敲声 =* → 好瓜;(根蒂蜷缩 + 色泽是青绿或乌黑)

这 3 个假设都能完美符合训练集的所有样本 ------ 模型的学习结果,就是这 3 个假设组成的版本空间。

四、关键疑问:为什么版本空间不是唯一的?

你可能会问:为什么不是只留下一个 "最优假设"?因为有限的训练数据无法唯一确定规律

比如上面的版本空间中,假设 A(根蒂蜷缩即好瓜)和假设 C(根蒂蜷缩 + 青绿 / 乌黑即好瓜)都符合训练数据,但它们对新样本的判断可能不同:

  • 新样本:色泽 = 浅白、根蒂 = 蜷缩、敲声 = 浊响;
  • 假设 A 判定为 "好瓜",假设 C 判定为 "坏瓜";

这就是机器学习的核心矛盾之一 ------ 有限数据无法确定唯一规律,后续的 "归纳偏好" 就是用来解决这个矛盾的(下一篇详细讲)。

五、易混点对比:假设空间 vs 版本空间

对比维度 假设空间 版本空间
核心含义 所有可能的规律集合 符合训练数据的规律集合
大小关系 范围大(37 种假设) 范围小(筛选后剩余)
形成过程 先天存在(模型预设) 后天筛选(数据验证)
作用 提供 "猜规律" 的候选池 提供 "靠谱规律" 的候选池

六、小练习:自己动手筛选版本空间

给你一组新的西瓜训练集,试着筛选出版本空间(仅用 "色泽、根蒂" 两个属性):

样本编号 色泽 根蒂 好瓜
1 青绿 蜷缩
2 乌黑 稍蜷
3 浅白 蜷缩
4 青绿 硬挺

提示:

  1. 先列出假设空间(色泽:青绿 / 乌黑 / 浅白 /;根蒂:蜷缩 / 稍蜷 / 硬挺 /;+ 无好瓜假设);
  2. 排除与正例矛盾的假设(比如 "色泽 = 青绿 ∧ 根蒂 = 硬挺 → 好瓜" 无法覆盖样本 1);
  3. 排除与反例矛盾的假设(比如 "色泽 =* ∧ 根蒂 = 蜷缩 → 好瓜" 会把样本 3 判定为好瓜,与反例矛盾);
  4. 最后剩下的就是版本空间。

七、小结:学习的本质是 "筛选假设"

机器学习的学习过程,本质就是 "从假设空间中筛选版本空间":

  1. 模型先预设所有可能的规律(假设空间);
  2. 用训练数据验证每个假设,删掉矛盾的;
  3. 剩下的版本空间,就是模型认为 "靠谱的规律集合";
  4. 后续需要通过 "归纳偏好" 从版本空间中选择最终要使用的规律。

搞懂假设空间和版本空间,你就理解了机器学习的核心逻辑 ------ 它不是 "凭空创造规律",而是 "从所有可能中筛选靠谱的"。这就像我们挑瓜时,先有各种挑瓜思路(假设空间),再通过买瓜经验淘汰不靠谱的(筛选出版本空间),最后固定一种最信任的思路(归纳偏好)。

下一篇,我们就来聊 "归纳偏好"------ 模型是如何从版本空间的多个假设中,选择 "它认为最优" 的那一个规律的。

如果在练习中遇到筛选困难,或者想分享你的版本空间结果,欢迎在评论区留言讨论~

相关推荐
懈尘2 小时前
基于Spring Boot与LangChain4j的AI驱动新闻系统设计与工程实现
java·大数据·人工智能·spring boot·后端·langchain
永远都不秃头的程序员(互关)2 小时前
【决策树深度探索(五)】智慧之眼:信息增益,如何找到最佳决策问题?
算法·决策树·机器学习
flying_13142 小时前
图神经网络分享系列-GGNN(GATED GRAPH SEQUENCE NEURAL NETWORKS)(三)
人工智能·深度学习·神经网络·图神经网络·ggnn·门控机制·图特征学习
cooldream20092 小时前
Agent Skill:新一代 AI 设计模式的原理、实践与 MCP 协同应用解析
人工智能·mcp·agent skill
劈星斩月2 小时前
机器学习(Machine Learning)系列
深度学习·神经网络·机器学习
言無咎2 小时前
传统财务RPA陷入性能瓶颈?AI财务机器人用LLM重构智能财税
人工智能·机器人·rpa
一休哥助手2 小时前
2026年1月25日人工智能早间新闻
人工智能
小圣贤君2 小时前
在 Electron 应用中优雅接入 DeepSeek AI:从零到一的完整实践指南
人工智能·electron·vue3·ai写作·deepseek
小程故事多_802 小时前
AI Agent架构革命,Skills模式为何能颠覆传统Workflow?
人工智能·架构·aigc