1.2 推动数据挖掘发展的因素

1.2 数据挖掘要解决的问题

传统的数据分析技术在应对大数据应用带来的挑战时,经常遇到实际困难。以下是推动数据挖掘发展的一些具体问题。

可伸缩

(Scalability)

由于数据生成和收集方面的进步,TB、PB甚至EB大小的数据集越来越普遍。如果数据挖掘算法要处理这些庞大的数据集,它们必须是可伸缩的。可伸缩性还需要实现新的数据结构,以高效地访问单个记录。比如内存不足时需要使用非内存算法。可伸缩性也可以通过使用抽样或开发并行和分布式算法来改进。

高维性

(High Dimensionality)

现在经常会遇到具有数百或数千个属性的数据集,而不是几十年前仅有的几个属性。如在生物信息学中,微阵列技术的进展产生了涉及数千个特征的基因表达数据。针对低维数据开发的传统数据分析技术常常不能很好用于高维。在一些数据分析算法中,计算复杂度随着维数(特征的数量)的增加而迅速增加。

异构和复杂的数据

(Heterogeneous and Complex Data)

传统的数据分析方法经常处理包含相同类型属性的数据集,包括连续的或分类的。现代的数据呈现出复杂和异构性。如包含了文本,超链接,图片,视频等的网页数据。具有顺序和三维结构的DNA数据。为挖掘此类复杂对象而开发的技术应考虑数据中的联系,如时间和空间自相关、图的连通性以及半结构化文本和XML文档中元素之间的父子关系。

数据的所有权和分布

(Data Ownership and Distribution)

有时,分析所需的数据并不存储在一个位置或属于一个组织。相反,数据在地理上分布在属于多个实体的资源之间。这就要求开发分布式数据挖掘技术。分布式数据挖掘算法面临的主要挑战包括:

  1. 如何减少执行分布式计算所需的通信量;
  2. 如何有效地整合来自多个来源的数据挖掘结果;
  3. 如何解决数据安全和隐私问题

非传统的分析

传统的统计方法是基于假设和检验的范式。也就是说,提出一个假设,设计一个实验来收集数据,然后根据假设对数据进行分析。不幸的是,这个过程是非常劳动密集型的。当前的数据分析任务通常需要生成和评估数千个假设,因此需要自动地产生和评估假设,这促使人们开发了一些数据挖掘技术。此外,数据挖掘中分析的数据集通常不是精心设计的实验结果,它代表着数据的时机样本(opportunistic sample),而不是随机样本(random sample)。