KDD - 数据库中的知识发现

17 Mar 2025 | 6 分钟阅读

KDD 是 Knowledge Discovery in Databases 的缩写,意为“数据库中的知识发现”。它指的是从数据中发现知识的广泛过程,并强调数据挖掘技术的高级应用。它是一个吸引各个领域研究人员的领域,包括人工智能、机器学习、模式识别、数据库、统计学、专家系统知识获取以及数据可视化。

KDD 过程的主要目标是从大型数据库的上下文中提取信息。它通过使用数据挖掘算法来识别被认为是知识的内容。

数据库中的知识发现被视为对庞大数据存储库进行的程序化、探索性分析和建模。KDD 是从海量复杂数据集中识别有效、有用且可理解的模式的组织化过程。数据挖掘是 KDD 过程的核心,包括对数据进行探查的推理算法,开发模型并发现先前未知的模式。该模型用于从数据中提取知识,分析数据并预测数据。

当今数据的可用性和丰富性使得知识发现和数据挖掘变得极其重要和必要。在这个领域近期的发展中,目前可供专家和技术人员使用的各种技术种类繁多,这并不令人意外。

KDD 过程

知识发现过程(如图所示)是迭代和交互式的,包含九个步骤。该过程在每个阶段都是迭代的,这意味着可能需要返回到之前的操作。该过程具有许多创造性方面,因为一个人无法为每个步骤和应用类型提出一个公式或进行完整的科学分类来做出正确的决定。因此,需要理解该过程以及每个阶段的不同需求和可能性。

该过程以确定 KDD 目标开始,以实现已发现的知识结束。然后,循环关闭,主动数据挖掘开始。随后,需要对应用领域进行更改。例如,为手机用户提供各种功能以减少用户流失。这会关闭循环,然后对新的数据存储库进行影响评估,KDD 过程再次启动。以下是对九步 KDD 过程的简要描述,从管理步骤开始。

Data Mining Tutorial

1. 建立对应用领域的理解

这是初始的初步步骤。它为理解如何处理转换、算法、表示等各种决策提供了基础。负责 KDD 项目的人员需要理解并定义最终用户的目标以及知识发现过程将发生的环境(涉及相关的先验知识)。

2. 选择和创建将进行发现的数据集

一旦定义了目标,就应该确定将用于知识发现过程的数据。这包括发现哪些数据可用,获取相关数据,然后将所有数据整合到一个用于知识发现的集合中,其中包含将要用于该过程的属性。这个过程很重要,因为数据挖掘是从可用数据中学习和发现的。这是构建模型的基础。如果缺少一些重要的属性,那么整个研究可能会因此而失败,考虑的属性越多。另一方面,组织、收集和操作高级数据存储库成本很高,并且存在与更好地理解现象的机会相关联的权衡。这种权衡指的是 KDD 的交互式和迭代方面正在发生的作用。这从可用的最佳数据集开始,然后扩展并观察知识发现和建模方面的影响。

3. 预处理和清理

在此步骤中,提高了数据的可靠性。它包括数据清理,例如,处理缺失的量以及去除噪声或异常值。它可能包括复杂统计技术或在此上下文中使用的某种数据挖掘算法。例如,当怀疑某个特定属性不可靠或缺少许多数据时,此时,该属性可能成为数据挖掘监督算法的目标。将为这些属性创建预测模型,然后可以预测缺失的数据。一个人在此级别上关注的程度取决于许多因素。无论如何,研究这些方面都很有意义,而且对于企业数据系统来说,通常会揭示其本身。

4. 数据转换

在此阶段,将准备和开发用于数据挖掘的适当数据。这里的技术包括降维(例如,特征选择和提取以及记录抽样),以及属性转换(例如,数值属性的离散化和函数转换)。这一步可能对整个 KDD 项目的成功至关重要,并且通常具有高度的项目特异性。例如,在医学评估中,属性的商通常是最重要的因素,而不是每个属性本身。在商业中,我们可能需要考虑我们无法控制的影响以及努力和短暂的问题。例如,研究广告累积的影响。然而,如果我们一开始没有使用正确的转换,那么我们可能会获得一个惊人的效果,它告诉我们下一轮迭代所需的转换。因此,KDD 过程会不断重复,并促使我们理解所需的转换。

5. 预测和描述

现在我们准备决定使用哪种类型的数据挖掘,例如分类、回归、聚类等。这主要取决于 KDD 目标,也取决于之前的步骤。数据挖掘有两个重要的目标,第一个是预测,第二个是描述。预测通常被称为监督式数据挖掘,而描述性数据挖掘则包含非监督式数据挖掘和可视化方面。大多数数据挖掘技术都依赖于归纳学习,其中模型通过从足够多的训练样本中进行泛化来显式或隐式地构建。归纳方法的根本假设是训练模型适用于未来的案例。该技术还考虑了对特定可用数据集进行元学习的水平。

6. 选择数据挖掘算法

有了技术,我们现在决定策略。此阶段包括选择一种特定技术来搜索包含多个诱因的模式。例如,考虑到精度与可理解性,后者在神经网络中更好,而后者在决策树中更好。对于每种元学习系统,都有几种如何成功的方法。元学习侧重于解释什么使数据挖掘算法在特定问题中成功或不成功。因此,这种方法试图理解数据挖掘算法最合适的场景。每种算法都有参数和学习策略,例如十折交叉验证或其他训练和测试的划分。

7. 使用数据挖掘算法

最后,终于到了数据挖掘算法的实现。在这个阶段,我们可能需要多次使用该算法,直到获得令人满意的结果。例如,通过调整算法的控制参数,例如决策树单个叶子节点中的最小实例数。

8. 评估

在此步骤中,我们评估和解释挖掘出的模式、规则以及相对于第一步中定义的目标的可靠性。在这里,我们考虑到预处理步骤对数据挖掘算法结果的影响。例如,在步骤 4 中包含一个特征,然后从那里重复。此步骤侧重于所诱导模型的可理解性和实用性。在此步骤中,还记录了已识别的知识以供将来使用。最后一步是使用,以及数据挖掘获得的总体反馈和发现结果。

9. 使用发现的知识

现在,我们准备将知识整合到另一个系统中以供进一步操作。知识变得有效,因为我们可以对系统进行更改并衡量其影响。此步骤的成功决定了整个 KDD 过程的有效性。此步骤中有许多挑战,例如丢失我们工作过的“实验室条件”。例如,知识是从某个静态描述中发现的,通常是一组数据,但现在数据变成了动态的。数据结构可能会改变某些数量,这些数量可能变得不可用,并且数据域可能会发生变化,例如某个属性可能有一个以前未预料到的值。