候选删除算法如何优化人工智能决策?

99ANYc3cd6 人工智能 1

这是一个经典且非常重要的概念,尤其在归纳式学习概念学习的理论中占据核心地位。

候选删除算法如何优化人工智能决策?-第1张图片-广州国自机器人
(图片来源网络,侵删)

什么是候选删除算法?

核心思想:候选删除算法是一种自底向上的、增量式的搜索算法,它的目标是从一个特定的假设空间中,寻找一个与给定训练数据完全一致的最一般假设最特殊假设,这两个假设共同定义了版本空间

通俗理解: 想象一下,你是一位老师,想通过一系列例子来教学生“什么样的动物是‘鸟’”。

  • 你告诉学生:“企鹅是鸟。”(一个特例)
  • 你又告诉学生:“所有会飞、有羽毛、有两条腿的动物都是鸟。”(一个普遍规则)

学生的任务不是死记硬背,而是根据你给的例子,不断修正自己对“鸟”这个概念的认知,他会思考:

  • “会飞”这个条件是不是必须的?(因为企鹅不会飞)
  • “生活在水里”是不是一个新条件?(企鹅生活在水里,但它还是鸟)

候选删除算法就是这位“学生”的学习过程,它不断地根据新来的例子,调整自己对“鸟”的定义范围(即版本空间)。

候选删除算法如何优化人工智能决策?-第2张图片-广州国自机器人
(图片来源网络,侵删)

核心概念:假设空间与版本空间

要理解候选删除算法,必须先理解几个关键概念:

a. 假设空间

定义:所有可能构成“概念”(或“假设”)的集合,在学习“鸟”的概念时,假设空间可以包含所有可能的动物属性组合,如“{会飞, 有羽毛}”、“{有两条腿, 会下蛋}”、“{会游泳, 有鳍}”等等。

b. 实例

定义:训练数据中的一个具体例子,每个实例由一组属性-值对和一个类别标签(正例或反例)组成。

  • 正例:符合我们想要学习的概念的实例。
  • 反例:不符合该概念的实例。

c. 假设

定义:对概念的一种描述,通常由属性值构成,为了简化,我们通常使用符号来表示属性的“值”或“无关紧要”的状态。

候选删除算法如何优化人工智能决策?-第3张图片-广州国自机器人
(图片来源网络,侵删)
  • (通配符):表示该属性可以是任意值,这个属性不重要。
  • (空集):表示该属性必须被忽略,即它不能出现在最终的假设中。
  • 具体值:如 "有羽毛"、"会飞" 等。

示例: 假设我们描述动物有三个属性:颜色, 体型, 会飞

  • 假设 h1 = (?, ?, ?) 是最一般的假设,它匹配所有动物。
  • 假设 h2 = (黑色, 小, 会飞) 是一个很特殊的假设,它只匹配“黑色的小型会飞动物”。

d. 版本空间

定义:假设空间中,与所有正例一致,并且与所有反例不一致的所有假设的集合

  • 关键点:版本空间包含了所有可能正确的“候选”概念,我们的目标就是找到一个最简单的、最具代表性的假设来代表这个空间。

e. 最一般假设 与 最特殊假设

  • 最一般假设:版本空间中“最宽泛”的假设,它满足所有正例,但排除了尽可能多的反例,它包含了版本空间中所有其他假设。
  • 最特殊假设:版本空间中“最严格”的假设,它只满足所有正例,并且尽可能地接近反例,它是版本空间中所有其他假设的子集。

算法工作原理

候选删除算法维护两个边界集合:

  1. G (General Boundaries):最一般假设集合
  2. S (Specific Boundaries):最特殊假设集合

算法的每一步都根据新来的训练实例,对这两个边界进行“删除”操作。

两种基本操作:

a. 针对正例 的操作:

  • 目标:排除那些无法匹配这个新正例的假设。
  • 操作
    1. 更新S:从S中删除所有不匹配这个新正例的假设,为了确保S的完整性,需要生成比S中剩下的假设更特殊的假设来补充S,这些新假设是通过将S中某个属性的 替换为该正例中对应的值生成的。
    2. 更新G:从G中删除所有匹配这个新正例的假设(因为G中的假设只需要匹配所有正例,但不需要匹配单个正例的细节),对于剩下的G中的每个假设,检查它是否比S中的某个假设更一般,如果不是,则将其从G中删除(因为它太特殊了,失去了“最一般”的意义)。

b. 针对反例 的操作:

  • 目标:排除那些匹配了这个新反例的假设。
  • 操作
    1. 更新G:从G中删除所有匹配这个新反例的假设。
    2. 更新S:从S中删除所有不匹配这个新反例的假设,为了保持S的完整性,需要生成比S中剩下的假设更一般的假设来补充S,这些新假设是通过将S中某个属性的具体值替换为 生成的。

算法终止条件

当没有新的训练实例时,算法停止,版本空间由G和S共同定义,最终的假设可以是:

  • G集合中的任何一个假设(它们都是最一般的)。
  • S集合中的任何一个假设(它们都是最特殊的)。
  • 或者G和S之间的任意一个假设。

具体例子

假设我们要学习概念“PlayTennis”(是否打网球),实例由三个属性描述:Sky(天空),Temp(温度),Humidity(湿度)。

初始状态

  • G = { (?, ?, ?) } // 最一般的假设
  • S = { (ϕ, ϕ, ϕ) } // 最特殊的假设

训练实例 1 (正例): (Sunny, Warm, Normal, Yes)

  1. 是正例,操作如下:

    • 更新S
      • S 中 不匹配 (Sunny, Warm, Normal)
      • 删除 。
      • 生成新的、更特殊的假设来填充S:(Sunny, Warm, Normal)
      • S 变为 { (Sunny, Warm, Normal) }
    • 更新G
      • G 中 匹配 (Sunny, Warm, Normal),所以不删除。
      • G 保持不变 G = { (?, ?, ?) }
  2. 当前状态

    • G = { (?, ?, ?) }
    • S = { (Sunny, Warm, Normal) }

训练实例 2 (正例): (Rainy, Cold, High, Yes)

  1. 是正例,操作如下:

    • 更新S
      • S(Sunny, Warm, Normal) 不匹配 (Rainy, Cold, High)
      • 删除 (Sunny, Warm, Normal)
      • 生成新的假设来填充S:(Rainy, Cold, High)
      • S 变为 { (Rainy, Cold, High) }
    • 更新G
      • G 中 匹配 (Rainy, Cold, High),不删除。
      • G 保持不变 G = { (?, ?, ?) }
  2. 当前状态

    • G = { (?, ?, ?) }
    • S = { (Rainy, Cold, High) }

训练实例 3 (反例): (Sunny, Warm, High, No)

  1. 是反例,操作如下:

    • 更新G
      • G 中 匹配 (Sunny, Warm, High),所以需要删除它。
      • 为了补充G,我们生成比 S(Rainy, Cold, High) 更一般,但不匹配 (Sunny, Warm, High) 的假设。
      • 可以通过将 S 中属性的值替换为 来生成候选,但要确保不匹配反例。
      • Sunny 替换为 ,得到 (? , Cold, High),它不匹配反例。
      • Warm 替换为 ,得到 (Sunny, ?, High),它匹配反例,所以不能加入G。
      • High 替换为 ,得到 (Sunny, Warm, ?),它匹配反例,所以不能加入G。
      • 只有 (? , Cold, High) 是有效的。
      • G 变为 { (? , Cold, High) }
    • 更新S
      • S(Rainy, Cold, High) 不匹配 (Sunny, Warm, High),所以不删除。
      • S 保持不变 S = { (Rainy, Cold, High) }
  2. 当前状态

    • G = { (? , Cold, High) }
    • S = { (Rainy, Cold, High) }

训练实例 4 (反例): (Rainy, Warm, High, No)

  1. 是反例,操作如下:

    • 更新G
      • G(? , Cold, High) 不匹配 (Rainy, Warm, High)(因为温度是Warm不是Cold),所以不删除。
      • G 保持不变 G = { (? , Cold, High) }
    • 更新S
      • S(Rainy, Cold, High) 不匹配 (Rainy, Warm, High)(因为温度是Warm不是Cold),所以不删除。
      • S 保持不变 S = { (Rainy, Cold, High) }
  2. 最终状态

    • G = { (? , Cold, High) }
    • S = { (Rainy, Cold, High) }

最终的版本空间由G和S定义,一个合理的假设可以是 (?, Cold, High),即“只要温度是‘冷’并且湿度是‘高’,就不打网球”,这个假设与我们所有的训练实例都一致。


算法的优缺点

优点:

  1. 理论清晰:完美地展示了机器学习中概念学习和版本空间的核心思想。
  2. 无监督学习:不需要预先设定学习目标,而是从数据中“发现”概念。
  3. 增量式学习:可以方便地处理新到来的数据,动态更新版本空间。

缺点:

  1. 假设空间巨大:对于有大量属性的问题,假设空间会呈指数级增长,导致计算效率低下。
  2. 符号属性限制:传统版本空间算法难以处理连续型数值属性(如温度为25.5度),通常需要先进行离散化。
  3. 噪声敏感:训练数据中的噪声(错误标签)会严重影响G和S的边界,导致学习到的概念不准确。
  4. 无法处理未知属性:当新实例包含训练集中未出现过的属性值时,算法会遇到困难。

在现代人工智能中的地位与应用

虽然候选删除算法本身在现代复杂的AI应用(如深度学习)中不常直接使用,但它的思想是极其重要的基石:

  1. 机器学习理论基础:它是理解版本空间学习归纳偏置PAC (Probably Approximately Correct) 学习模型等核心理论的起点。
  2. 规则学习算法的鼻祖:许多经典的规则学习算法,如 AQ算法CN2算法RIPPER算法,都受到了候选删除算法思想的启发,它们的目标也是从数据中提取可解释的规则。
  3. 数据挖掘与知识发现:在关联规则挖掘(如Apriori算法)和特征选择中,搜索和修剪候选集的思想与候选删除算法一脉相承。
  4. 可解释AI (XAI):在深度学习模型被视为“黑箱”的今天,能够生成人类可读规则的算法(如基于版本空间的算法)在XAI领域仍有其价值,用于解释模型的决策逻辑。

候选删除算法是人工智能领域中一个优雅而强大的理论框架,它通过维护“最一般”和“最特殊”假设的边界,系统地缩小了可能的解空间,最终找到与数据一致的概念,虽然其直接应用受到计算复杂度的限制,但它所蕴含的搜索、修剪和版本空间的思想,深刻地影响了后续众多机器学习算法的发展,是理解机器学习本质不可或缺的一部分。

标签: 人工智能决策优化算法 候选删除技术提升AI决策 AI决策效率优化方法

抱歉,评论功能暂时关闭!