1、全国高校标准教材云计算姊妹篇,剖析大数据核心技术和实战应用大数据B I G全国高校标准教材云计算姊妹篇,剖析大数据核心技术和实战应用第三章数据挖掘算法3.1数据挖掘概述3.2分类3.3聚类3.4关联规则3.5预测规模习题3.6数据挖掘算法综合应用of3923.1数据挖掘概述第三章 数据挖掘算法20世纪80年代末,数据挖掘(Data Mining,DM)提出。1989年,KDD 这个名词正式开始出现。1995年,“数据挖掘”流传。从科学定义分析,数据挖掘是从大量的、有噪声的、不完全的、模糊和随机的数据中,提取出隐含在其中的、人们事先不知道的、具有潜在利用价值的信息和知识的过程。从技术角度分析,数
2、据挖掘就是利用一系列的相关算法和技术,从大数据中提取出行业或公司所需要的、有实际应用价值的知识的过程。知识表示形式可以是概念、规律、规则与模式等。准确地说,数据挖掘是整个知识发现流程中的一个具体步骤,也是知识发现过程中最重要的核心步骤。特征处理大数据的能力更强,且无须太专业的统计背景就可以使用数据挖掘工具数据挖掘的最终目的是方便企业终端用户使用,而并非给统计学家检测用的从使用与需求的角度上看,数据挖掘工具更符合企业界的需求of3933.1.1 数据挖掘概念3.1数据挖掘概述第三章 数据挖掘算法使用广义角度分类聚类估值预测关联规则数理基础角度机器学习方法统计方法神经网络方法决策树基于范例学习规则
3、归纳遗传算法回归分析 时间序列分析 关联分析聚类分析粗糙集探索性分析支持向量机最近邻分析模糊集前向神经网络自组织神经网络多层神经网络深度学习感知机可视化of3943.1.2 数据挖掘常用算法3.1数据挖掘概述第三章 数据挖掘算法1分类数据挖掘方法中的一种重要方法就是分类,在给定数据基础上构建分类函数或分类模型,该函数或模型能够把数据归类为给定类别中的某一种类别,这就是分类的概念。2聚类3关联规则4时间序列预测聚类也就是将抽象对象的集合分为相似对象组成的多个类的过程,聚类过程生成的簇称为一组数据对象的集合。关联规则属于数据挖掘算法中的一类重要方法,关联规则就是支持度与信任度分别满足用户给定阈值的
4、规则。时间序列预测法是一种历史引申预测法,也即将时间数列所反映的事件发展过程进行引申外推,预测发展趋势的一种方法。of3953.1.2 数据挖掘常用算法3.1数据挖掘概述第三章 数据挖掘算法按照数据挖掘的应用场景分类,数据挖掘的应用主要涉及通信、股票、金融、银行、交通、商品零售、生物医学、精确营销、地震预测、工业产品设计等领域,在这些领域众多数据挖掘方法均被广泛采用且衍生出各自独特的算法。1数据挖掘在电信行业的应用2数据挖掘在商业银行中的应用数据挖掘广泛应用在电信行业,可以帮助企业制定合理的服务与资费标准、防止欺诈、优惠政策,为公司决策者提供可靠的决策依据,为市场营销、客户服务、全网业务、经营
5、决策等提供有效的数据支撑,进一步完善了国内电信公司对省、市电信运营的指导,在业务运营中发挥重要的作用,从而为精细化运营提供技术与数据的基础。在美国银行业与金融服务领域数据挖掘技术的应用十分广泛,由于金融业务的分析与评估往往需要大数据的支撑,从中可以发现客户的信用评级与潜在客户等有价值的信息,可成功地预测客户的需求。of3963.1.3 数据挖掘应用场景3.1数据挖掘概述第三章 数据挖掘算法3数据挖掘在信息安全中的应用4数据挖掘在科学探索中的应用利用机器学习与数据挖掘等前沿技术与处理方法对入侵检测的数据进行自动分析,提取出尽可能多的隐藏安全信息,从中抽象出与安全有关的数据特征,从而能够发现未知的
6、入侵行为。数据挖掘技术可以建立一种具备自适应性、自动的、系统与良好扩展性的入侵检测系统,能够解决传统入侵检测系统适应性与扩展性较差的弱点,大幅度提高入侵检测系统的检测与响应的效能。近年来,数据挖掘技术已经开始逐步应用到科学探索研究中。例如,在生物学领域数据挖掘主要应用在分子生物学与基因工程的研究。使用概率论模型对蛋白质序列进行多序列联配建模;特定数据挖掘技术研究基因数据库搜索技术;在被认为是人类征服顽疾的最有前途的攻关课题“DNA序列分析”过程中,由于DNA序列的构 成多种多样,数据挖掘技术的应用可以为发现疾病蕴藏的基因排列信息提供新方法。of3973.1.3 数据挖掘应用场景3.1数据挖掘概
7、述第三章 数据挖掘算法根据适用的范围,数据挖掘工具分为两类:专用挖掘工具和通用挖掘工具。专用数据挖掘工具针对某个特定领域的问题提供解决方案,在涉及算法的时候充分考虑数据、需求的特殊性。对任何应用领域,专业的统计研发人员都可以开发特定的数据挖掘工具。Weka软件SPSS软件Clementine软件RapidMiner软件其他数据挖掘软件SPSS采用类似Excel表格的方式输入与管理数据,数据接口较为通用,能方便地从其他数据库中读入数据。突出的特点是操作界面友好,且输出结果美观。Clementine提供出色、广泛的数据挖掘技术,确保用恰当的分析技术来处理相应的商业问题,得到最优的结果以应对随时出现
8、的问题。RapidMiner并不支持分析流程图方式,当包含的运算符比较多时就不容易查看;具有丰富的数据挖掘分析和算法功能,常用于解决各种商业关键问题。公开的数据挖掘工作平台,集成大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理、分类、回归、聚类、关联规则,以及交互式界面上的可视化。流行的数据挖掘软件还包括Orange、Knime、Keel与Tanagra等of3983.1.4 数据挖掘工具3.2分类3.1数据挖掘概述全国高校标准教材云计算姊妹篇,剖析大数据核心技术和实战应用第三章数据挖掘算法3.3聚类3.4关联规则3.5预测规模习题3.6数据挖掘算法综合应用of3993.2 分类分类
9、是一种重要的数据分析形式,根据重要数据类的特征向量值及其他约束条件,构造分类函数或分类模型(分类器),目的是根据数据集的特点把未知类别的样本映射到给定类别中。数据分类过程主要包括两个步骤,即学习和分类。图3-1 建立一个模型第一步,建立一个模型第三章 数据挖掘算法of3910图3-2 使用模型进行分类3.2 分类第二步,使用模型进行分类第三章 数据挖掘算法of39113.2 分类分类分析在数据挖掘中是一项比较重要的任务,目前在商业上应用最多。分类的目的是从历史数据记录中自动推导出对给定数据的推广描述,从而学会一个分类函数或分类模型(也常常称作分类器),该模型能把数据库中的数据项映射到给定类别中
10、的某一个类中。为建立模型而被分析的数据元组形成训练数据集,由一组数据库记录或元组构成,每个元组是一个由有关字段(又称属性或特征)值组成的特征向量,此外,每一个训练样本都有一个预先定义的类别标记,由一个被称为类标签的属性确定。一个具体样本的形式可表示为 ,其中 表示字段值,C 表示类别1,nXXCnX分类又称为有监督的学习第三章 数据挖掘算法of39123.2 分类1条件概率数学基础知识事件A 在另外一个事件B 已经发生条件下的发生概率,称为在B 条件下A 的概率。表示为|P A B|P ABP A BP B2联合概率联合概率表示两个事件共同发生的概率。A 与B 的联合概率表示为 、或者P AB
11、,P A BP AB3贝叶斯定理贝叶斯定理用来描述两个条件概率之间的关系,例如,与 。根据乘法法则 可以推导出贝叶斯公式:|P A B|P B A|P ABP A P B AP B P A B|P A P B AP A BP B第三章 数据挖掘算法of39133.2.1 贝叶斯决策与分类器3.2 分类4全概率公式全概率公式为概率论中的重要公式,它将对复杂事件A 的概率求解问题转化为在不同情况下发生的简单事件的概率的求和问题。设 构成一个完备事件组,即它们两两互不相容,其和为全集,且,则事件A的概率为:1,nBB01,iP Bin 111|nnniiiP AP A BP BP A BP BP A
12、 BP B,贝叶斯分类的工作过程如下:(1)每个数据样本均是由一个n 维特征向量 表示,分别描述其n 个属性的具体取值。12,nx xxX12,nA AA第三章 数据挖掘算法of39143.2.1 贝叶斯决策与分类器3.2 分类4全概率公式(2)假设共有m 个不同类别,。给定一个未知类别的数据样本X(没有类别号),分类器预测属于X 后验概率最大的那个类别。也就是说,朴素贝叶斯分类器将未知类别的样本X 归属到类别 ,当且仅当 。也就是 最大。其中类别 就称为最大后验概率的假设。根据贝叶斯公式可得:(3)由于 对于所有的类别均是相同的,因此,只需要 取最大即可。由于类别的先验概率是未知的,则通常假
13、定类别出现概率相同,即 。这样对于式(3-4)取最大转换成只需要求 最大。而类别的先验概率一般可以通过 公式进行估算,其中,为训练样本集合中类别 的个数,s 为整个训练样本集合的大小。12,mC CCiC|,1,ijP CXP CXjm ji|iP CXiCP X|iiP X CP C12mP CP CP C(3-4)|iP X CiisPCsisiC第三章 数据挖掘算法of39153.2.1 贝叶斯决策与分类器3.2 分类4全概率公式(4)根据所给定包含多个属性的数据集,直接计算 的运算量非常大。为实现对的有效估算,朴素贝叶斯分类器通常都假设各类别是相互独立的,即各属性间不存在依赖关系,其取
14、值是相互独立的。可以根据训练数据样本估算 的值。如果 是分类属性,则 ;其中 是在属性 上具有值 的类 的训练样本数,而 是 中的训练样本数。如果 是连续值属性,则通常假定该属性服从高斯分布。因而 (3-6)给定类 的训练样本属性 的值,是属性 的高斯密度函数,分别为均值和方差。(5)为预测一个未知样本X 的类别,可对每个类别 估算相应的 。样本X 归属类别 当且仅当 ,即X 属于 为最大的类 。|iP X C|iP X C1|nikikP X Cp xC12|,|,|iinip xCp xCp xCkA|ikkiispxCsikskAkxiCisiCkA2221|,e2ciciiiixkik
15、cccp xCg xiCkA,iikccg xkAiciciC|iiP X CP CiC|1,iijjP X CP CP X CP Cjm ji,|iiP X CP CiC第三章 数据挖掘算法of39163.2.1 贝叶斯决策与分类器3.2 分类第三章 数据挖掘算法支持向量机(Support Vector Machine)是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(对特定训练样本的学习精度,Accuracy)和学习能力(无错误地识别任意样本的能力)之间寻求最佳折中,以期获得最好的推广能力(或称泛化能力)。图3-3 超平面SVM最基本的任务就是
16、找到一个能够让两类数据都离超平面很远的超平面,在分开数据的超平面的两边建有两个互相平行的超平面。分隔超平面使两个平行超平面的距离最大化,平行超平面间的距离或差距越大,分类器的总误差越小。通常希望分类的过程是一个机器学习的过程。设样本属于两个类,用该样本训练SVM得到的最大间隔超平面。在超平面上的样本点也称为支持向量。of39173.2.2 SVM算法3.2 分类第三章 数据挖掘算法线性可分情形SVM非线性可分情形SVM支持向量机(SVM)的核函数of39183.2.2 SVM算法3.2 分类第三章 数据挖掘算法互联网的出现和普及,带来的网上信息量的大幅增长,出现信息超载问题。为了解决信息过载的
17、问题,提出了很多解决方案,其中最具有代表性的解决方案是分类目录和搜索引擎。但是随着互联网规模的不断扩大,分类目录和搜索引擎,不能解决用户的需求。推荐系统就是解决这一矛盾的重要工具。推荐系统具有用户需求驱动、主动服务和信息个性化程度高等优点,可有效解决信息过载问题。推荐系统是一种智能个性化信息服务系统,可借助用户建模技术对用户的长期信息需求进行描述,并根据用户模型通过一定的智能推荐策略实现有针对性的个性化信息定制,能够依据用户的历史兴趣偏好,主动为用户提供符合其需求和兴趣的信息资源。图3-6 推荐系统的工作原理of39193.2.3 案例:在线广告推荐中的分类3.2 分类第三章 数据挖掘算法推荐
18、系统利用推荐算法将用户和物品联系起来,能够在信息过载的环境中帮助用户发现令他们感兴趣的信息,也能将信息推送给对他们感兴趣的用户。根据已有用户注册信息和购买信息,使用朴素贝叶斯分类预测一个新注册用户购买计算机的可能性,从而向该用户推荐计算机类广告。训练样本如表3-1所示。序号ID年龄Age(岁)收入等级Income_level是否学生student信用等级Credit rate类别:是否购买计算机Class:buy computer130以下高否良否230以下高否优否331到40高否良是440以上中否良是540以上低是良是640以上低是优否731到40低是优是830以下中否良否930以下低是良是
19、1040以上中是良是1130以下中是优是1231到40中否优是1331到40高是良是1440以上中否优否表3-1 训练课本of39203.2.3 案例:在线广告推荐中的分类3.1数据挖掘概述全国高校标准教材云计算姊妹篇,剖析大数据核心技术和实战应用第三章数据挖掘算法3.2分类3.3聚类3.4关联规则3.5预测规模习题3.6数据挖掘算法综合应用3.3聚类of39213.3 聚类聚类(clustering)就是将具体或抽象对象的集合分组成由相似对象组成的为多个类或簇的过程。由聚类生成的簇是一组数据对象的集合,簇必须同时满足以下两个条件:每个簇至少包含一个数据对象;每个数据对象必须属于且唯一地属于一
20、个簇。聚类分析是指用数学的方法来研究与处理给定对象的分类,主要是从数据集中寻找数据间的相似性,并以此对数据进行分类,使得同一个簇中的数据对象尽可能相似,不同簇中的数据对象尽可能相异,从而发现数据中隐含的、有用的信息。数据准备特征选择、提出特征提取聚类(或分组)聚类过程聚类算法的要求可扩展性处理不同类型属性的能力发现任意形状的聚类需要(由用户)决定的输入参数最少处理噪声数据的能力对输入记录顺序不敏感高维问题基于约束的聚类可解释性和可用性第三章 数据挖掘算法of39223.3.1 非监督机器学习方法与聚类3.3 聚类1层次聚类算法层次聚类算法的指导思想是对给定待聚类数据集合进行层次化分解。此算法又
21、称为数据类算法,此算法根据一定的链接规则将数据以层次架构分裂或聚合,最终形成聚类结果。从算法的选择上看,层次聚类分为自顶而下的分裂聚类和自下而上的聚合聚类。分裂聚类初始将所有待聚类项看成同一类,然后找出其中与该类中其他项最不相似的类分裂出去形成两类。如此反复执行,直到所有项自成一类。聚合聚类初始将所有待聚类项都视为独立的一类,通过连接规则,包括单连接、全连接、类间平均连接,以及采用欧氏距离作为相似度计算的算法,将相似度最高的两个类合并成一个类。如此反复执行,直到所有项并入同一个类。典型代表算法,BIRCH(Balanced Iterative Reducing and Clustering U
22、sing Hierarchies,利用层次方法的平衡迭代规约和聚类)第三章 数据挖掘算法of39233.3.2 常用聚类算法3.3 聚类2划分聚类算法划分法属于硬聚类,指导思想是将给定的数据集初始分裂为K个簇,每个簇至少包含一条数据记录,然后通过反复迭代至每个簇不再改变即得出聚类结果。K-Means算法也称作K-平均值算法或者K均值算法,是一种得到广泛使用的聚类分析算法。1)欧氏距离2)曼哈顿距离3)闵可夫斯基距离4)切比雪夫距离1221,pijikjkkd x xxx1,pijikjkkd x xxx11,prrijikjkkd x xxx1,2,maxijikjkkpd x xxx常用距离
23、算法第三章 数据挖掘算法of39243.3.2 常用聚类算法3.3 聚类2划分聚类算法K-Means算法是解决聚类问题的一种经典算法,简单快速,对于处理大数据集,该算法是相对可伸缩的和高效的图3-8 K-Means算法流程第三章 数据挖掘算法of39253.3.2 常用聚类算法3.3 聚类3基于密度的聚类算法基于密度聚类的经典算法DBSCAN(Density-Based Spatial Clustering of Application with Noise,具有噪声的基于密度的空间聚类应用)是一种基于高密度连接区域的密度聚类算法。DBSCAN的基本算法流程如下:从任意对象P 开始根据阈值和参
24、数通过广度优先搜索提取从P 密度可达的所有对象,得到一个聚类。若P 是核心对象,则可以一次标记相应对象为当前类并以此为基础进行扩展。得到一个完整的聚类后,再选择一个新的对象重复上述过程。若P 是边界对象,则将其标记为噪声并舍弃缺陷如聚类的结果与参数关系较大阈值过大容易将同一聚类分割阈值过小容易将不同聚类合并固定的阈值参数对于稀疏程度不同的数据不具适应性密度小的区域同一聚类易被分割密度大的区域不同聚类易被合并第三章 数据挖掘算法of39263.3.2 常用聚类算法3.3 聚类4基于网格的聚类算法基于网格的聚类算法是采用一个多分辨率的网格数据结构,即将空间量化为有限数目的单元,这些单元形成了网格结
25、构,所有的聚类操作都在网格上进行。STING(STatistical INformation Grid,统计信息网格)算法将空间区域划分为矩形单元针对不同级别的分辨率,通常存在多个级别的矩形单元,这些单元形成了一个层次结构高层的每个单元被划分为多个低一层的单元WaveCluster(Clustering using wavelet transformation,采用小波变换聚类)是一种多分辨率的聚类算法先通过在数据空间上加一个多维网格结构来汇总数据,然后采用一种小波变换来变换原特征空间,在变换后的空间中找到密集区域第三章 数据挖掘算法of39273.3.2 常用聚类算法3.3 聚类5基于模型的
26、聚类算法基于模型的聚类算法是为每一个聚类假定了一个模型,寻找数据对给定模型的最佳拟合。统计学方法(EM和COBWEB算法)神经网络方法(SOM算法)概念聚类是机器学习中的一种聚类方法,给出一组未标记的数据对象,它产生一个分类模式。概念聚类除了确定相似对象的分组外,还为每组对象发现了特征描述,即每组对象代表了一个概念或类。概念聚类过程主要有两个步骤:首先,完成聚类;其次,进行特征描述。神经网络方法将每个簇描述成一个模型。模型作为聚类的一个“原型”,不一定对应一个特定的数据实例或对象。神经网络聚类的两种方法:竞争学习方法与自组织特征图映射方法。神经网络聚类方法存在较长处理时间和复杂数据中复杂关系问
27、题,还不适合处理大数据库。第三章 数据挖掘算法of39283.3.2 常用聚类算法3.3 聚类图像分割是图像处理到图像分析的关键步骤,也是一种基本的计算机视觉技术,一般来说,图像分割是把图像分成每个区域并提取感兴趣目标的技术和过程。颜色、灰度、纹理是比较常见和主要的特性,目标可以对应多个区域,也可以对应单个区域,主要与实际应用和目标有关。K-Means聚类算法简捷,具有很强的搜索能力,适合处理数据量大的应用场景,在数据挖掘和图像领域中得到了广泛的应用。图3-9 K-Means聚类算法进行图像分割示意图第三章 数据挖掘算法of39293.3.3 案例:海量视频检索中的聚类1简述数据挖掘的概念?2数据挖掘的常用算法有哪几类?有哪些主要算法?3数据挖掘方法中分类的含义?分类与聚类方法的区别?4按照数据挖掘的应用场景分类,数据挖掘的应用主要涉及哪 些领域?5根据适用的范围,数据挖掘工具分为哪些类?6数据挖掘中的挖掘工具有哪些?各有什么特点?7数据挖掘SPSS软件的适用场合与特点有哪些?习题:百度排名首位的大数据资料和交流中心感谢聆听