Knowledge Discovery in Databases (KDD) - 数据库知识发现

概述

Knowledge Discovery in Databases(KDD),即数据库知识发现,是指从大量数据中发现有用知识的完整、高层次的过程。它强调的是数据挖掘方法在实际应用中的全流程,而不仅仅是算法本身。

KDD 是一门跨学科领域,涉及:

  • 机器学习
  • 模式识别
  • 数据库系统
  • 统计学
  • 人工智能
  • 专家系统的知识获取
  • 数据可视化

核心目标:在大型数据库的背景下,从数据中提取知识。

经典参考文献: Fayyad, Piatetsky-Shapiro, Smyth, “From Data Mining to Knowledge Discovery: An Overview”, in Advances in Knowledge Discovery and Data Mining, AAAI Press / The MIT Press, 1996, pp.1-34


KDD vs 数据挖掘:关键区别

很多人混淆”知识发现”和”数据挖掘”,但它们是不同的概念:

概念定义范围
KDD(知识发现)从数据中发现有用知识的完整过程包含数据准备、预处理、采样、投影、模式搜索、知识评估与精炼
数据挖掘从数据中提取模式的算法应用仅指算法执行步骤,不包含 KDD 的其他环节

简单理解:数据挖掘是 KDD 过程中的一个步骤,而非全部。


KDD 的完整流程

KDD 是一个多步骤、迭代的过程,涉及数据准备、模式搜索、知识评估与精炼。以下是标准步骤:

步骤 1:理解应用领域

  • 深入理解目标领域
  • 掌握相关的先验知识
  • 明确最终用户的目标和需求

步骤 2:创建目标数据集

  • 选择合适的数据集
  • 聚焦于特定的变量子集或数据样本
  • 确定发现任务的数据范围

步骤 3:数据清洗与预处理

这是最关键也最耗时的步骤之一:

  • 噪声与异常值处理:移除或建模噪声和异常值
  • 缺失数据处理:制定处理缺失字段的策略
  • 时间序列信息:考虑时间顺序和已知变化
  • 数据质量保障:收集必要信息以建模或解释噪声

步骤 4:数据降维与投影

  • 特征选择:根据任务目标找到有用的特征来表示数据
  • 降维:使用维度缩减或变换方法减少有效变量数量
  • 不变表示:寻找数据的不变表示形式

步骤 5:选择数据挖掘任务

决定 KDD 过程的目标类型:

  • 分类(Classification)
  • 回归(Regression)
  • 聚类(Clustering)
  • 其他任务…

步骤 6:选择数据挖掘算法

  • 选择用于搜索数据模式的方法
  • 决定合适的模型和参数
  • 将特定数据挖掘方法与 KDD 整体标准匹配

步骤 7:执行数据挖掘

搜索感兴趣的模式,可能的表示形式包括:

  • 分类规则或决策树
  • 回归模型
  • 聚类结果
  • 等等

步骤 8:解释挖掘出的模式

  • 理解发现的模式含义
  • 评估模式的可解释性

步骤 9:巩固发现的知识

  • 整合所有发现的知识
  • 形成可用的结论

知识发现的四大标准

KDD 发现的模式必须满足以下四个关键标准:

┌─────────────────────────────────────────┐
│        知识发现的四大标准                 │
├─────────────────────────────────────────┤
│                                         │
│  Valid (有效性)      Novel (新颖性)      │
│  • 在新数据上成立     • 以前未知的        │
│  • 具有一定的确定性   • 非显而易见的       │
│                                         │
│  Useful (有用性)    Understandable       │
│                     (可理解性)           │
│  • 可操作的          • 人类可理解的       │
│  • 能引导有用行动     • 增进对数据的理解   │
│                                         │
└─────────────────────────────────────────┘

详细说明

标准含义
Valid(有效性)发现的模式应该在新数据上成立,具有一定的确定性,能够泛化到未来数据
Novel(新颖性)模式必须是新颖的,之前未知的,非显而易见的
Useful(有用性)模式应该是可操作的,能够潜在引导有用的行动
Understandable(可理解性)模式必须易于理解,以促进对底层数据的更好理解

有趣性(Interestingness)

有趣性是模式价值的综合度量,结合了:

  • 有效性(Validity)
  • 新颖性(Novelty)
  • 有用性(Usefulness)
  • 简洁性(Simplicity)

核心定义

Knowledge Discovery in Databases 是识别数据中有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程

关键术语解释

  • 非平凡(Non-trivial):不是简单查询或直接计算就能得到的结果
  • 模式(Pattern):用某种语言描述的、能够表达数据子集事实的表达式
  • 知识(Knowledge):经过评估和解释后,被认为是有效、新颖、有用且可理解的模式

总结

KDD 是一个端到端的知识发现流程,强调从原始数据到可用知识的完整转换过程。数据挖掘只是其中的一个环节,真正的价值体现在全流程的协同作用。

核心思想

  1. 数据准备至关重要:预处理和清洗占据了大部分工作
  2. 迭代是常态:整个过程需要反复调整和优化
  3. 知识必须可用:发现的模式不仅要准确,还要新颖、有用、可理解

这个框架至今仍是数据科学和机器学习项目的标准流程参考。