《(本科)chap09-预测建模分类和回归.ppt》由会员分享,可在线阅读,更多相关《(本科)chap09-预测建模分类和回归.ppt(79页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程主讲人:chap09-预测建模分类和回归第九章第九章 预测建模:分类和回归预测建模:分类和回归 数据挖掘的任务除了模式挖掘之外,主要是进行描述建模和预测建模。描述建模的实质是对数据进行概括,使我们可以看到数据的最重要特征。而预测建模的目的则是根据观察到的对象特征值预测它的其他特征值。9.1 预测建模简介预测建模简介 在预测模型中,一个变量被表达成其他变量的函数。可以把预测建模的过程看作是学习一种映射或函数Y=(X;)。是模型结构的函数形式,是中的未知参数。X通常被称为输入变量,是一个p维向量,代表观察到的对象的p个属性值。Y通常被称为响应变量,是一个标量,代表预测的结果。如果Y是数量型变量
2、,那么学习从向量X到Y的映射的过程叫做回归。如果Y是范畴型变量,则叫做分类。从学习一个p维向量X到Y的映射这个角度来讲,分类和回归这两种任务都可以看作是函数逼近(function approximation)问题9.1 预测建模简介预测建模简介预测建模的训练数据由n对(X,Y)组成。每对数据中的向量X(i)和目标值Y(i)都是从已知数据中观察得到的(0in)。因此,预测建模所要做的就是根据训练数据拟合出模型Y=(X;),该模型可以在给定输入向量X和模型的参数的情况下预测出Y的值。具体来说,模型拟合的过程需要完成以下事情:1)确定模型的结构;2)确定参数的值。值是通过在数据集上最小化(或最大化)
3、一个评分函数来确定的,而搜索最佳值的过程就是优化的过程,通常是数据挖掘算法的核心部分。因此,从算法组件的角度出发,模型拟合的过程实际上也就是要确定模型结构、评分函数以及搜索优化策略。9.1.1 用于预测的模型结构用于预测的模型结构一、用于回归的预测模型:1线性回归模型线性回归模型最简单的回归模型是线性回归模型。在这种模型中,响应变量Y是输入变量X的线性函数,即 = a0 + a1X1 + a2X2 + + apXp其中Xi(0ip)是输入向量X的分量,模型的参数= a0,a1,a2,ap。请注意,上述表达式中用的是,而不是Y。代表的是模型的预测值,而Y代表实际观察到的值。9.1.1 用于预测的
4、模型结构用于预测的模型结构2非线性回归模型非线性回归模型通过在基本的线性回归模型上添加多项式项,可以得到非线性回归模型。其几何意义是多维空间中的一个超曲面。3分段线性模型分段线性模型假定响应变量Y是输入向量X的局部线性函数,该模型在p维空间的不同区域,具有不同的函数形式,这便是分段线性模型。分段线性模型是通过把简单模型分段组合在一起构建起来的相对复杂的模型。这种模型结构的参数既包括各个区域上的局部函数的参数,又包括各个区域的边界。当p = 1时,该模型表示由k个不同的线段逼近的一条曲线。9.1.1 用于预测的模型结构用于预测的模型结构二、用于分类的预测模型:1判别模型判别模型判别模型的输入是输
5、入向量X,输出是响应变量Y。Y的取值为C1,C2,Cm,其中Ci表示类别。9.1.1 用于预测的模型结构用于预测的模型结构在判别模型中,分类的主要任务是要确定各个类别的决策区域,或者说,我们所感兴趣的是不同类别之间的边界。和回归的情况类似,可以对类别间边界的函数形式做一个简单的假定。9.1.1 用于预测的模型结构用于预测的模型结构2概率模型概率模型分类的概率建模是要针对每一个类别Ci,估计一种分布或密度函数(X|Ci, i),其中i是该函数的参数,它反映了Ci类的主要特征。在分类之前,我们既不知道该函数的形式,也不知道该函数的参数。需要对它们进行估计。一旦估计出了(X|Ci, i),则可以应用
6、贝叶斯定理得到Ci类的后验概率:后验概率(Ci|X, i)隐含地将输入空间X分割成m个决策区域,每个决策区域具有相应的决策边界。9.1.2 用于预测的评分函数用于预测的评分函数 9.1.3 用于预测的搜索和优化策略用于预测的搜索和优化策略评分函数用于衡量预测模型(X;)与现有的训练数据集的拟合程度。搜索和优化的目标是确定预测模型(X;)的形式及其参数值,以使评分函数达到最小值(或最大值)。如前所述,如果的结构已经确定,则搜索将在参数空间内进行,目的是针对这个固定的,优化评分函数。如果的结构还没有确定的话,那么搜索既要针对又要针对和这些结构相联系的参数空间进行。前者被称为优化问题,后者被称为搜索
7、问题。常用的优化方法有爬山、最陡峭下降、期望最大化等。常用的搜索方法有贪婪搜索、分支界定法、宽度(深度)优先遍历等。9.2 决策树分类决策树分类决策树分类属于判别模型。决策树分类的主要任务是要确定各个类别的决策区域,或者说,确定不同类别之间的边界。在决策树分类模型中,不同类别之间的边界通过一个树状结构来表示。9.2 决策树分类决策树分类 决策树模型是一个分层的多叉树结构。树的每个内部结点代表对某个属性的一次测试。对于实数值或整数值属性,测试使用的是阈值;对于范畴型属性,测试使用的是隶属关系。树中的每条边代表一个测试结果。叶子代表某个类别或者类别的分布。树最顶端的结点是根结点。如果有m个属性的话
8、,决策树最高有m层。 用决策树进行分类需要两步。第一步是利用训练集建立一棵决策树,得到一个决策树分类模型。第二步是利用生成的决策树对输入数据进行分类。对输入的记录,从根结点依次测试记录的属性值,直至到达某个叶子结点,从而找到该记录所属的类别。9.2 决策树分类决策树分类决策树分类建模的基本原理是以一种递归的方式将输入变量所跨越的空间划分成多个单元,使划分出的每个单元的大多数对象都属于同一个类别。9.2 决策树分类决策树分类决策树分类模型具有许多优点:1)易于理解和解释;2)可以处理混合类型的变量,因为树结构采用简单的多元测试来划分空间(对于数量型变量使用阈值,对于范畴型变量使用隶属关系);3)
9、可以快速预测新的案例。决策树的结构是由数据得来的,而不是事先确定的。树结构的建立过程通常分为两个阶段:利用训练集生成决策树;然后再对决策树进行剪枝。9.2.1 建树阶段建树阶段决策树的生成是一个从根结点开始、从上到下的递归过程。一般采用分而治之的方法,通过不断地将训练样本划分成子集来构造决策树。假设给定的训练集T总共有m个类别。则针对T构造决策树时,会出现以下三种情况:如果T中所有样本的类别相同,那么决策树只有一个叶子结点。如果T中没有可用于继续分裂的变量,则将T中出现频率最高的类别作为当前结点的类别。1.如果T包含的样本属于不同的类别,根据变量选择策略,选择最佳的变量和划分方式将T分为几个子
10、集T1,T2,Tk,每个数据子集构成一个内部结点。9.2.1 建树阶段建树阶段9.2.1 建树阶段建树阶段两种比较流行的分裂变量选择方法,信息增益和增益比。一、信息增益:息增益最大的变量被认为是最佳的分裂变量。基础知识:假设有n条等概率的消息需要发送,则发送每条消息的概率p=1/n。那么一条消息所能传递的信息信息就是-log2(p) = log2(n)。如果这n条需要发送的消息不是等概率的,而是满足一个概率分布P = (p1, p2, , pn),则该分布所传递的信息信息(用Info表示)为: Info(P) = p1*(-log2(p1) + p2*(-log2(p2) + + pn*(-l
11、og2(pn)9.2.1 建树阶段建树阶段计算信息增益的总的思路是:1)首先计算不考虑任何输入变量的情况下要确定T中任一样本所属类别需要的信息Info(T);2)计算引入每个输入变量X后要确定T中任一样本所属类别需要的信息Info(X,T);3)计算二者的差,Info(T)-Info(X, T),此即为变量X的信息增益,记为Gain(X,T)。9.2.1 建树阶段建树阶段 9.2.1 建树阶段建树阶段 计算计算Gain(X, T)Gain(X, T)= Info(T)- Info(X, T)9.2.1 建树阶段建树阶段9.2.1 建树阶段建树阶段9.2.1 建树阶段建树阶段 9.2.2 剪枝阶
12、段剪枝阶段决策树的构造过程决定了它是与训练集中的数据完全拟合的。如果训练集中不存在噪声的话,按这种策略所生成的决策树准确度比较高。但是在有噪声的情况下,完全拟合将导致“过学习”(overfitting)的结果。克服过学习问题通常采用剪枝的方法,最主要的有如下两类:先剪(pre-pruning):在建树的过程中,当满足一定条件,例如信息增益达到某个预先设定的阈值时,结点不再继续分裂,内部结点成为一个叶子结点。叶子结点取子集中出现频率最多的类别作为自己的类别标识。1.后剪(pos-pruning):当树建好之后,针对每个内部结点,分别计算剪枝之前和之后的分类错误率。如果剪枝能够降低错误率的话,则将
13、该结点所在的子树用一个叶子结点代替。分类出错率根据与训练集完全独立的测试集获得。期望剪枝后最终能形成一棵错误率尽可能小的决策树。9.2.3 分类规则的生成分类规则的生成决策树生成之后,可以很容易地从中抽取出分类规则。树中从根结点到叶子结点的一条路径表示一条规则。规则的左部(条件)是从根结点出发到达该叶子结点路径上的所有中间结点及其边的标号的“与”,规则的右部(结论)是叶结点的类别标号。一条分类规则为:IF age = “ 1,则i的类别标号为+1;如果WTX + b -1, 则i的类别标号为-1。 如果 -1 WTX + b 1, 则出错。 假定X-为负-平面上的任意一点,而X+为正-平面上离
14、X-最近的点。则下式成立: X+ = X- + W其中为某个特定的标量值。因为经过点X+ 和X-的直线与正(负)-平面垂直,所以从X+ 到X-的话只要沿着W方向行进一段距离即可。到目前为止,下述表达式是成立的:式1:WTX+ + b = +1式2:WTX- + b = -1式3:X+ = X- + W式4:| X+ - X- | = M9.4.1 线性可分时的二元分类问题线性可分时的二元分类问题 9.4.1 线性可分时的二元分类问题线性可分时的二元分类问题当无法找到一个理想的超平面,能将样本完全分开时,需要对上述的优化问题进行修改。9.4.1 线性可分时的二元分类问题线性可分时的二元分类问题
15、9.4.2 线性不可分时的二元分类问题线性不可分时的二元分类问题9.4.2 线性不可分时的二元分类问题线性不可分时的二元分类问题当在原来的样本空间中无法找到一个最优的线性分类函数时,可以考虑利用非线性变化的方法将原样本空间的非线性问题转化为另一个高维空间中的线性问题。9.4.3 多元分类问题多元分类问题现实中存在着大量的多元分类问题。在这类问题中,目标属性Y可以取多个值,而不仅是两个值。为了进行多元分类,一种常用的方法是构造多个支持向量机。例如,假设有m个不同的类别C1,.,Cm,则构造m个不同的二元分类器,分别为f1,.,fm。对任一个分类器fi来说,它的目标属性Yi只能取两个值,Ci或者C
16、i,即YiCi,Ci 。给定一个新的样本X,理论上,这m个分类器应该只有一个取值为fi(X)0,其它的均为fj(X)0(ji),但事实并非如此。实际分类时,可能存在多个分类器, 它们的f(X)取值都大于等于0。这个时候,通常选择值最大的f(X)所对应的类别作为X的类别。9.4.4 可扩展性问题可扩展性问题支持向量机比较适合于规模小的数据集,当应用于大规模数据时,支持向量的数量会大幅度增加,从而使支持向量机的复杂性增大,效率下降。目前,人们已经提出了一些方法,用来解决在大规模数据集上如何应用支持向量机进行分类的问题。9.5 人工神经网络分类人工神经网络分类人工神经网络(Artificial Ne
17、ural Network,ANN)是以模拟人脑神经元为基础而创建的,由一组相连接的神经元组成。神经元可以看作是一个多输入单输出的信息处理单元,它先对输入变量进行线性组合,然后对组合的结果做非线性变换。神经元之间的每个连接都有一个权值与之相相联。神经网络的学习就是通过迭代算法,对权值逐步修改的优化过程,学习的目标是通过修改权值使训练集中的所有样本都能被正确分类。神经网络需要很长的训练时间,因而对于允许足够长训练时间的应用更为合适。9.5.1 神经网络的组成神经网络的组成神经网络由三个要素组成:拓扑结构、连接方式和学习规则一、拓扑结构一、拓扑结构神经网络的拓扑结构可以是单层的、两层的或者三层的。单
18、层神经网络只有一组输入单元和一个输出单元。9.5.1 神经网络的组成神经网络的组成 9.5.1 神经网络的组成神经网络的组成两层神经网络由输入单元层和输出单元层组成。如图所示,该网络有i个输入单元,j个输出单元。由于两层神经网络有多个输出单元,可用于多元分类问题。假设样本有m个类别C1,Cm,则输出层需要设计m个输出单元。则当样本的类别为Ci时,第i个输出单元的期望输出值为1,其他输出单元的期望输出值为0。9.5.1 神经网络的组成神经网络的组成三层神经网络用于处理更复杂的非线性问题。在这种模型中,除了输入单元层和输出单元层之外,引入了中间层(或称隐藏层,可以为多层)。每层单元的输出作为下一层
19、单元的输入。图9.18表示了一个三层神经网络,由输入层、隐藏层和输出层组成。9.5.1 神经网络的组成神经网络的组成神经网络由三个要素组成:拓扑结构、连接方式和学习规则二、连接方式二、连接方式 神经网络的连接包括层次之间的连接和每一层内部的连接,连接的强度用权表示。根据层次之间的连接方式,可以把神经网络分为前馈式神经网络和反馈式神经网络。在前馈式神经网络中,连接是单向的,上层单元的输出是下层单元的输入。在反馈式神经网络中,除了单向连接之外,最后一层单元的输出返回去作为第一层单元的输入。 根据单元之间的连接范围,可以把神经网络分为全连接神经网络和部分连接神经网络。在全连接神经网络中,每个单元和相
20、邻层的所有单元都相连。而在部分连接神经网络中,每个单元只与相邻层上的部分单元相连。9.5.1 神经网络的组成神经网络的组成神经网络由三个要素组成:拓扑结构、连接方式和学习规则三、学习规则三、学习规则神经网络的学习分为离线学习和在线学习两类。离线学习指神经网络的学习过程和应用过程是独立的,而在线学习指学习过程和应用过程是同时进行的。9.5.2 神经网络分类方法神经网络分类方法神经经常用于分类,最典型的分类算法后向传播算法(Back-propagation,简称为BP算法)后向传播算法迭代地对训练集中的每个样本进行处理。将每个样本的网络分类结果与实际的类标号进行比较,如果不一致,则修改权,使得网络
21、分类结果和实际类标号之间的均方差逐渐减小(均方差是评分函数,采用的搜索策略是最陡峭下降)。更新权值的过程是“后向”进行的,即,由输出层,经由每个隐藏层,到达输入层。9.5.2 神经网络分类方法神经网络分类方法 9.5.2 神经网络分类方法神经网络分类方法二、向后传播误差 通过上一步的工作,样本数据经由网络中的各层,最后到达了输出层。而输出层的输出就是我们所要的分类结果。 后向传播的过程中,需要更新网络中的权值和偏置。9.5.2 神经网络分类方法神经网络分类方法 9.5.2 神经网络分类方法神经网络分类方法3更新权值更新权值误差算出来之后,要对网络连接的权值进行更新,以反映所传播的误差。权值由下
22、式更新,其中,wij是权wij的改变。 其中的变量l是学习率学习率,通常取0和1之间的值。4更新偏置更新偏置偏置由下式更新。其中,j是偏置j的改变。 9.5.2 神经网络分类方法神经网络分类方法9.5.2 神经网络分类方法神经网络分类方法9.6 文本分类实践案例文本分类实践案例文本分类实践案例-精准营销中搜狗用户画像挖掘文本分类是在预定的类别体系下,让计算机根据文本内容自动将文本识别为某个类别的过程。9.6.1 分词及文本表示分词及文本表示一、分词分词又称切词,英文为Word Segmentation。分词的主要任务是将句子切分成一个个单独的词。二、文本表示文本预处理的目标就是要将非结构化的文
23、本数据表示为类似二维表格等结构化数据的表示形式。其中每个文档相当于二维表格中的一行,文档集合中经分词及去停用词处理后的每个词作为二维表格中的一个属性列,也称原始特征。9.6.1 分词及文本表示分词及文本表示文本的向量空间模型在向量空间模型中,表中的每一个特征词(一列)称为向量空间模型中的一个维度,即文本集可以看作是由一组特征词(特征词1、特征词2、特征词3、特征词4、特征词n)组成的向量空间,每个文本文件可以看成为这n维空间中的一个向量(一行)。9.6.2 数据简介数据简介一、背景在现代广告投放系统中,精准细致的用户画像构建算法是实现精准广告投放的基础技术之一。所谓用户画像是指根据用户的历史购
24、买行为所归纳总结出来的用户的购买偏好二、数据内容数据来源:大数据精准营销中搜狗用户画像挖掘,该数据是一个文本文件,存有两万条数据,是搜狗提供的用户历史一个月的查询词与用户的人口属性标签(包括性别、年龄、学历)。整个数据抽取出用户性别和用户搜索内容后数据如下表所示:9.6.2 数据简介数据简介9.6.3 数据分析数据分析9.6.3 数据分析数据分析一、单机下数据预处理数据预处理总体思路是通过数据清理、集成、变换等方法将原始数据中不完整、不一致、重复等的脏数据去除主要有两个步骤:第一步是对用户搜索内容的文本进行中文分词,去除其中的无用词,例如特殊符号、数字等。再把返回的结果存入到文本文件中第二步是
25、将每一条完成分词的搜索内容变成相对应的特征向量9.6.3 数据分析数据分析第一步:中文分词。本案例采用Python程序来实现数据预处理,文本分词使用的是分词工具Jieba和Python中的一个正则库re1)将whole.txt文件转为CSV格式,即whole.csv文件。9.6.3 数据分析数据分析2)对2万条数据逐条处理,包括数据清理和中文分词等工作3)将处理好的内容逐条写入result.csv文件中9.6.3 数据分析数据分析分词结果的部分数据如表9.6所示,第一列还是内容的标签,表示用户性别9.6.3 数据分析数据分析第二步:生成特征向量。中文词转特征向量方法有多种,例如Word2Vec
26、方法,TF-IDF 文本特征提取算法,哈希表算法等。本案例采用TF-IDF 文本特征提取算法:9.6.3 数据分析数据分析二、用Spark建立数据分类模型1、Spark简介 Spark使用Scala语言进行实现,它是一种面向对象、函数式编程语言,能够像操作本地集合对象一样轻松地操作分布式数据集(Scala 提供一个称为 Actor 的并行模型,其中Actor通过它的收件箱来发送和接收非同步信息而不是共享数据,该方式被称为:Shared Nothing 模型)。它具有运行速度快、易用性好、通用性强和随处运行等特点2 Spark下建立数据分析模型数据预处理完毕后,利用Spark中的MLlib中的贝
27、叶斯方法对数据进行模型分析。使用的数据是上面用Python处理所得数据,随机选取了80%的数据作为训练集,20%作为测试集,来进行训练与预测分析9.6.3 数据分析数据分析经过分析与处理后再次的预测结果,得出训练模型的预测准确率大约为74.9%,召回率大约为87.1%,F1大约为80.4%。调用Spark的MLlib的朴素贝叶斯方法分析数据小小 结结本章介绍了预测建模的基本概念、常用于预测的模型结构、评分函数以及搜索和优化策略,介绍了决策树、贝叶斯、支持向量机、人工神经网络等分类方法;把握以下几点:1. 了解常用于预测的模型结构、评分函数以及搜索和优化策略。2. 作为一种判别模型,决策树分类的主要任务是要确定不同类别之间的边界。在决策树分类模型中,不同类别之间的边界通过一个树状结构来表示。3. 贝叶斯分类是一种统计学分类方法,主要有朴素贝叶斯分类和贝叶斯信念网络两种方法。理解朴素贝叶斯分类之所以称之为“朴素”的,是因为在分类的计算过程中假设属性值之间是相互独立的。4. 理解支持向量机进行二元分类时寻找最优超平面的主要思想和过程。5.了解人工神经网络分类的基本概念和一般方法。
限制150内