版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 大数据导论第十三章PART 01 什么是数据挖掘PART 02 数据挖掘与数据分析CONTENTS目录PART 03 大数据挖掘PART 04 数据挖掘算法的类型PART 05 分类和预测PART 06 聚类分析PART 07 关联分析PART 08 习题海量的数据只是数据,并不能直接为企业的决策服务。快速增长的海量数据,已经远远地超过了人们的理解能力,很难理解大堆数据中所蕴涵知识。数据挖掘的主要目的就是为了实现数据的价值。PART 01 什么是数据挖掘什么是数据挖掘数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的实际数据中,提取出蕴涵在其中的、人们事先不知道,但是具有潜在有用性的信息
2、和知识的过程。就具体应用而言,数据挖掘是一个利用各种分析工具在海量数据中发现模型和数据间关系的过程,这些模型和关系可以用来做出预测。从广义上来讲,数据、信息也是知识的表现形式,但是通常人们更把概念、规则、模式、规律和约束等看作知识,而把数据看作是形成知识的源泉。就好像从矿石中采矿或淘金一样,数据好比是矿石,数据挖掘的过程就是淘金的过程,而数据挖掘的结果(知识)就是金子。实际上,所有发现的知识都是相对的,是有特定前提和约束条件,面向特定领域的,同时还要能够易于被用户理解。最好能用自然语言表达所发现的结果。什么是知识数据挖掘是一种商业信息处理技术,其主要特点是对商务过程中产生的大量数据进行抽取、转
3、换、分析和其他模型化处理,从中提取辅助商业决策的知识。数据挖掘就是按照企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的规律性,并进一步将其模型化的先进有效的方法。数据挖掘的商业定义数据挖掘的价值类型数据挖掘就是在海量的数据中找到有价值的数据,为企业经营决策提供依据。价值通常包括:相关性趋势特征数据挖掘的价值类型相关性相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。常见的相关性包括:负相关正相关非线性相关不相关数据挖掘的价值类型趋势是指将实际达到的结果,与不同时期财务报表中同类指标的历史数据进行比较 ,从而确定财务状况,经营成果和现
4、金流量的变化趋势和变化规律的一种分析方法。可以通过拆线图预测数据的走向和趋势数据挖掘的价值类型特征根据具体分析的内容寻找主要对象的特征。比如互联网类数据挖掘,就是需要找出用户的各方面特征对用户进行画像,根据不同的用户给用户群打相应的标签。常说的数据分析实际上是指狭义的数据分析,下面我们讨论(狭义)数据分析与数据挖掘的关系和区别。PART 02 数据挖掘与数据分析 数据分析数据分析是指根据分析的目的,用适当的统计分析方法及工具,对收集来的数据进行处理与分析,提取有价值的信息,发挥数据的作用。数据分析主要实现三大作用:现状分析原因分析预测分析(定量)数据分析的思路:先做假设,然后通过数据分析来验证
5、假设是否正确,从而得到相应的结论。 数据分析数据分析一般都是得到一个指标统计量结果,如总和、平均值等,这些指标数据都需要与业务结合进行解读,才能发挥出数据的价值与作用。数据分析主要采取的方法有:对比分析分组分析交叉分析回归分析 数据挖掘数据挖掘是指从大量的数据中,通过统计学、人工智能、机器学习等方法,挖掘出未知的、且有价值的信息和知识的过程。数据挖掘的主要侧重解决四类问题分类聚类关联预测(定量、定性)数据挖掘的重点在于寻找未知的模式与规律。比如:啤酒与尿布、安全套与巧克力等 数据挖掘数据挖掘会输出模型或规则,并且可相应得到模型得分或标签。模型得分如流失概率值、总和得分、相似度、预测值等;标签如
6、高中低价值用户、流失与非流失、信用优良中差等。数据挖掘主要采用方法决策树神经网络关联规则聚类分析数据分析与数据挖掘的区别狭义的数据分析与数据挖掘的本质都是一样的,都是从数据里面发现关于业务的知识(有价值的信息)。但是它们所分析的数据、具体的作用、采用的方法和结果的呈现都不一样。数据不同一方面是数据量不同另一个方面是数量类型的不同数据分析与数据挖掘的区别作用不同数据挖掘与狭义数据分析的本质区别在于数据挖掘是在没有明确假设的前提下去挖掘信息、发现知识。采用的方法不同数据分析主要采用的是统计学的技术。数据挖掘不仅仅需要统计学,还大量地使用了机器学习的算法包括聚类、分类、关联分析和预测等。数据分析与数
7、据挖掘的区别数据的组织方式不同用于进行数据分析的数据一般以文件的形式或者单个数据库的方式组成。同时因为处理的数据量有限,需要使用抽样调查的方法选择数据。数据挖掘可以对全体数据进行处理。但是,海量数据不是传统数据库和文件系统就可以存储和管理的,所以数据挖掘必须建立在分布式文件系统、数据仓库和NoSQL数据库系统之上。随着大数据的兴起,用于大数据处理的相关技术也逐渐趋于成熟,而数据挖掘即是大数据应用过程中非常重要的环节。大数据的特点也决定了大数据挖掘技术与传统数据挖掘技术有本质上的不同。PART 03 大数据挖掘大数据挖掘与传统的数据挖掘的区别大数据挖掘与传统的数据挖掘的主要区别体现在以下几个方面
8、:从结构化数据到非结构化数据从抽样数据到全量数据从因果关系到相关性分析从依赖模型到依赖数据常用的数据挖掘算法一般分为两大类:有监督的学习无监督的学习PART 04 数据挖掘算法的类型数据挖掘算法的类型常用的数据挖掘算法一般分为两大类:有监督的学习和无监督的学习。有监督的学习是基于归纳的学习,是通过对大量已知分类或输出结果的进行训练,建立分类或预测模型,用来分类未知实例或预测输出结果的未来值。无监督学习方法在学习训练之前,没有预定义好分类的实例,数据实例按照某种相似性度量方法,计算实例之间的相似程度,将最为相似的实例聚类在一组,再解释每组的含义,从中发现聚类的意义。数据挖掘算法的类型常用的数据挖
9、掘算法如下:分类和预测是两种使用数据进行预测的方式,用来确定未来的结果。分类用于预测数据对象的离散类别,需要预测的属性值是离散的、无序的;预测则用于预测数据对象的连续取值,需要预测的属性值是连续的,而且是有序的。PART 05 分类和预测分类的基本概念分类(Classification)算法反映的是如何找出同类事物共同性质的特征型知识和不同事物之间的差异性特征知识。分类是通过有指导的学习训练建立分类模型,使用模型对未知分类的实例进行分类。分类输出属性是离散的、无序的。分类过程分为两步:第一步是模型建立阶段,或者称为训练阶段;第二步是模型评估阶段。分类的基本概念训练阶段;训练阶段的目的是描述预先
10、定义的数据类或概念集的分类模型。通常会从已知数据集中选取2/3的数据项作为训练集,1/3的数据项作为检验集。分类的基本概念评估阶段;使用第一阶段建立的模型对检验集数据元组进行分类,从而评估分类模型的预测准确率。预测的基本概念预测模型与分类模型类似,可以看作一个映射或者函数y=f(x),其中x是输入元组,输出y是连续的或有序的值。与分类算法不同的是,对于所需要预测的属性值是连续的,而且是有序的;分类所需要预测的属性值是离散的、无序的。预测与分类的区别是分类是用来预测数据对象的类标记,而预测则是估计某些空缺或未知值。例如,预测明天上证指数的收盘价格是上涨还是下跌是分类;但是,如果要预测明天上证指数
11、的收盘价格是多少就是预测。决策树的算法决策树是一个树状预测模型,它是由节点和有向边组成的层次结构。树中包含3种节点:根节点、内部节点、叶子节点。根节点:决策树有且只有一个,是全体训练数据的集合。内部节点:表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出。叶子节点:每个叶子节点存放一个类别,也就是带有分类标签的数据集合即为实例所属的分类。决策树的算法决策树案例下图是预测一个人是否会购买电脑的决策树假如有两位客户:甲具备4个属性:年龄20;低收入;是学生;信用一般。乙具备4个属性:年龄60;低收入;不是学生;信用高。通过决策树判断甲、乙是否会购买电脑。客户甲是青少年,符合左边分
12、枝;再判断是否学生,用户甲是学生,符合右边的分枝;用户甲落在“Yes”的叶子节点上。所以预测客户甲会购买电脑。客户乙是老年,符合右边分枝;再判断信用等级,客户乙信用高,符合左边的分枝;用户乙落在“No”的叶子节点上。所以预测客户乙不会购买电脑。决策树的算法决策的建立决策树算法很多,例如:ID3、C4.5、CART等。这些算法均采用自上而下的贪婪算法,每个内部节点选择分类效果最好的属性来分裂节点,可以分成两个或者更多的子节点,继续此过程直到这棵决策树能够将全部的训练数据准确的分类,或所有属性都被用到为止。这个过程可以分为两步,特征选择和剪枝特征选择信息增益信息增益率基尼指数剪枝通过剪枝进行修复决
13、策树的过拟合现象剪枝分为预先剪枝和后剪枝两种决策树的算法决策的建立特征选择,就是选择哪个属性作为判断节点。结果:通过特征的选择能把不同类别的数据集贴上对应类标签。目标:特征选择的目标使得分类后的数据集比较纯。如何衡量一个数据集纯度,这里就需要引入数据纯度函数。信息增益信息熵:表示不确定度。均匀分布时,不确定度最大,信息熵就最大。信息增益表示:分类前、后的数据集信息熵之间的差值。信息增益作用:衡量某个特征对分类结果的影响大小决策树的算法决策的建立作用前信息熵计算公式:其中D表示训练数据集,c表示数据类别数,Pi表示类别i样本数量占所有样本的比例。对应数据集D,选择特征A作为决策树判断节点时,在特
14、征A作用后的信息熵的为 Info(D),作用后的信息熵计算公式:信息增益表示数据集D在特征A的作用后,其信息熵减少的值。信息熵差值计算公式:信息增益决策树的算法决策的建立对于决策树节点最合适的特征选择,就是信息增益值最大的特征。也就是说,针对每个可以用来作为树节点的特征,计算如果采用该特征作为树节点作用后的信息增益。然后选择增益最大的那个特征作为下一个树节点。但是,如果以元组的唯一标识符ID充当一个属性,那么以属性值ID进行分裂将导致大量划分,每个划分只包含一个元组。基于该划分对数据分类所需要的信息量为0。这样以该属性划分得到的信息增益最大,但是这种划分对分类显然是不合理的。信息增益决策树的算
15、法决策的建立信息增益率采用信息增益率来克服信息增益偏向具有大量值属性的问题。信息增益率使用分裂信息值将信息增益规范化。分裂信息值定义:该分裂信息值表示通过属性A将数据集D划分成n个部分所产生的信息量。信息增益率的定义为:决策树的算法决策的建立基尼指数基尼(Gini)指数是另一种特征选择度量指标。Gini指数的计算公式为:其中c表示数据集中类别的数量,Pi 表示类别 i 样本数量占所有样本的比例。从该公式可以看出,当数据集中数据混合的程度越高,基尼指数也就越高。当数据集D只有一种数据类型,那么基尼指数的值为最低0。如果选取的属性为A,那么分裂后的数据集D的基尼指数的计算公式为:决策树的算法决策的
16、建立基尼指数其中k表示样本D被分为k个部分,数据集D分裂成为k个Dj数据集。对于特征选取,需要选择最小的分裂后的基尼指数。也可以用基尼指数增益值作为决策树选择特征的依据。基尼指数差值计算公式:在决策树选择特征时,应选择基尼指数增益值最大的特征,作为该节点分裂条件。决策树的算法决策的建立剪枝,修复决策树的过拟合现象过拟合现象:指在模型学习训练中,训练样本达到非常高的逼近精度,但对检验样本的逼近误差随着训练次数而呈现出先下降后上升的现象。剪枝分为预先剪枝和后剪枝两种预先剪枝在决策树生长过程中,使用一定条件加以限制,使得产生完全拟合的决策树之前就停止生长。后剪枝在决策树生长完成之后,按照自底向上的方
17、式修剪决策树。预先剪枝可能过早的终止决策树的生长,后剪枝一般能够产生更好的效果。但后剪枝在子树被剪掉后,决策树生长的一部分计算就被浪费了。决策树的算法决策建立举例右表是小明同学1号到14号是否踢足球和天气的状态记录表No.AttributesClassOutlookTemperatureHumidityWindy1SunnyHotHighFalseN2SunnyHotHighTrueN3OvercastHotHighFalseP4RainMildHighFalseP5RainCoolNormalFalseP6RainCoolNormalTrueN7OvercastCoolNormalTrueP
18、8SunnyMildHighFalseN9SunnyCoolNormalFalseP10RainMildNormalFalseP11SunnyMildNormalTrueP12OvercastMildHighTrueP13OvercastHotNormalFalseP14RainMildHighTrueN描述气候特征属性有四个:outlook、temperature、humidity、windy,而每个特征属性的可取值为:outlook=sunny,overcast,rain,temperature=cool,mild,hot,humidity=high,normal,windy=true,f
19、alse。假如15号天气情况是(Outlook:overcast,Temperature:cool,Humanity:high,Windy:false)时,预测小明是去踢足球还是不去?决策树的算法决策建立举例下面介绍用ID3算法如何从表所给的训练集中构造出一棵能对训练集进行正确分类的判定树。总共有14个对象,其中9个为P类,也就是踢球;5个N类,也就是不踢球。作用前的信息熵计算公式为:作用前的信息熵为:I(P, N)=-(9/14)log(9/14)-(5/14)log(5/14)=0.94下面分别计算4个属性A1outlook,A2temperature,A3humidity,A4windy
20、的信息熵。A1Outlook的取值为sunny,overcast,rain。训练集D中14个对象有5个是sunny,2个是P类,3个是N类,即P12 ,N1=3 ,所以 I(P1, N1)= -(2/5)log(2/5)-(3/5)log(3/5)=0.97决策树的算法决策建立举例A2=Temperature的取值为=cool,mild,hot。训练集中14个对象有4个是cool,4个都是P类,即P2=4,N2=0,所以I(P2,N2)= -(4/4)log(4/4)-(0/4)log(0/4)=0同理可得,P33,N3=2,所以 I(P3, N3)= -(3/5)log(3/5)-(2/5)
21、log(2/5)=0.97作用后的信息熵计算公式为:所以,属性A1Outlook的期望信息要求为: E(A1)=(5/14) I(P1, N1)+(4/14) I(P2, N2)+(5/14) I(P3, N3) 0.694属性Outlook的信息增益为:Gain(Outlook)=I(P, N)-E(A1)=0.940-0.694=0.246同理可得: Gain (Temperature)=0.029 、Gain (Humidity)=0.151、Gain (Windy) =0.048决策树的算法决策建立举例递归建树分别对F1和F3子集利用ID3算法,在每个子集中对各特征(仍为四个特征)求信
22、息增益。 F1中除了Outlook以外剩余下的三个特征属性中求出Humidity的信息增益最大,以它为该分枝的根结点,再向下分枝。Humidity取high值全为N类,该分枝标记N,取值Normal全为P类,该分枝标记P。在F3中,对剩余的三个特征属性求信息增益,得到Windy特征属性的信息增益最大,则以它为该分枝根结点。再向下分枝,它取true时全为N类,该分枝标记为N,取false时全为P类,该分枝标记P。这样就得到决策树。朴素贝叶斯朴素贝叶斯(Naive Bayes,NB)基础思想是对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。比如
23、:你在街上看到一个黑人,你十有八九会猜这个黑人是非洲来的,因为黑人中非洲人的比率最高。当然他也可能是美洲人或亚洲人。但在没有其它可用信息下,我们会选择条件概率最大的类别,这就是朴素贝叶斯的思想基础。朴素贝叶斯贝叶斯公式贝叶斯公式:P(B|A)=P(A|B)P(B)/P(A);换个表达形式:P(类别|特征)=P(特征|类别)P(类别)/P(特征)举例:X是一个待分类的数据元组,由n个属性描述;H是一个假设,例如X属于类C。对于分类问题,我们想计算出概率P(H|X):即已知元组X的每个元素对应的属性值,求出X属于C类的概率。朴素贝叶斯贝叶斯公式例如:X的属性值为:age=25,income=$50
24、00,H对应的假设是:X会买电脑。P(H|X):意思是在已知某客户信息age=25,income=$5000的条件下,该客户会买电脑的概率。P(H):意思是对于任何给定的客户信息,该客户会购买电脑的概率。P(X|H):意思是已知客户会买电脑,那么该客户的age=25,income=$5000的概率。P(X):意思是在所有的客户信息集合中,客户的age=25,income=$5000的概率。朴素贝叶斯分类算法的工作原理朴素贝叶斯分类算法的工作原理设D为样本训练集;每一个样本X是由n个属性值组成的,X=(x1,x2,xn);对应的属性集为A1,A2,A3An;假设有m个类标签:C1,C2,Cm。对
25、于某待分类元X,朴素分类器会把P(Ci|X) (i=1,2,m)值最大的那个类标签Ci认为是X的类别,即朴素贝叶斯分类算法预测出X属于类Ci,当且仅当P(Ci|X)P(Cj|X) (1jm,ji)。因此我们的目标就是找出P(Ci|X)中的最大值。P(Ci|X)=p(X|Ci)P(Ci)/P(X)朴素贝叶斯分类算法的工作原理如果n的值特别大,也就是说样本元组有很多属性,那么对于P(X|Ci)的计算会相当复杂。所以在朴素贝叶斯中进行了一个假设:即对于样本元组中的每个属性,它们都互相条件独立。所以有:P(X|Ci)=P(x1|Ci)P(x2|Ci)P(Xn|Ci)。对于P(xi|Ci)可以从训练集中
26、计算出来,就等于训练样本空间中,属于类Ci并且对应属性Ai的值等于xi的数目除以样本空间中属于类Ci的样本数目。为了预测X所属的类标签,我们根据前面的步骤可以算出每一个类标签Ci对应的P(X|Ci)P(Ci)值,当某一个类标签Ci有: P(X|Ci)P(Ci)P(X|Cj)P(Cj) 对于任意j:1jm,ji 则我们认为X属于类标签Ci。朴素贝叶斯分类算法举例下面通过是否购买电脑这个实例说明。属性集合为:Aage,income,student,credit_rating 对应的属性个数n=4;分类属性为:buys_computer,值为yes,no ;即C1:buys_computer = y
27、es;C2: buys_computer = no; 分类标签个数 m = 2;ageincomestudentcredit_ratingbuys_omputer=30highnofairno40mediumnofairyes40lowyesfairyes40lowyesexcellentno31-40lowyesexcellentyes=30mediumnofairno40mediumyesfairyes40mediumnoexcellentno朴素贝叶斯分类算法举例例如:有一待分类的数据元X=age=30,income=medium,student=yes,credit_rating=fa
28、ir。P(Ci):P(buys_computer = “yes”) = 9/14 = 0.643P(buys_computer = “no”) = 5/14= 0.357P(xi|Ci):P(age = “=30” | buys_computer = “yes”) = 2/9 = 0.222P(age = “= 30” | buys_computer = “no”) = 3/5 = 0.6P(income = “medium” | buys_computer = “yes”) = 4/9 = 0.444P(income = “medium” | buys_computer = “no”) =
29、2/5 = 0.4P(student = “yes” | buys_computer = “yes) = 6/9 = 0.667P(student = “yes” | buys_computer = “no”) = 1/5 = 0.2P(credit_rating = “fair” | buys_computer = “yes”) = 6/9 = 0.667P(credit_rating = “fair” | buys_computer = “no”) = 2/5 = 0.4朴素贝叶斯分类算法举例例如:有一待分类的数据元X=age0.007所以X属于类:buys_computer = “yes
30、”。K最近邻算法K最近邻(K-Nearest Neighbors,KNN)算法是一个理论上比较成熟的方法,也是最简单的分类算法之一。KNN算法基本思想是如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。K最近邻算法KNN算法的基本流程KNN算法的基本流程如下:1)计算训练样本和测试样本中每个样本点的距离; 2)对上面所有的距离值进行排序; 3)选前k个最小距离的样本; 4)根据这k个样本的标签进行投票,得到最后的分类类别。 如果K=3,由于三角形所占比例为2/3,圆将被赋予三角形那
31、个类。如果K=5,由于四方形比例为3/5,因此圆被赋予四方形类。K最近邻算法KNN距离计算KNN算法的邻近性用空间内两个点的距离来度量。距离越大,表示两个点越不相邻。欧几里得距离公式:假设有两个元组X=(x1,x2,xn)和Y=(y1,y2,yn),它们之间的欧几里得距离就是:比如在二维坐标系中点A(x1,y1),B(x2,y2),他们的欧几里得距离就是:K最近邻算法KNN距离计算二维坐标表示如下:K最近邻算法KNN算法举例举例:打斗次数和接吻次数来界定电影类型,接吻多的是Romance类型的,而打斗多的是Action类型的电影。电影编号电影名称打斗次数接吻次数电影类型1California
32、Man3104Romance2Hes Not Really into Dudes2100Romance3Beautiful Woman181Romance4Kevin Longblade10110Action5Robo Slayer 3000995Action6Amped II982Action提问:还有一部名字未知,打斗次数为18次,接吻次数为90次的电影,它到底属于哪种类型的电影呢?K最近邻算法KNN算法举例首先用打斗次数和接吻次数作为电影的坐标,计算其他六部电影与未知电影之间的距离,取得前K个距离最近的电影。然后统计这k个距离最近的电影里,属于哪种类型的电影最多。比如Action最多,则
33、说明未知的这部电影属于动作片类型。使用欧几里得距离公式计算未知电影与表中每个电影之间的距离:d(x, 1)=( (18 -3)2 + (90 -104)2)1/2 = ( 225 + 196)1/2 = 20.52d(x, 2)=( (18 -2)2 + (90 -100)2)1/2 = ( 256 + 100)1/2 = 18.87d(x, 3)=( (18 -1)2 + (90 -81)2)1/2 = ( 289 + 81)1/2 = 19.23d(x, 4)=( (18 -101)2 + (90 -10)2)1/2 = ( 6889 + 6400)1/2 = 115.28d(x, 5)=
34、( (18 -99)2 + (90 -5)2)1/2 = ( 6561 + 7225)1/2 = 117.41d(x, 6)=( (18 -98)2 + (90 -2)2)1/2 = ( 6400 + 7744)1/2 = 118.93如果选择k=4,因为Romance类型的电影占了3/4,未知电影的类型应该是Romance。K最近邻算法KNN算法的优缺点KNN算法的主要优点有如下几点:1) 思想简单,理论成熟,易于理解,易于实现;2) 可用于非线性分类;3) 训练时间复杂度为O(n);4) 准确度高,对数据没有假设;5) 特别适合于多分类问题,对象具有多个类别标签。KNN算法的主要缺点计算量
35、较大。因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。支持向量机算法支持向量机(Support Vector Machine,SVM)是一种非常流行的监督学习算法,可以分析数据,识别模式,用于分类和回归分析。支持向量机是一个二分类的分类模型。分类的思想是:给定给一个包含正例和反例的样本集合,通过寻找一个超平面来对样本根据正例和反例进行分割。超平面:一维空间里就是一个点,在二维空间里就是一条直线,三维空间里就是一个平面,当维度大于3时,表示n维空间中的n-1维超平面。如果不关注空间维度,就统称为超平面。支持向量机算法支持向量机算法是建立的VC 维理论和结构风险最
36、小原理基础上的。根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力(或称泛化能力)。VC维:是对函数类的一种度量,可以简单的理解为问题的复杂程度,VC维越高,一个问题就越复杂。结构风险:经验风险+结构风险经验风险:训练好的分类器,对训练样本重新分类得到的误差。即样本误差置信风险:分类器对 未知样本进行分类,得到的误差。支持向量机算法支持向量机(SVM)目标:通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的。支持向量
37、机在解决小样本、非线性及高维模式识别中表现出许多特有的优势。 支持向量机算法线性分类器一个线性函数能够将样本完全正确的分开,就称这些数据是线性可分的,否则称为非线性可分的。首先给出一个非常简单的线性分类问题,我们要用一条直线,就能将图黑点和白点分开。支持向量机算法线性分类器思考:当有多条线性可分的直线的时候,要怎么取的一个最优的划分直线呢?思路:让离分隔面最近的数据点具有最大的距离。直观的讲就是让这条直线到给定样本中最近的点最远,就是分割的间隙越大越好。支持向量机算法线性分类器为了找到离分隔超平面最近的数据点,需要找到两个和这个超平面平行和距离相等的超平面(即下图中虚线表示部分)。在这两个超平
38、面上的样本点也就是理论上离分隔超平面最近的点,是它们的存在决定了H1和H2的位置,支撑起了分界线,它们就是支持向量。H2H1支持向量机算法线性分类器因此,我们只需要求得H1和H2两条线之间的最大距离,就能得到支持向量机要最大化的分类间的间隙。H2H1H支持向量机算法线性分类器求H1和H2两条线之间的最大距离,转换成求|w|的最小值同时要加入约束条件,保证样本点必须在H1或H2的某一侧(或者至少在H1和H2上),而不能跑到两者中间。假设间隔最小为1,那么样本中其他点的间隔都不会小于1。因此下面的式子成立:综合推出支持向量机算法线性分类器结果,二分类问题被转化成了数学形式,一个带约束的最小值的问题
39、。其中,自变量就是w,而目标函数是w的二次函数,所有的约束条件都是w的线性函数。针对上面函数的优化可用拉格朗日乘子法,这里直接给出结论:支持向量机算法线性不可分的情况一个线性函数不能将样本完全正确的分开,即为线性不可分。没有办法用一条直线去将其分成两个区域,每个区域只包含一种颜色的点。这种情况下的分类模式,有两种方式:一种是用曲线去将其完全分开。另外一种还是用直线,不过不用去保证可分性,而是包容那些分错的情况。支持向量机算法线性不可分的情况针对用直线分隔的方式,在线性可分的基础上加入了惩罚函数,对一个分错的点的惩罚函数就是这个点到其正确位置的距离。图中那些横的短直线表示分错的点到其相应的决策面
40、的距离支持向量机算法线性不可分的情况表示惩罚函数。支持向量机算法线性不可分的情况接下来与线性可分问题相同,求解一个拉格朗日对偶问题,得到一个原问题的对偶问题的表达式:在线性不可分情况下得到的对偶问题,不同的地方就是的范围从0, +),变为了0, C。支持向量机算法核函数在线性不可分的情况下,如果使用某些非线性的方法,可以得到将两个分类完美划分的曲线,比如核函数。右图显然是一个线性不可分的例子思考:如何提高利用空间的维度来帮助分类?支持向量机算法核函数当我们把这两个类似于椭圆形的点映射到一个高维空间后,映射函数为:用这个函数可以将上图的平面中的点映射到一个三维空间(z1,z2,z3),并且对映射
41、后的坐标加以旋转之后就可以得到一个线性可分的点集了。神经网络算法人工神经网络(Artificial Neural Network, ANN)又叫神经网络,是借鉴了生物神经网络的工作原理形成的一种数学模型,是一类模式匹配算法。通常用于解决分类和预测问题。生物神经元结构人工神经网络的神经元结构神经网络算法神经元模型神经网络是由大量的、简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统。简单的神经网络由一个“神经元”构成。这里面的x1、x2、x3是输入值,中间的圆就像是神经元,经过它的计算得出hw,b(x)的结果作为神经元的输出值。神经网络算法神经元模型神经元模型的6个特点1)每个神经元
42、都是一个多输入单输出的信息处理单元;2)神经元输入分兴奋性输入和抑制性输入两种类型;3)神经元具有空间整合特性和阈值特性;4)神经元输入与输出间有固定的时滞,主要取决于突触延搁;5)忽略时间整合作用和不应期;6)神经元本身是非时变的,即其突触时延和突触强度均为常数。神经网络算法神经网络模型由许多神经元组成的网络就是人工神经网络。神经网络结构的特别之处:通过较深的多个层次来模拟真实情况,从而构造出最能表达真实世界的模型。纵向我们叫做层(Layer),每一层都以前一层为输入,输出的结果传递给下一层。其中从L2层开始的圆都是用来计算hw,b(x)的。如果把神经网络看做一个黑盒,那么x1、x2、x3是
43、这个黑盒的输入X,最右面的hw,b(x)是这个黑盒的输出Y。 神经网络算法神经网络训练神经网络的训练目标是得到一组权重,使得训练集中的元组尽可能地正确分类。神经网络的训练一般有如下过程:1)随机初始化权重;2)将输入元组逐个输入给神经网络;3)对于每个输入元组,执行如下过程:a)每个单元的净输入计算为这个单元所有输入的线性组合;b)使用激活函数计算输出值;c)更新权重值和偏差值。回归分析回归分析是研究自变量和因变量之间关系的一种预测模型技术。通俗点来讲,就是根据几件事情的相关程度,用其中几件来预测另一件事情发生的概率。回归分析的目的是找到一个联系输入变量和输出变量的最优模型。回归分析常用的三种
44、分类方法:自变量的个数因变量的类型回归线的形状回归分析线性回归线性回归是一种知名的建模方法。在线性回归中,数据使用线性预测函数来建模,并且未知的模型参数也是通过数据来估计。这些模型被叫做线性模型。在模型中,因变量是连续型的,自变量可以是连续型或离散型的,回归线是线性的。线性回归可以分为一元线性回归二元线性回归回归分析线性回归一元线性回归线性回归使用最佳的拟合直线(也就是回归线)在因变量(Y)和一个自变量(X)之间建立一种关系。可以用公式来表示:Y=a+b*X+e,其中,a为截距,b为回归线的斜率,e是误差项。回归分析线性回归多元线性回归线性回归使用最佳的拟合直线(也就是回归线)在因变量(Y)和
45、多个自变量(X)之间建立一种关系。比如,要预测今天是否会下雨,并且已经基于历史数据学习到了模型中的权重向量和截距b,则可以综合考虑各个属性来判断今天是否会下雨:回归分析逻辑回归逻辑回归是用来找到事件成功或事件失败的概率。首先要搞清楚当目标变量是分类变量时,才会考虑逻辑回归。并且主要用于两分类问题。举例:医生希望通过肿瘤的大小x1、长度x2、种类x3等特征来判断病人的这个肿瘤是恶性肿瘤还是良性肿瘤,这时目标变量y就是分类变量(0良性肿瘤,1恶性肿瘤)。回归分析逻辑回归逻辑回归函数利用函数sigmoid构建的逻辑回归的概率函数:P(y=1 | x; ) 表示分类结果为1的概率, T * X表示参数
46、向量与自变量X的点积,作为sigmoid函数的输入, 得到一个(0,1)之间的值。分类模型如下:其中y是分类结果, 当P(y=1 | x; ) 大于0.5, 分类结果为1;小于0.5, 分类结果为0。回归分析其他回归算法除了线性回归与逻辑回归算法以外,还有一些回归算法,可以用在不同的应用场景。多项式回归如果一个回归,它的自变量指数超过1,则称为多项式回归。可以用公式表示:y = a + b * x2在这个回归技术中,最适的线不是一条直线,而是一条曲线回归分析其他回归算法逐步回归当需要处理多个自变量时,我们就需要逐步回归算法。在逐步回归算法中选择变量都是通过自动过程实现的,不需要人的干预。岭回归
47、当碰到数据有多重共线性时,就需要使用到岭回归。所谓多重共线性就是指自变量之间有高度相关关系。在多重共线性中,即使是最小二乘法是无偏的,它们的方差也会很大。通过在回归中加入一些偏差,岭回归就会减少标准误差。LASSO回归与岭回归类似,LASS(Least Absolute Shrinkage and Selection Operator)也是通过惩罚其回归系数的绝对值,来解决数据自变量之间有高度相关关系的问题。 但是,与岭回归算法不同的是,LASSO回归在惩罚方程中用的是绝对值,而不是平方。这就使得惩罚后的值可能会变成0.回归分析其他回归算法LASSO回归与岭回归类似,LASS(Least Ab
48、solute Shrinkage and Selection Operator)也是通过惩罚其回归系数的绝对值,来解决数据自变量之间有高度相关关系的问题。 但是,与岭回归算法不同的是,LASSO回归在惩罚方程中用的是绝对值,而不是平方。这就使得惩罚后的值可能会变成0。ElasticNet回归ElasticNet回归是LASSO回归和岭回归的组合。当许多变量是相关的时候,ElasticNet回归算法非常有用。LASSO一般会随机选择其中一个,而ElasticNet则会选在两个。聚类分析指将数据对象的集合分组为由类似的对象组成的多个类的分析过程。在数据挖掘领域中,聚类分析已经得到了广泛的发展,形成
49、了许多成熟的方法,新的方法也在不断涌现。PART 06 聚类分析聚类基本概念聚类(Clustering)就是一种寻找数据之间一种内在结构的技术。聚类把全体数据实例组织成一些相似组,而这些相似组被称作簇(Cluster)。聚类技术通常又被称为无监督学习,因为与有监督学习不同,在簇中没有表示数据类别的分类或者分组信息。显示了一个按照数据对象之间的距离进行聚类的示例,距离相近的数据对象划分为一个簇。聚类分析方法的类别目前存在大量的聚类算法,算法的选择取决于数据的类型、聚类的目的和具体应用。主要的聚类算法分为五大类:基于划分的方法(Partitioning Method)基于层次的方法(Hierarc
50、hical Method)基于密度的方法(Densi-Based Method)基于网格的方法(Grid-Based Method)基于模型的方法(Model-Based Method)聚类分析方法的类别基于划分的聚类方法基于划分的聚类方法是最简单、最基本聚类方法。它是一种自顶向下的方法,对于给定的n个数据对象的数据集D,将数据对象组织成 k ( k Beer的置信度为3/3=100%。说明买了Diaper的人100%也买了Beer;关联分析基本概念关联分析常用的一些基本概念:强关联规则:大于或等于最小支持度阈值和最小置信度阈值的规则叫做强关联规则。通常意义上说的关联规则都是指强关联规则。关联
51、分析的最终目标就是要找出强关联规则。关联分析步骤给定一个交易事务数据集,关联分析就是通过用户指定最小支持度和最小置信度来寻求强关联规则的过程。关联分析一般分为两大步:发现频繁项集发现关联规则关联分析步骤发现频繁项集通过用户给定的最小支持度,寻找所有频繁项目集,即找出不少于用户设定的最小支持度的项目子集。事实上,这些频繁项目集可能具有包含关系。由事物数据集产生的频繁项集的数量可能非常大,因此,从中找出可以推导出其他所有的频繁项集的、较小的、具有代表性的项集将是非常有用的。关联分析步骤闭项集:项集X是闭的,如果它的直接超集都不具有和它相同的支持度计数;频繁闭项集:如果项集X是闭的,并且它的支持度大
52、于或等于最小支持度阈值;最大频繁项集:如果项集X是频繁项集,并且它的直接超集都不是频繁的。最大频繁项集都是闭的,因为任何最大频繁项集都不可能与它的直接超集具有相同的支持度计数。换句话说,最大频繁项集形成了可以导出所有频繁项集的最小项集的集合。关联分析步骤发现关联规则通过用户给定的最小置信度,在每个最大频繁项目集中寻找置信度不小于用户设定的最小置信度的关联规则。所有的关联规则都是在频繁项目集的基础上产生的,已经满足了支持度阈值的要求,所以只需要考虑置信度阈值的要求,只有那些大于用户给定的最小置信度的规则才被留下来。Apriori关联分析算法Apriori算法是挖掘产生关联规则所需频繁项集的基本算
53、法,也是最著名的关联分析算法之一。Apriori算法使用一种称为逐层搜索的迭代方法,k项集用于探索k+1项集。Apriori性质:一个频繁项集的所有非空子集也必须是频繁项集。假如:项集A不满足最小支持度阈值,即A不是频繁的,如果将项集B添加到项集A中,那么新项集(AB)也不可能是频繁的。Apriori关联分析算法Apriori算法是挖掘产生关联规则所需频繁项集的基本算法,也是最著名的关联分析算法之一。Apriori算法使用一种称为逐层搜索的迭代方法,k项集用于探索k+1项集。Apriori算法有如下几个步骤:算法初始通过单遍扫描数据集,确定每个项的支持度。一旦完成这一步,就得到所有频繁1项集的
54、集合F1;算法使用上一次迭代发现的频繁(k-1)项集,产生新的候选k项集;Apriori关联分析算法Apriori算法有如下几个步骤:为了对候选项的支持度计数,算法再次扫描一遍数据库,使用子集函数确定包含在每一个交易t中的所有候选k项集;计算候选项集的支持度计数后,算法将删除支持度计数小于支持度阈值的所有候选项集;重复步骤2)、3)、4),当没有新的频繁项集产生时,算法结束。Apriori关联分析算法由频繁项集产生关联规则一旦从数据集中的事务找出频繁项集,可以直接由它们产生强关联规则,即满足最小支持度和最小置信度的规则。假如:有频繁项集Y,X是Y的一个子集,那么如果规则X-Y-X不满足置信度阈
55、值,则形如X1-Y-X1的规则一定也不满足置信度阈值,其中X1是X的子集。Apriori关联分析算法算法实例以表中的交易事务数据集对Apriori算法进行进一步说明。假设最小支持度为2。TIDItems001Cola, Egg, Ham002Cola, Diaper, Beer003Cola, Diaper, Beer, Ham004Diaper, Beer产生频繁项集的算法流程生成1项集的集合C1。将所有事务中出现的项组成一个集合C1,是由所有的1项集组成的集合。C1=Cola, Egg, Ham, Diaper, BeerApriori关联分析算法算法实例产生频繁项集的算法流程寻找频繁1项
56、集。统计C1中所有元素出现的次数,再筛掉小于最小支持度计数阈值2的项集,剩下的都是频繁1项集,记为L1。 L1=Beer,Cola, Diaper, Ham 连接。连接的作用就是用两个频繁k1项集,组成一个k项集。又分为两步:先判断两个频繁k1项集是否是可连接的。对于两个频繁k1项集l1,l2,先将项集中的项排序,如果l1,l2的前k2项都相等,则l1,l2可连接;Apriori关联分析算法算法实例产生频繁项集的算法流程如果两个频繁k1项集l1,l2可连接,则用它们生成一个新的k项集,用它们相同的前k2项加上不同的各自末尾两项。这样,我们只需找到所有的两两组合,挑出其中可连接的,就能生成所有可
57、能是频繁项集的k项集,它们就是频繁k项集的候选,这些候选构成的集合记为Ck。经过连接,由L1生成的C2= Beer, Cola, Beer, Diaper, Beer, Ham, Cola, Diaper, Cola, Ham, Diaper, Ham。Apriori关联分析算法算法实例产生频繁项集的算法流程剪枝。对于每个候选k项集,找出所有它的k1项子集,看看是否都在Lk-1 中,只要有一个不在,那这个k项集一定不是频繁的。经过剪枝,Ck进一步缩减。因为C2的所有子集都是1项集,都是频繁的,所以,这一步没有筛选掉任何项集。此时的C2还是上面的形式。筛选。扫描事务数据集,做进一步筛选,通过找出
58、在现在的Ck里面的子集,进行计数,这样能统计出来目前Ck当中的所有项集的频数。然后,删去小于支持度的,得到频繁k项集组成的集合Lk。Apriori关联分析算法算法实例产生频繁项集的算法流程经过扫描数据集,得到统计结果:Items计数Beer,Cola2Beer,Diaper3Beer,Ham1Cola,Diaper2Cola,Ham2Diaper,Ham1筛掉计数小于支持度的,剩下的就是频繁2项集L2= Beer, Cola, Beer, Diaper, Cola, Diaper, Cola, Ham。Apriori关联分析算法算法实例产生频繁项集的算法流程重复进行3,4,5步,直到找出的k项
59、集为空。在找到L2后,继续找到L3=Beer, Cola, Diaper。那么,最终产生的频繁1项集、2项集、3项集分别是:L1=Beer,Cola, Diaper, Ham ;L2= Beer, Cola, Beer, Diaper, Cola, Diaper, Cola, Ham;L3=Beer, Cola, Diaper。Apriori关联分析算法算法实例由频繁项集产生关联规则的过程由L2频繁项集形成的可能关联规则:BeerCola, 可信度=2/3=67%; ColaBeer,可信度=2/3=67%;BeerDiaper,可信度=3/3=100%;DiaperBeer,可信度=3/3=
60、100%;ColaDiaper,可信度=2/3=67%; DiaperCola,可信度=2/3=67%;ColaHam, 可信度=2/3=67%; HamCola,可信度=2/2=100%。Apriori关联分析算法算法实例由频繁项集产生关联规则的过程由L3频繁项集形成的可能关联规则:BeerCola, Diaper,可信度=2/3=67%;ColaBeer, Diaper,可信度=2/3=67%;DiaperBeer, Cola,可信度=2/3=67%;Beer, ColaDiaper,可信度=2/2=100%;Beer, DiaperCola,可信度=2/3=67%;Cola, Daper
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建材加工劳动合同范例
- 排练合同范例
- 技术调试合同范例
- 劳动务工安全合同范例
- 文案代写合同范例
- 排污井盖销售合同范例
- 企业分公司合同模板
- 2024年电动车保险买卖合同范本
- 废旧冻干机采购合同模板
- 成本预算合同范例
- GB/T 25356-2024机场道面除冰防冰液
- 18 《浏览数字博物馆》(教学设计) 五年级信息技术武汉版
- 期中测试卷(1-4单元)试题-2024-2025学年人教版数学六年级上册
- 建筑工程项目中的精益建造和可持续发展
- 广东省2023年1月普通高中学业水平合格性考试数学试题及答案
- 大国三农II-农业科技版智慧树知到期末考试答案章节答案2024年中国农业大学
- (新版)网约配送员职业技能竞赛理论考试题库500题(含答案)
- 绿化养护服务投标方案(技术标)
- 高考生物选择性必修1稳态与调节基础知识填空默写(每天打卡)
- 专题12 应用文写作-【中职专用】备战2025年对口高考语文题型专练 (解析版)
- 代孕合同范本
评论
0/150
提交评论