1、大数据挖据的定义
从大数据与相关技术的关联关系上来看,互联网、物联网、云计算等技术的发展为大数据提供了基础。互联网、物联网提供了大量数据来源;云计算的分布式存储和计算能力提供了技术支撑;而大数据的核心是数据处理。其中传统的数据处理技术经过演进依然有效,新兴技术还在不断探索和发展中。数据挖掘技术成为高效利用数据、发现价值的核心技术。
关于数据挖掘有很多相近的术语,如:数据库中的知识发现(Knowledge Discovery in Database,KDD))、知识挖掘、知识提取、数据/模式分析、数据考古、数据融合等。其中,最常使用的是数据挖掘和知识发现,并且两者在使用中常常不加区分。就术语的使用情况看,在2012年大数据尚未被广泛关注之前,人工智能领域主要使用知识发现,而数据库领域和工业界主要使用数据挖掘,市场上的绝大部分产品也称为数据挖掘工具,而非知识发现工具。在大数据受到广泛关注之后,数据挖掘被更加广泛地使用,其他术语的使用越来越少。
1996年, Fayaad 等人对数据挖掘定义进行了详细阐述,将数据挖掘看作是KDD的一个过程。定义数据挖掘是 一个确定数据中有效的、新颖的、潜在可用的且最终可理解的模式的重要过程。 随后,著名的数据挖掘研究学者Jiawei Han也给出了自己的定义: 从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的但又是潜在有用信息和知识的过程。
综上,我们可以认为: 数据挖掘是通过分析每个数据从大量数据中寻找其规律的技术。
相较于其他数据挖掘定义,该定义给出了数据挖掘的核心 “大量” 和 “寻找” ,而对挖掘到的“规律”没有做任何描述或限制,即没有要求“规律”是“有用的”。事实上,一个规律有用与否是由用户的需求决定的。挖掘算法本身很难保证挖掘结果的有用性,一般需要用户在挖掘过程中不断调整相关参数(如支持度、置信度等)来获得有用的结果。有时,一些被认为是“无用”的结果经过评价后可能是意外的好结果。
数据隐含价值,技术发现价值,应用实现价值。 数据、技术和应用是大数据的三个内涵。大数据环境下,数据挖掘的对象(即数据)有了新的特征,这决定了大数据挖掘将被赋予新的含义,相应的,也产生了新的挖掘算法和模型。
因此, 大数据挖掘 可以定义为: 从大数据集中寻找其规律的技术。 将“大数据集”强调为大数据挖掘的对象。
需要注意的是,在大数据挖掘中, “寻找”变得更具挑战性 ,因为,大数据具有高价值、低密度的特性,即规律不是显而易见的,而是隐含在大数据之中,需要用新的方法和技术去寻找。同样的,对挖掘到的“规律”没有做任何描述或限制,大数据的价值是更加难以估量的,需要在大数据的应用中去实现。
2、大数据挖掘的任务
数据挖掘在自身发展的过程中,吸收了数理统计、数据库和人工智能中的大量技术。从挖掘的主要任务角度看,大数据挖掘任务仍然包含传统的五大类数据挖掘任务,但是,从技术角度看,针对大数据集的特点、大数据应指导分类模型的构建。在大数据环境下,我们拥有多源融合的、规模巨大的数据集,为数据挖掘积累了更丰富的数据基础。但是,现实情况是数据集中更多的数据是没有经过专家打好标签的。例如,高血压危险因素分析中,将包含有大量因为没有出现高血压症状而没有就医的人群,但是从其健康档案记录或者其他就医记录中已隐藏了潜在的高血压危险因素。这需要有新的大数据分类方法,在训练过程中综合利用较少的有标签样本和较多的无标签样本进行学习,降低对数据进行人工标注的昂贵开销,这就是新的分类分析任务。值得指出的是,面向高价值、低密度的大数据集,除了上述数据挖掘任务外,特异群组分析是一类新型的大数据挖掘任务。
下面给出各个挖掘任务的简要描述。
(1)关联分析 :寻找数据项之间的关联关系。例如:我们可以通过对交易数据的分析可能得出“86%买‘啤酒’的人同时也买‘尿布’”这样一条“啤酒”和“尿布”之间的关联规则。
(2)聚类分析 :根据最大化簇内的相似性、最小化簇间的相似性的原则将数据对象集合划分成若干个簇的过程。例如:我们可以通过对电子商务网站用户的注册数据和购买行为数据的分析,划分消费者的消费层次为节约时间型消费等。
(3)分类分析 :找出描述并区分数据类的模型(可以是显式或隐式),以便能够使用模型预测给定数据所属的数据类。例如:P2P网贷平台可以将贷款人的信用等级分类为:AA(信用水平最高级,代表极低的违约率)、A、B、C、D、E、HR(低信用水平,潜在的违约风险最高级)。分类分析通过对这些数据及其类标签的分析给出一个信用等级的显式模型,例如:“AA级贷款者是年收入在××元到×××元,年龄在×××至×××,居住面积达×××平方米以上的人”。这样,对于一个新提交信用审核申请的贷款人,就可以根据他的特征预测其信用等级。
(4)异常分析 :一个数据集中往往包含一些特别的数据,其行为和模式与一般的数据不同,这些数据称为“异常”。对“异常”数据的分析称为“异常分析”。例如,在对银行客户信用卡刷卡记录数据进行监测的过程中,发现某一笔交易明显不同于以往的消费模式。
(5)演变分析 :描述时间序列数据随时间变化的数据的规律或趋势,并对其建模。包括时间序列趋势分析、周期模式匹配等。例如:通过对交易数据的演变分析,可能会得到89%的情况下,股票X上涨一周左右后,股票Y会上涨”这样一条序列知识,或者通过对股票某一历史交易时间区间的价格变化情况,可以预测出下一交易日的价格。
(6)特异群组分析 :发现数据对象集中明显不同于大部分数据对象(不具有相似性)的数据对象(称为特异对象)的过程。一个数据集中大部分数据对象不相似,而每个特异群组中的对象是相似的。这是一种大数据环境下的新型数据挖掘任务。
3、大数据挖掘的特点
“大量”、“多源、异质、复杂”、“动态”、“ 价值高但价值密度低” 的大数据特征决定了大数据挖掘技术不同于之前的数据挖掘技术。大数据挖掘技术包括:
高性能计算支持的分布式;
并行数据挖掘技术;
面向多源、不完整数据的不确定数据挖掘技术;
面向复杂数据组织形式的图数据挖掘技术;
面向非结构化稀疏性的超高维数据挖掘技术;
面向价值高但价值密度低特征的特异群组挖掘技术;
面向动态数据的实时、增量数据挖掘技术等。
(1)“大量的”与并行分布式数据挖掘算法研究
大数据的“大”通常是指PB级以上的,这与之前的数据挖掘技术针对的数据对象的规模不同。这一特征需要更高性能的计算平台支持,考虑大规模数据的分布式、并行处理,对数据挖掘技术带来的挑战是I/O交换、数据移动的代价高,还需要在不同站点间分析数据挖掘模型间的关系。
虽然以往已有并行分布式数据挖掘算法的相关研究,但是,大数据环境下,需要新的云计算基础架构支撑(例如,Hadoop、Spark等)。
(2)“多源的”与不确定数据挖掘算法研究
大数据时代,收集和获取各种数据倍受关注,更多方式、更多类型、更多领域的数据被收集。不同数据源的数据由于数据获取的方式不同、收集数据的设备不同,大数据下,挖掘的数据对象常常具有不确定、不完整的特点,这要求大数据挖掘技术能够处理不确定、不完整的数据集,并且考虑多源数据挖掘模型和决策融合。
数据挖掘一直以来重视数据质量。数据的质量决定数据挖掘结果的价值。然而,大数据环境下,数据获取能力逐渐高于数据分析能力。数据获取过程中数据缺失、含有噪音难以避免,更值得注意的是,数据获取的目标也与以前不同,并不是针对某个特定应用或特定任务收集的。数据填充、补全是困难的。因此,大数据挖掘技术要有更强地处理不确定、不完整数据集的能力。
(3)“复杂的”与非结构化、超高维、稀疏数据挖掘算法研究
大数据下,来自网络文本(用户评论文本数据)、图像、视频的数据挖掘应用更加广泛,非结构化数据给数据挖掘技术带来了新的要求,特征抽取是非结构化数据挖掘的重要步骤,大数据挖掘算法设计要考虑超高维特征和稀疏性。也需要新型非关系型数据库技术的支持,通常表现为关系型数据库和非关系型数据库互为补充。
超高维特征分析的需求使得深度学习技术成为热点。数据挖掘技术一直将统计学习、机器学习、人工智能等算法和技术与数据库技术结合应用,发现数据中的规律。大数据环境下,深度学习与大数据的结合,也将成为寻找大数据其中规律的重要支撑技术之一。
(4)“动态的、演变的”与实时、增量数据挖掘算法研究
时序数据挖掘是数据挖掘领域的一个研究主题。然而,大数据环境下,数据的获取更加高速,关键是处理数据的需求在实时性方面的要求更高。早期的数据挖掘总是能容忍分钟级别,甚至更长时延的响应。现在,许多领域已经使用数据挖掘技术分析本领域数据,各个领域对数据挖掘结果响应需求存在差异,不少领域需要有更到的响应度,例如实时在线精准广告投放、证券市场高频交易等。
(5)“高价值低密度”与聚类、不平衡分类、异常挖掘算法研究
大数据环境下,产生了新的数据挖掘任务。其中,特异群组是一类低密度高价值的数据,特异群组是指在众多行为对象中,少数对象群体具有一定数量的相同或相似的行为模式,表现出相异于大多数对象而形成异常的组群。特异群组挖掘问题既不是异常点挖掘(只发现孤立点)问题也不是聚类问题(将大部分数据分组),是一类全新的问题。
4、大数据挖掘与相关技术的差异
(1)数据挖掘与数理统计
数理统计和数据挖掘有着共同的目标:发现数据中的规律。而且有许多数据挖掘工作还用了数理统计的算法或模型,一些市场上所谓的数据挖掘工具软件也是统计软件或是从统计软件演变过来的。正因为如此,两者就成了最容易混淆的概念。我们认为两者在做法上是有很大不同的。
手工与计算机
由于统计学基础的建立在计算机的发明之前,所以许多统计学方法是可以手工实现的。对于很多统计学家来说,几百个数据或几十个变量就已经是很大的了。但这个“大”对于现在计算机中GB级别的交易记录或几千万个客户信息来说相差就太远了。很明显,面对这么多的数据,设计“原则上可以手工实现”的统计方法和设计“原则上有计算机数据仓库支持”的数据挖掘方法是有很大不同的,很多统计模型和算法在处理大数据量时可能就会失去意义。这意味着计算机对于数据的分析和处理是关键的,而手工直接处理数据将变得不可行。
用样本推断总体规律与直接找出总体的规律
用样本推断总体规律是统计学的核心方法之一,而数据挖掘由于采用了计算机技术,更关注对总体规律的分析。当然,数据挖掘也常常关注样本。
例如,数据库中有某厂历年生产的1000万台电视机和对应1000万个客户的全部信息。在这种情形下,用样本构造某种模型或某个估计值来推断1000万台电视机的使用情况就没有价值了,可以通过数据挖掘直接找出总体的规律。
但在一些预测性分析中,数据挖掘也常常使用样本。例如,对一个新产品的广告宣传活动进行响应率分析。对1000万人做该广告,实际应该有10万人响应。但通过一个样本分析发现,其中有三类人群对该广告的响应率较高。因此,就有针对性地对高响应率的100万人做了该广告,结果获得了8万人的响应。
普遍规律与特定规律
统计学研究问题的结构常常会得到一个统计模型,而这个模型是普通使用的,而数据挖掘得到的某个数据集的规律,常常不具有普遍意义。例如,“掷硬币出现正反面的概率都是50%”。但在某个赌场,一年中每天掷出硬币,其正面出现的次数为68%~93%,统计学中“正反面出现的概率是50%”的推断在这样一个总体中就没有价值了。
模型和实验
由于自身的数学背景,统计学最求精确,建立一个模型并证明之,而不是像数据挖掘那样注重实验。这并不意味着数据挖掘工作着不注重精确,而只是说明如果精确的方法不能产生结果的话就会被放弃。例如,证券公司的一个业务回归模型可能会把保证金作为一个独立的变量,因为一般认为大的保证金会导致大的业务,所以花费高成本开设大户室。但实际上经过对一年来的交易情况进行数据挖掘却发现:交易额度和盈利情况才是最重要的。
这说明,虽然有上述的差异,很多时候我们任然可以这样说:将很多数理统计算法或模型写成计算机程序并能够用于大规模的数据分析就变成了数据挖掘技术。
(2)数据挖掘与数据库技术
数据库技术提供了大规模数据的存储、管理、访问和处理能力,是数据挖掘过程中所必需的技术支持。我们可以在没有DBMS(数据库管理系统)支持下进行数据挖掘,但是在数据挖掘过程中肯定要用到数据库技术(如索引技术)。当然,更多的数据挖掘工作是针对数据库中的数据进行的。因此,数据挖掘和数据库没有概念上的冲突。
(3)数据挖掘与数据仓库
很多时候数据挖掘确实都是在数据仓库中进行的,一方面,数据挖掘中的成功故事“啤酒和尿布”正式在数据仓库中做出的;另一方面,数据挖掘强调对历史数据的分析,而数据仓库正是存储历史数据的。
当然,有一个现成的数据仓库供我们进行数据挖掘是很好的。事实上,数据挖掘可以在任意数据源上进行,其数据源可以是数据仓库、数据库、文本文件、Web数据、流数据等。相反,建立数据仓库的主要目的倒是进行数据挖掘。
(4)数据挖掘与OLAP
联机分析处理(Online analytical processing,OLAP) 主要通过多维的方式来对数据进行分析、查询和产生报表。
数据挖掘与OLAP都属于分析性工具,但两者之间有着明显的区别。第一,OLAP对数据的分析层次较低,主要是依照数据维进行不同层次的汇总,可以认为是数据库中统计等运算的延伸。而数据挖掘则利用复杂的算法寻找数据规律。第二,OLAP强调的是联机(online),因此是完全地用空间换取时间(OLAP中的数据立方结构就是典型的用空间换取时间的方式)的工作方式。而数据挖掘时分析历史数据的规律,这时往往不是联机的,而其挖掘结果是可以应用于联机环境下预测和检测的。即挖掘时脱机的,挖掘结果应用才是会联机的,所以不存在空间换时间的问题。
(5)数据挖掘与商业智能
商业智能(Business intelligence,BI) 是一个很商业化的术语。一个完整的商业智能应用系统应该包括数据库/数据仓库、查询/报表、OLAP、数据挖掘、商业模型等几个方面的内容。因此,数据挖掘同样是商业智能的重要支撑技术之一。
(6)数据挖掘和大数据
大数据包括数据、技术、思想、应用等多个层次的内涵。数据挖掘更侧重于大数据的技术方面,是一种重要的大数据分析技术,用于发现大数据价值;大数据集是大数据挖掘的研究对象;大数据挖掘技术支撑了大数据应用,实现了大数据的价值。
5、大数据挖掘关键技术
(1)关联分析
自然界中某种事情发生时其他时间也常常会发生,这样一种练习称为关联。这种反映事件之间互相关联的知识称为关联型知识。例如,在某超市的交易记录中,发现“86%购买啤酒的人同时也购买尿布”,这种规律成为指导超市销售决策和管理的有效辅助性知识。 关联分析(Association analysis) 技术就是在诸如商场交易这样的大规模数据中分析并找到有价值的关联型知识。最著名的应用是沃尔玛(Wal-Mart)公司通过收集消费者购买其产品的历史数据,形成消费者的消费档案,并对这些历史数据进行关联分析而了解消费者的购买模式。
关联分析的目的是找到用户感兴趣的关联规则,辅助用户管理决策。频繁模式挖掘是关联分析的关键步骤,比较经典的频繁模式挖掘算法包括:Apriori算法和FP-Growth算法。
(2)聚类分析
聚类分析是人类一向基本的认知活动(如区分动物和植物),通过适当的聚类分析,人们更容易掌握事物的内部规律。聚类分析已经被广泛应用于社会学、经济学、电子商务等多个领域,如在市场营销中,根据客户的购物积分卡记录中的购物次数、时间、性别、年龄、职业、购物种类、金额等信息,进行聚类分析,帮助市场分析人员从交易数据库中发现不同的客户群,针对不同群体制定营销策略,提高客户对商场商业活动的响应率。此外,聚类分析在生物学领域应用日益突出,如通过对基因的聚类分析,获得对种群的认识等。
聚类分析是根据最大化类内的相似性、最小化类间的相似性的原则将数据对象聚类或分组,所形成的每个簇可以看作一个数据对象类,用显示或隐式的方法描述它们。
相似度用于判断两个样本之间的差异程度,它是定义一个簇的基础,聚类分析过程的质量取决于对相似度度量标准的选择。通常使用“距离”来描述数据之间的相似程度。常用的距离度量标准有欧几里得距离、Minkowski距离等。常用的聚类算法包括:基于层次的最领近算法、BIRCH算法、k-medoids算法、基于密度的OPTICS算法等。
(3)分类分析
“啤酒尿布”的故事启发销售商采用关联分析了解客户的购买习惯,进而选择更优的营销方案,但仅由这种技术来制定营销方案任然是不够的,销售商还要考虑需要对哪些客户采用哪种营销方案,这需要分类技术,将诸如客户或营销方案等分门别类,为各类客户提供个性化方案。分类技术已经在各个行业得到了广泛应用。例如,在医疗诊断中,用分类预测申请者的信用等级等。
分类是根据已有的数据样本集的特点建立一个能够把数据集中的数据项映射到某一个给定类别的分类函数或构造一个分类模型(或分类器classifier)的技术,从而对未知类别的样本赋予类别,以更好的辅助决策。
分类器的构造分为模型训练阶段(分析输入数据,通过在训练数据集中的数据表现出来的特性,为每一个类找到一种准确的描述或模型)和测试阶段(使用模型分类的阶段,利用类别的描述或模型对测试数据进行分类)。
常见的分类模型的构造方法有决策树方法、统计方法、神经网络方法等。不同分类模型有不同特点,数据样本分类的结果也不同,评价分类模型的尺度主要包括:预测准确度、计算复杂度、模型描述的简洁度等。
(4)异常分析
前面讨论的关联、分类、聚类分析等数据挖掘技术研究的问题主要是针对数据集中的大部分对象,而数据集中小部分明显不同于其他数据的对象(异常对象)常常被人们忽略或作为噪音消除。事实上,一些应用中,这些异常对象可能包含比正常数据更优价值的信息,比如信用卡欺诈检测问题中,相对被窃前的使用模式而言,被窃后的使用模式很可能是个异常点,因此可通过识别这个异常点检测信用卡是否被窃。异常分析已经成为数据挖掘中的一个重要方面,它是在诸如信用卡使用模式这样的大量数据中发现明显不同于其他数据的异常对象的技术。
一个数据集中包含的一些特别的数据称为“异常”,它们的行为和模式与一般的数据不同,它们又不同于聚类算法中的“噪音”,不依赖于是否存在簇。异常分析算法主要包括基于统计的异常分析方法、基于偏差的异常分析方法、基于距离的异常分析方法以及基于密度的异常分析方法等。
(5)特异群组挖掘
特异群组挖掘在证券金融、医疗保险、智能交通、社会网络和生命科学等研究领域具有重要应用价值。特异群组挖掘与聚类、异常挖掘都属于根据数据对象的相似性来划分数据集的数据挖据任务,但是,特异群组挖掘在问题定义、算法设计和应用效果方面不同于聚类和异常等挖掘任务。
挖掘高价值、低密度的数据对象是大数据的一项重要工作,甚至高价值、低密度常常被用于描述大数据的特征。将大数据集中的少部分具有相似性的对象划分到若干个组中,而大部分数据对象不在任何组中,也不和其他对象相似,将这样的组群称为特异群组,实现这一挖掘需求的数据挖掘任务被称为特异群组挖掘。需要强调的是,特异群组是指由给定大数据集里面少数相似的数据对象组成的、表现出相异于大多数数据对象而形成异常的群组,是一种高价值、低密度的数据形态。
大数据的特异群组挖掘具有广泛的应用背景。例如,在证券市场中,特异群组常常表现为合谋操纵(多帐户联合操纵)、基金“老鼠仓”等。
(6)演变分析
描述发展规律和趋势是一种重要的预测形式, 演变分析(Evolution analysis) 是一种用于描述对象行为随时间变化的规律或趋势,并对其建模,以预测对象行为的未来形式的技术。例如,通过对股票交易数据的演变分析,可能会得到“89%情况下,股票X上涨一周左右后,股票Y会上涨”的一条知识。演变分析主要包括因果分析、时间序列分析等。
因果分析方法是研究当某个或某些因素发生变化时,对其他因素的影响。回归分析是一类重要的因果分析方法,它是从各变量的互相关系出发,通过分析与被预测变量有联系的现象的动态趋势,推算出被预测变量未来状态的一种预测法。回归分析预测法以来一个假设,即要预测的变量与其他一个或多个变量之间存在因果关系。
时间序列分析是通过分析调查收集的已知历史和现状方面的资料,研究其演变规律,据此预测对象的未来发展趋势。使用时间序列分析法基于一个假设,即事物在过去如何随时间变化,那么在今后也会同样的方式继续变化下去。
6、小结
数据挖掘已经有20多年历史了,20年前,“尿布和啤酒的故事”像童话一样被许多应用领域的信息主管认为是不靠谱的幻想(很多地方称为营销神话)。如今,大数据来了,却有很多人将该故事当作大数据的典型案例来讲。“尿布和啤酒的故事”是说“通过对所有购物单进行数据挖掘,发现尿布和啤酒经常被同时购买”,数据挖掘告诉我们一种关联现象,而不是因果。
大数据来了,之前众多基于内存的数据挖掘算法不能再使用,于是需要新的能够运行在大数据计算架构上的数据挖掘算法。另一方面,数据来源和类型也更复杂了,而之前的数据挖掘算法主要是针对单一数据类型的,于是需要新的数据挖掘算法——能够分析复杂数据类型的数据挖掘算法。这些应该是大数据挖掘的主要内容。
原文链接:http://m9.baidu.com/feed/data/landingpage?dsp=wise&nid=16696555601146470227&n_type=&p_from=4