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 是一个端到端的知识发现流程,强调从原始数据到可用知识的完整转换过程。数据挖掘只是其中的一个环节,真正的价值体现在全流程的协同作用。
核心思想:
- 数据准备至关重要:预处理和清洗占据了大部分工作
- 迭代是常态:整个过程需要反复调整和优化
- 知识必须可用:发现的模式不仅要准确,还要新颖、有用、可理解
这个框架至今仍是数据科学和机器学习项目的标准流程参考。