数据挖掘(英语:Data mining)是一个跨学科的电脑科学分支[1][2][3] 。它是用人工智慧、机器学习、统计学和数据库的交叉方法在相对较大型的数据集中发现模式的计算过程[1]。
数据挖掘过程的总体目标是从一个数据集中提取资讯,并将其转换成可理解的结构,以进一步使用[1]。除了原始分析步骤,它还涉及到数据库和数据管理方面、数据预处理、模型与推断方面考量、兴趣度度量、复杂度的考虑,以及发现结构、可视化及在线更新等后处理[1]。数据挖掘是“数据库知识发现”(Knowledge-Discovery in Databases, KDD)的分析步骤[4] ,本质上属于机器学习的范畴。
类似词语“资料采矿”、“数据捕鱼”和“数据探测”指用数据挖掘方法来采样(可能)过小以致无法可靠地统计推断出所发现任何模式的有效性的更大总体数据集的部分。不过这些方法可以建立新的假设来检验更大数据总体。
历史
数据挖掘是因为海量有用资料快速增长的产物。使用电脑进行历史资料分析,1960年代数字方式采集资料已经实现。1980年代,关系数据库随着能够适应动态按需分析资料的结构化查询语言发展起来。数据仓库开始用来存储大量的资料。
定义
数据挖掘有以下这些不同的定义:
尽管通常数据挖掘应用于资料分析,但是像人工智慧一样,它也是一个具有丰富含义的词汇,可用于不同的领域。 它与KDD(Knowledge discovery in databases)的关系是:KDD是从数据中辨别有效的、新颖的、潜在有用的、最终可理解的模式的过程;而数据挖掘是KDD通过特定的算法在可接受的计算效率限制内生成特定模式的一个步骤。 事实上,在现今的文献中,这两个术语经常不加区分的使用。
本质
数据挖掘本质上属于机器学习的内容。
例如《数据挖掘:实用机器学习技术及Java实现》一书[7]大部分是机器学习的内容。这本书最初只叫做“实用机器学习”,“数据挖掘”一词是后来为了营销才加入的[8]。通常情况下,使用更为正式的术语,(大规模)数据分析和分析学,或者指出实际的研究方法(例如人工智慧和机器学习)会更准确一些。
过程
数据挖掘的实际工作是对大规模数据进行自动或半自动的分析,以提取过去未知的有价值的潜在资讯,例如数据的分组(通过聚类分析)、数据的异常记录(通过异常检测)和数据之间的关系(通过关联式规则挖掘)。这通常涉及到数据库技术,例如空间索引。这些潜在资讯可通过对输入数据处理之后的总结来呈现,之后可以用于进一步分析,比如机器学习和预测分析。举个例子,进行数据挖掘操作时可能要把数据分成多组,然后可以使用决策支持系统以获得更加精确的预测结果。不过数据收集、数据预处理、结果解释和撰写报告都不算数据挖掘的步骤,但是它们确实属于“数据库知识发现”(KDD)过程,只不过是一些额外的环节。
数据库知识发现(KDD)过程通常定义为以下阶段:
- (1) 选择
- (2) 预处理
- (3) 变换
- (4) 数据挖掘
- (5) 解释/评估。[4]
在运用数据挖掘算法之前,必须收集目标数据集。由于数据挖掘只能发现实际存在于数据中的模式,目标数据集必须大到足以包含这些模式,而其余的足够简洁以在一个可接受的时间范围内挖掘。常见的数据源如资料超市或数据仓库。在数据挖掘之前,有必要预处理来分析多变量数据。然后要清理目标集。数据清理移除包含噪声和含有缺失数据的观测量。
数据挖掘涉及六类常见的任务: [4]
数据挖掘的价值一般带着一定的目的,而这目的是否得到实现一般可以通过结果验证来实现。验证是指“通过提供客观证据对规定要求已得到满足的认定”,而这个“认定”活动的策划、实施和完成,与“规定要求”的内容紧密相关。数据挖掘过程中的数据验证的“规定要求”的设定,往往与数据挖掘要达到的基本目标、过程目标和最终目标有关。验证的结果可能是“规定要求”得到完全满足,或者完全没有得到满足,以及其他介于两者之间的满足程度的状况。验证可以由数据挖掘的人自己完成,也可以通过其他人参与或完全通过他人的项目,以与数据挖掘者毫无关联的方式进行验证。一般验证过程中,数据挖掘者是不可能不参与的,但对于认定过程中的客观证据的收集、认定的评估等过程如果通过与验证提出者无关的人来实现,往往更具有客观性。通过结果验证,数据挖掘者可以得到对自己所挖掘的数据价值高低的评估。
隐私问题及伦理[9]
与数据挖掘有关的,还牵扯到隐私问题,例如:一个雇主可以透过访问医疗记录来筛选出那些有糖尿病或者严重心脏病的人,从而意图削减保险支出。然而,这种做法会导致伦理和法律问题。
对于政府和商业资料的挖掘,可能会涉及到的,是国家安全或者商业机密之类的问题。这对于保密也是个不小的挑战。[10]
数据挖掘有很多合法的用途,例如可以在患者群的数据库中查出某药物和其副作用的关系。这种关系可能在1000人中也不会出现一例,但药物学相关的项目就可以运用此方法减少对药物有不良反应的病人数量,还有可能挽救生命;但这当中还是存在着数据库可能被滥用的问题。
数据挖掘实现了用其他方法不可能实现的方法来发现资讯,但它必须受到规范,应当在适当的说明下使用。
如果资料是收集自特定的个人,那么就会出现一些涉及保密、法律和伦理的问题。[11]
2018年5月25日,欧盟一般资料保护规范(General Data Protection Regulation,GDPR)正式上路,保障个人资料搜集的同意权与删除要求,在进入网站时会进行个人资料搜集、处理及利用之告知,并在当事人同意之下做搜集。[12]
方法
数据挖掘的方法包括监督式学习、非监督式学习、半监督学习、增强学习。监督式学习包括:分类、估计、预测。非监督式学习包括:聚类,关联规则分析。
例子
数据挖掘在零售行业中的应用:零售公司跟踪客户的购买情况,发现某个客户购买了大量的真丝衬衣,这时数据挖掘系统就在此客户和真丝衬衣之间建立关系。销售部门就会看到此资讯,直接发送真丝衬衣的当前行情,以及所有关于真丝衬衫的资料发给该客户。这样零售商店通过数据挖掘系统就发现了以前未知的关于客户的新资讯,并且扩大经营范围。
数据捕捞
通常作为与资料仓库和分析相关的技术,数据挖掘处于它们的中间。然而,有时还会出现十分可笑的应用,例如发掘出不存在但看起来振奋人心的模式(特别的因果关系),这些根本不相关的、甚至引人误入歧途的、或是毫无价值的关系,在统计学文献里通常被戏称为“资料挖泥”(Data dredging, data fishing, or data snooping)。
数据挖掘意味着扫描可能存在任何关系的资料,然后筛选出符合的模式,(这也叫作“过度匹配模式”)。大量的数据集中总会有碰巧或特定的资料,有着“令人振奋的关系”。因此,一些结论看上去十分令人怀疑。尽管如此,一些探索性资料分析 还是需要应用统计分析查找资料,所以好的统计方法和数据资料的界限并不是很清晰。
更危险是出现根本不存在的关系性。投资分析家似乎最容易犯这种错误。在一本叫做《顾客的游艇在哪里?》的书中写道:“总是有相当数量的可怜人,忙于从上千次的赌轮盘的轮子上查找可能的重复模式。十分不幸的是,他们通常会找到。”[13]
多数的数据挖掘研究都关注于发现大量的资料集中,一个高度详细的模式。在《大忙人的数据挖掘》一书中, 西弗吉尼亚大学和不列颠哥伦比亚大学研究者讨论了一个交替模式,用来发现一个资料集当中两个元素的最小区别,它的目标是发现一个更简单的模式来描述相关数据。[14]
参见
- 方法
- 应用领域
- 应用实例
- 客户分析
- 农业数据挖掘
- 气象中的数据挖掘
- 教育数据挖掘
- 美国国家安全局
- 定量构效关系
- 监视 / 大规模监控 (e.g., 恒星风 (情报活动代号))
- 相关主题
数据挖掘是关于分析数据的;有关从数据中提取资讯的资讯,参见:
参考文献
延伸阅读
外部链接
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.