《商务大数据分析导论》全套教学课件_第1页
《商务大数据分析导论》全套教学课件_第2页
《商务大数据分析导论》全套教学课件_第3页
《商务大数据分析导论》全套教学课件_第4页
《商务大数据分析导论》全套教学课件_第5页
已阅读5页,还剩667页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

商务大数据分析

导论全套可编辑PPT课件

目录项目一

数据分析基础项目二

大数据分析算法项目三

创业实践:数据采集与整理

项目四

创业实践:构建数据模型项目五

创业实践:认识客户价值项目六

创业实践:数据可视化项目七

数字化创新创业实践项目一数据分析基础全套可编辑PPT课件

项目一数据分析基础任务一大数据分析基础知识

1.大数据分析的几对概念

1.1机器学习与深度学习

1.2监督学习与无监督学习

1.3训练集、验证集和测试集

2.大数据分析流程

2.1.数据分析标准流程

2.2.数据分析标准流程的案例解析3.大数据分析方法概览

4.本书主要使用的大数据分析工具

4.1.PowerBI简介

4.2.Python简介

4.3.Orange3.0主要功能1.大数据分析的几对概念1.1机器学习与深度学习1.机器学习机器学习是人工智能在近期最重要的发展之一。机器学习的理念是,不将智能看作是给机器传授东西,而是机器会自己学习东西。2.深度学习深度学习是目前关注度很高的一类算法,深度学习(DeepLearning,DL)属于机器学习的子类。它的灵感来源于人类大脑的工作方式,是利用深度神经网络来解决特征表达的一种学习过程。人工智能、机器学习、深度学习关系如图所示。1.大数据分析的几对概念1.2监督学习与无监督学习通过建立模型进行自我学习,那么学习方法有哪些呢?(1)监督学习监督学习就是训练机器学习的模型的训练样本数据有对应的目标值,监督学习就是通过对数据样本因子和已知的结果建立联系,提取特征值和映射关系,通过已知的结果,已知数据样本不断的学习和训练,对新的数据进行结果的预测。(2)无监督学习无监督学习跟监督学习的区别就是选取的样本数据无需有目标值,我们无需分析这些数据对某些结果的影响,只是分析这些数据内在的规律。(3)半监督学习半监督学习是监督学习和无监督学习相互结合的一种学习方法,通过半监督学习的方法可以实现分类、回归、聚类的结合使用。(4)强化学习强化学习是一种比较复杂的机器学习方法,强调系统与外界不断的交互反馈,它主要是针对流程中不断需要推理的场景,比如无人汽车驾驶,它更多关注性能。它是机器学习中的热点学习方法。1.大数据分析的几对概念1.3训练集、验证集和测试集1.训练集(trainset)用于训练有监督模型,拟合模型,调整参数,选择入模变量,以及对算法做出其他抉择;2.测试集(testset)用于评估训练出的模型效果,但不会改变模型的参数及效果,一般验证模型是否过拟合或者欠拟合,决定是否重新训练模型或者选择其他的算法;3.验证集(validationset)因为训练集和测试集均源自同一分布中,随着时间的流逝,近期样本的分布与训练模型的样本分布会有变化,需要校验训练好的模型在近期样本(验证集)是否有同样的效果,即模型的稳定性、鲁棒性、泛化误差。2.大数据分析流程大数据特点5个V:数据量大(Volume)、速度快(Velocity)、类型多(Variety)、价值(Value)、真实性(Veracity)。数据分析工具各种厂商开发了数据分析的工具、模块,将分析模型封装,使不了解技术的人也能够快捷地实现数学建模,快速响应分析需求。传统分析在数据量较少时,传统的数据分析已能够发现数据中包含的知识,包括结构分析、杜邦分析等模型,方法成熟,应用广泛。常规分析揭示数据之间的静态关系;分析过程滞后;对数据质量要求高。随着计算机科学的进步,数据挖掘、商务智能、大数据等概念的出现,数据分析的手段和方法更加丰富。数据挖掘就是充分利用了统计学和人工智能技术的应用程序,并把这些高深复杂的技术封装起来,使人们不用自己掌握这些技术也能完成同样的功能,并且更专注于自己所要解决的问题。同时将统计学和计算机技术等多学科进行结合,揭示数据之间隐藏的关系将数据分析的范围从“已知”扩展到“未知”,从“过去”推向“将来”。商务智能一系列以事实为支持,辅助商业决策的技术和方法,曾用名包括专家系统、智能决策等,一般由数据仓库、联机分析处理、数据挖掘、数据备份和恢复等部分组成对数据分析的体系化管理,数据分析的主体依然是数据挖掘。大数据技术从多种类型的数据中,快速获取知识的能力及数据挖掘技术的衍生。数据可视化大数据时代,展示数据可以更好辅助理解数据、演绎数据。2.1数据分析标准流程(图)2.大数据分析流程(1)业务理解(2)数据理解(3)数据准备(4)建立模型(5)评估模型(6)部署2.1数据分析标准流程(图)2.大数据分析流程(1)业务理解(2)数据理解(3)数据准备(4)建立模型(5)评估模型(6)部署2.2数据分析标准流程的案例解析案例:农夫山泉用大数据卖矿泉水2.大数据分析流程在大数据时代,数据挖掘算法是最关键的工作。大数据的挖掘是从海量、不完全的、有噪声的、模糊的、随机的大型数据库中发现隐含在其中有价值的、潜在有用的信息和知识的过程,也是一种决策支持过程。其主要基于人工智能,机器学习,模式学习,统计学等。一般来说,大数据的挖掘常用的方法有分类、回归分析、聚类、关联规则、人工神经网络等,如图所示。这些方法从不同的角度对数据进行挖掘,从而生产数据产品,产生数据价值。3.大数据分析方法概览(2)回归分析。(3)聚类。3.大数据分析方法概览分类算法示意图

回归算法示意图

聚类算法示意图回归分析反映了数据库数据的属性值的特性,通过函数表达数据映射的关系来发现属性值之间的依赖关系。回归分析聚类类似于分类,但与分类的目的不同,是针对数据的相似性和差异性将一组数据分为几个类别。聚类分类是找出数据库中的一组数据对象的共同特点并按照分类模式将其划分为不同的类,其目的是通过分类模型,将数据库中的数据项映射到摸个给定的类别中。分类3.大数据分析方法概览关联规则算法示意图

神经网络算法示意图关联规则是隐藏在数据项之间的关联或相互关系,即可以根据一个数据项的出现推导出其他数据项的出现。关联规则神经网络作为一种先进的人工智能技术,因其自身自行处理、分布存储和高度容错等特性,非常适合处理非线性的以及那些以模糊、不完整、不严密的知识或数据为特征的处理问题,它的这一特点十分适合解决数据挖掘的问题。神经网络方法(1)Python概要Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python的设计具有很强的可读性。1)Python是一种解释型语言:这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。2)Python是交互式语言:这意味着,您可以在一个Python提示符,直接互动执行写你的程序。3)Python是面向对象语言:这意味着Python支持面向对象的风格或代码封装在对象的编程技术。4)Python是初学者的语言:Python对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到WWW浏览器再到游戏。(2)Python发展历史(3)Python特点1)易于学习。Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。2)易于阅读。Python代码定义的更清晰。3)易于维护。Python的成功在于它的源代码是相当容易维护的。4)一个广泛的标准库。Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。5)互动模式。互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。6)可移植。基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。7)可扩展。如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。8)数据库。Python提供所有主要的商业数据库的接口。9)GUI编程。Python支持GUI可以创建和移植到许多系统调用。10)可嵌入。你可以将Python嵌入到C/C++程序,让你的程序的用户获得“脚本化”的能力。4.本书主要使用的大数据分析工具PowerBI是一种商业分析解决方案,可帮助对数据进行可视化、在组织中共享见解、或将见解嵌入应用或网站中。连接到数百个数据源,并使用实时仪表板和报表对让数据变得生动。PowerBI简介01Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。由荷兰人GuidovanRossum于1989年底发明,第一个公开发行版发行于1991年。像Perl语言一样,Python源代码同样遵循GPL(GNUGeneralPublicLicense)协议。Python核心团队计划在2020年停止支持Python2;从2019年1月1日开始,任何新的功能版本都只支持Python3。Python简介02Orange的组件包括:数据(Data):包含数据输入、数据保存、数据过滤、抽样、插补、特征操作以及特征选择等组件,同时还支持嵌入Python脚本。可视化(Visualize):包含通用可视化(箱形图、直方图、散点图)和多变量可视化(马赛克图、筛分曲线图)组件。模型(Model):包含一组用于分类和回归的有监督机器学习算法组件。评估(Evaluate):交叉验证、抽样程序、可靠性评估以及预测方法评估。无监督算法(Unsupervised):用于聚类(k-means、层次聚类)和数据降维(多维尺度变换、主成分分析、相关分析)的无监督学习算法。另外,还可以通过插件(add-ons)的方式为Orange增加其他的功能(生物信息学、数据融合与文本挖掘。添加的方法是点击“Options”菜单下的“Add-ons”按钮,打开插件管理器。4.本书主要使用的大数据分析工具Orange是一个开源的数据挖掘和机器学习软件。Orange基于Python和C/C++开发,提供了一系列的数据探索、可视化、预处理以及建模组件。Orange3.0主要功能03项目一数据分析基础任务二准备你的数据分析能力

1.基本概念辨析

2.常见的离散型随机变量的分布

2.1 等概率分布

2.2 伯努利分布

2.3 二项分布

2.4 几何分布

2.5 超几何分布

2.6 泊松分布

3.常见的连续型随机变量的分布

3.1 正态分布

3.2 指数分布

1.1离散型随机变量可以逐个列举出来的变量。如能够用我们日常使用的量词可以度量的取值,比如次数,个数,块数等都是离散型随机变量。比如抛硬币、掷骰子、买彩票等。1.2连续型随机变量无法逐个列举的变量。无法用量词度量,且取值可以取到小数2位,3位甚至无限多位的时候,那么这个变量就是连续型随机变量。比如正态分布(也称为高斯分布)、指数分布等。1.3概率函数其实,无论是离散型还是连续型随机变量,基础性的概率函数概念只有两个,根据国内教材的普遍性称谓,在此我们可以统一称为概率分布函数和概率密度函数。1.基本概念辨析2.1等概率分布顾名思义,等概率分布是指每一个可能出现情况的概率取值都是相等的。比如抛硬币、抛骰子等,一般将等概率分布称为“古典概型”。2.常见的离散型随机变量的分布2.2伯努利分布伯努利分布,也叫0-1分布或两点分布。凡是随机试验只有两个可能的结果,常用伯努利分布描述,如产品是否格、人口性别统计、系统是否正常、电力消耗是否超负荷等等。2.3二项分布二项分布,也叫n重伯努利分布,是指反复多次重复伯努利实验,比如重复抛骰子计算某个点出现几次的概率问题,射击的命中次数和命中率问题,一批种子的发芽率问题,药物治疗病人是否有效的问题,产品的不合格率问题等都要用到二项分布。2.常见的离散型随机变量的分布四个二项分布图2.常见的离散型随机变量的分布2.4几何分布几何分布也是以伯努利分布为基础的一种特殊分布,它主要解决在k次重复独立实验中,某个我们关心的结果在某次(k值)时第一次出现的概率。主要应用场景如在已知某器件报损概率的情况下,测算其正常使用寿命。或在中奖概率一定的情况下,需要多长时间能中的大奖。三几何分布图2.常见的离散型随机变量的分布2.5超几何分布超几何分布图超几何分布与二项分布比较图2.常见的离散型随机变量的分布2.6泊松分布泊松分布适合于描述单位时间或空间内随机事件发生的次数。比如某一个服务设施在一定时间内到达了多少人,电话交换机接到了多少次呼叫,汽车站台的候车人数,机器出现的故障次数,显微镜下单位分区内的细菌分布数等。泊松分布图二项分布与泊松分布比较图2.常见的离散型随机变量的分布以上四种离散分布的动态演示图可以用数学软件Geogebra画出,参见/m/xfjsmv7v。四种分布在Geogebra中的呈现3.常见的连续型随机变量的分布3.1正态分布正态分布图3.2指数分布在连续型随机分布中,存在一个与指数有关的分布,指数分布。如果随机变量指数分布图

以上二种连续分布的动态演示图已用数学软件Geogebra画出,参见/m/hcnt8nj9。学习者可以调整各分布的参数查看图形变化过程,其图形呈现见图2-10。也可下载研究。如在手机端操作,请扫描右边的二维码。二种分布在Geogebra中的呈现谢谢商务大数据分析

导论目录项目一

数据分析基础项目二

大数据分析算法项目三

创业实践:数据采集与整理

项目四

创业实践:构建数据模型项目五

创业实践:认识客户价值项目六

创业实践:数据可视化项目七

数字化创新创业实践项目二大数据分析算法项目二大数据分析算法任务一

决策

1.信息、熵及信息增益的概念

1.1信息及其度量

1.2信息熵

1.3条件熵、信息增益及信息增益比

2.决策树的构建

2.1ID3算法

2.2C4.5算法

2.3ID3、C4.5、CART的区别算法

3.算法用例1.信息、熵及信息增益的概念1.1信息及其度量克劳德·艾尔伍德·香农,美国数学家、电子工程师和密码学家,被誉为信息论的创始人。他发表了划时代的论文——通信的数学原理,奠定了现代信息论的基础。不仅如此,香农还被认为是数字计算机理论和数字电路设计理论的创始人。香农对信息的描述是“信息是用来消除随机不确定性的东西”。信息是消息中包含的有效内容,那么如何度量离散消息中所含的信息量?其度量的基本原则有三点,一是能度量任何消息,并与消息的种类无关;二是度量方法应该与消息的重要程度无关;三是消息中所含信息量和消息内容的不确定性有关。1.2信息熵当熵中的概率由数据估计(特别是最大似然估计)得到时,所对应的熵称为经验熵(empiricalentropy)。所谓数据估计,是指通过训练数据计算得出的分类概率值,比如有10个数据,一共有两个类别,A类和B类。其中有7个数据属于A类,则该A类的概率即为十分之七。其中有3个数据属于B类,则该B类的概率即为十分之三。浅显的解释就是,这概率是我们根据已有的数据数出来的。1.3

条件熵、信息增益及信息增益比1.信息、熵及信息增益的概念2.决策树的构建2.1ID3算法ID3算法的核心是在决策树各个结点上对应信息增益准则选择特征,递归地构建决策树。具体方法是:第一步。从根结点(rootnode)开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征。第二步。由该特征的不同取值建立子节点,再对子结点递归地调用以上方法,构建决策树;直到所有特征的信息增益均很小或没有特征可以选择为止;第三步。最后得到一个决策树。2.决策树的构建2.2C4.5算法与ID3算法相似,但是做了改进,将信息增益率作为选择特征的标准。信息增益率=信息增益/属性熵。用公式表示为:特征变量特征取值信息量条件信息熵信息增益属性熵信息增益率outlooksunny0.9709510.6935360.246749821.57740.1564overcast0rainy0.970951temperaturehot10.9110630.0292225661.55670.0188mild0.918296cool0.811278humidityhigh0.9852280.7884501518normal0.591673windyFALSE0.8112780.8921590.048127030.98520.0489TRUE1节点特征取值特征特征取值信息量条件信息熵信息增益属性熵信息增益率Rainytemperaturemild0.9182960.9509780.0199730.9709510.020571cool1humidityhigh10.9509780.0199730.9709510.020571normal0.918296windyFALSE000.9709510.9709511TRUE0Sunnytemperaturehot00.40.5709511.5219280.37515mild1cool0humidityhigh000.9709510.9709511normal0windyFALSE0.9182960.9509780.0199730.9709510.020571TRUE12.决策树的构建2.3ID3、C4.5、CART的区别算法对于这三个非常著名的决策树算法,简单地区别是:ID3使用信息增益作为选择特征的准则;C4.5使用信息增益率作为选择特征的准则;CART使用基尼系数作为选择特征的准则。ID3:熵表示的是数据中包含的信息量大小。熵越小,数据的纯度越高,也就是说数据越趋于一致,这是我们希望的划分之后每个子节点的样子。C4.5:克服了ID3仅仅能够处理离散属性的问题,以及信息增益偏向选择取值较多特征的问题,使用信息增益率来选择特征。信息增益率=信息增益/属性熵,选择信息增益率最大的作为最优特征。C4.5处理连续特征是先将特征取值排序,以连续两个值中间值作为划分标准。尝试每一种划分,并计算修正后的信息增益,选择信息增益最大的分裂点作为该属性的分裂点。CART:与ID3、C4.5不同之处在于CART生成的树必须是二叉树。也就是说,无论是回归还是分类问题,无论特征是离散的还是连续的,无论属性取值有多个还是两个,内部节点只能根据属性值进行二分。CART的全称是分类与回归树。从这个名字中就应该知道,CART既可以用于分类问题,也可以用于回归问题。2.决策树的构建3.算法用例以天气打球数据集D为例,在Orange中用决策树算法构造的流程图如下:2.决策树的构建3.算法用例通过Tree模型插件后数据就分好类了,然后我们再使用Treeviewer可视化插件看下分类情况,如下图。可以看到Treeviewer很形象地展示了决策树,与我们的手动计算结果一致,也表示出了每个特征分类值。项目二大数据分析算法任务二

聚类算法

1.K-means算法

1.1距离的计算

1.2算法流程

1.3几个聚类算法中的数学公式

2.感受质心的迁移过程

3.K值的选择

3.1快速判断法

3.2肘部法则(ElbowMethod)

3.3轮廓系数法(SilhouetteCoefficient)4.从等高线认识正则项

4.1与正则化

4.2正则项与稀疏解

聚类算法所谓聚类算法是指将一堆没有标签的数据自动划分成几类的方法,因为事先并不知道如何划分及样本所属的类别,属于无监督学习方法,但这个方法要保证同一类的数据有相似的特征,如下图。其基本理论是,根据样本之间的距离或者说是相似性(亲疏性),把越相似、差异越小的样本聚成一类(簇),最后形成多个簇,使同一个簇内部的样本相似度高,不同簇之间差异性高。1.K-means算法K-means算法是最基础和最常用聚类算法。其相关概念有:K值:希望得到的簇的个数。质心:即簇的中心值,是每个簇的均值向量,向量各维取平均即可。距离量度:常用欧几里得距离和余弦相似度,但在计算之前,先要将各维数据标准化。1.K-means算法1.1距离的计算在聚类算法的距离计算中,不得不提到范数这一数学概念,在很多机器学习相关的著作和教材中,我们也经常看到各式各样的距离及范数。图4-2曼哈顿距离欧式距离1.K-means算法1.2算法流程(1)首先确定一个k值,即我们希望将数据集经过聚类得到k个集合。(2)从数据集中随机选择k个数据点作为质心。(3)对数据集中每一个点,计算其与每一个质心的距离(如欧式距离),离哪个质心近,就划分到那个质心所属的集合。(4)把所有数据归好集合后,一共有k个集合。然后重新计算每个集合的质心,计算均值,即向量各维取平均。(5)如果新计算出来的质心和原来的质心之间的距离小于某一个设置的阈值(表示重新计算的质心的位置变化不大,趋于稳定,或者说收敛),我们可以认为聚类已经达到期望的结果,算法终止。

(6)如果新质心和原质心距离变化很大,需要迭代3~5步骤。1.K-means算法1.3几个聚类算法中的数学公式在聚类算法的流程中,读者可能会产生一种错觉,认为其聚类原理容易理解,符合所有人的一般认知。不就是找到几个相对中心,然后计算距离,以最小距离归类吗?况且计算过程也不复杂。这些错觉很容易让读者对聚类不屑一顾,而不愿深入研究。事实上,聚类算法也有自己的深度内容,这些内容将在以下部分有限度地展开,但在此之前,让我们先学习几个聚类算法中无法绕开的概念及它们的数学公式。(1)质心的计算。(2)误差平方和(SSE,TheSumofSquaresduetoError)。是指簇内每一个点与其质心的距离平方和,体现的是质心位置的合适程度。其表达式为:(3)轮廓系数(SilhouetteCoefficient)。是结合了聚类的凝聚度(Cohesion)和分离度(Separation)的一个参数,用于评估聚类的效果。其表达式为:2.感受质心的迁移过程以上内容还是太抽象,但至少我们隐隐约约感受到,聚类算法最重要的三个要素是距离的计算方式、质心如何找到和k值的选择问题。目前来看,距离计算方式的选择问题不大,因为最常用的就是欧式距离和曼哈顿距离这两种,只要根据样本内容和研究目的进行适当选择就可以了。

质心如何确定?它又是如何迁移的?用实际数据分步骤计算才能一睹真容。初始样本2.感受质心的迁移过程质心集(A)8.716.895.6质心集(B)3.124.64-2.7质心集(C)2.09-1.788.42质心集(A)6.5588245.3311760.662941质心集(B)-0.800560.508916-4.59029质心集(C)-0.47549-3.984425.091429质心集(A)5.8893945.008182-1.05242质心集(B)-1.32384-0.82931-6.24457质心集(C)-1.81255-3.575674.919818质心集(A)5.9676194.661389-1.48361质心集(B)-1.59279-1.01492-6.25326质心集(C)-2.04694-3.530344.925636第一次迭代

第二次迭代

第三次迭代

第四次迭代3.K值的选择K值的选择在聚类算法中至关重要,因为其牵扯到算法模型的有效性。依然以上节中的数据为例,我们借助Orange分析软件,对几种主要的K值评判方法加以介绍。3.1快速判断法3.2肘部法则(ElbowMethod)快速判断法是一种经验判断方法,那么有没有一种可以选择聚类数目的较为科学的方法呢?有一种方法叫做“肘部法则”,也就是说我们分别计算在各种K值中聚类算法最终的损失函数,一般是指SSE,绘制出随着K值变化损失函数变化的曲线,通过曲线的“拐点”来判断最佳的K值。3.K值的选择将Orange中k=2到k=7的聚类数据全部保存下来,并且对其SSE逐个进行计算,得到如下表k值1234567SSE145628451629052754400348930093.K值的选择3.3轮廓系数法(SilhouetteCoefficient)k=2,SilhouetteScores=0.303.k=3,SilhouetteScores=0.310.3.K值的选择3.3轮廓系数法(SilhouetteCoefficient)k=4,silhouettescores=0.307.k=5,SilhouetteScores=0.303.3.K值的选择3.3轮廓系数法(SilhouetteCoefficient)k=6,silhouettescores=0.317.k=7,silhouettescores=0.315.4.从等高线认识正则项等高线和正则项原本是一对完全不搭嘎的两个概念,之所以把它们放在一起,是因为正则项(RegularTerms)过于抽象,如果不学习大数据分析算法,我们也许一辈子都不会接触这个词汇,但在本书的登高之旅中,正则项又是一个绕不过去的山丘。4.1L1与L2正则化L1正则项与损失函数的关系示意图

L2正则项与损失函数的关系示意图4.从等高线认识正则项4.2正则项与稀疏解在机器学习的诸多方法中,如果我们得到的数据集较小,那在训练过程中很可能遇到过拟合(over-fitting)问题,即训练出来的模型可能将数据中隐含的噪声和毫无关系的特征也表征出来。一次函数无数解示意图

L1范数示意图

稀疏解示意图项目二大数据分析算法任务三

朴素贝叶斯

1.算法概要

2.贝叶斯公式

3.算法说明

4.案例推演

5.Orange用例

1.算法概要朴素贝叶斯算法主要应用于分类,二分类及多分类均可。因为其算法以贝叶斯定理为基础展开,同时有很强的独立性假设,使得计算简单,应用广泛,所以将这一类算法称之为朴素贝叶斯算法。其算法的应用流程可图示如下图。2.贝叶斯公式首先引入经典的贝叶斯公式:3.朴素贝叶树分类的正式定义:4.案例推演在某学校,对学生是否吃牛肉面进行了统计,并对统计当天的平均温差及天气特征进行记录,其目的是想了解学生的饮食偏好与温差和气象特征之间的关系。统计表如下表所示:性别平均温差区间天气特征是否吃牛肉面男中区晴不吃女低区多云吃男中区阴不吃男高区晴吃女低区小雪吃女低区小雪不吃男中区晴吃男高区阴不吃女中区小雪吃男低区阴吃性别身高(英尺)体重(磅)脚掌(英寸)男618012男5.9219011男5.5817012男5.9216510女51006女5.51508女5.421307女5.75150.995.

Orange用例本次Orange用例的目的是期望在温度、气象、价位、午餐/晚餐这四个特征变量的“加持”下,生成学生选择荤/素或米/面的分类器。应用朴素贝叶斯算法是本用例的重点,但为了增强比较性,我们同时应用了随机森林和逻辑回归这两个算法作为贝叶斯算法的背景。因其“朴素”,所以整个Orange算法流程图也相当“简约”,如图。正确分类数据集错误分类数据集朴素贝叶斯算法的部分散点图三种算法的评测指标朴素贝叶斯Orange流程图项目二大数据分析算法任务四

K近邻分类算法

1.算法概述

2.算法要点

1.1距离计算

1.2K值的选择

1.3特征工程及One-hot编码

1.4KNN算法的特点及优缺点

3.KNN的交叉验证

4.模型评估指标

4.1模块

4.2指标

5.算法用例

1.算法概述k近邻(Knearestneighbor)算法,也简称为KNN算法,是一种基本的分类算法。其原理是:对于一个待分类的数据,将其和一组已经分类标注好的样本集合进行比较,得到距离最近的k个样本,k个样本最多归属的类别,就是待分类数据的类别。KNN算法可用于各种分类的场景,比如新闻分类、商品分类、模式识别、多分类领域等,甚至可用于简单的文字识别。KNN算法原理图示KNN算法流程2.算法要点2.1距离计算在KNN中,要度量空间中点距离的话,有好几种度量方式,比如常见的曼哈顿距离计算,欧式距离计算等等。关于距离计算,我们在聚类算法中已有详细介绍。不过通常KNN算法中使用的是欧式距离,即如下公式:2.2K值的选择在KNN算法中,计算过程及原理解析都不复杂,但k值的选择至关重要。那么,在实际场景应用中,如何选择k值呢?一般来讲,是利用算法工具,如Orange,进行不同k值的测算,通过错误率的对比,找到一个错误率最低的k值,k一般选取1~20。比如在后续小节中要讲到的汽车分类案例中,其错误率的曲线图(如图6-3)为:汽车分类案例中的K值曲线2.算法要点2.3特征工程及One-hot编码KNN的应用场景是分类,所以一般来讲,应用于KNN的数据集大多数都是离散型、目录型数据结构。特征工程及One-hot编码都是将类别变量转换为机器学习算法易于利用的一种形式的工具。尤其是One-hot编码,对类别进行“二进制化”操作,然后将其作为模型训练的特征,可以快速形成算法程序可识别运算的数据结构。在汽车分类用例中,其源数据与One-hot编码转换后的数据格式如下表:2.算法要点2.4KNN算法的特点及优缺点标题中已说明,KNN是一种非参的,惰性的算法模型,解释如下,同时也是对标题的注解。首先,非参的意思并不是说KNN算法不需要参数,而是意味着这个模型不会对数据做出任何的假设,与之相对的是线性回归(我们总会假设线性回归是一条直线)。也就是说KNN建立的模型结构是根据数据来决定的,这也比较符合现实的情况,毕竟在现实中的情况往往与理论上的假设是不相符的。其次,惰性是指与其他分类算法相比,没有的损失函数和训练过程。比如,同样是分类算法,逻辑回归或人工神经网络等都需要先对数据进行大量训练,最后才会得到一个算法模型。而KNN算法却不需要,它没有明确的训练数据的过程,或者说这个过程很快。3.

KNN的交叉验证一般来讲,按比例的数据采样或多折交叉验证需要多次应用,相互印证。通常将数据集进行不同方法的分割,人为将整个数据集分为训练集(trainingset)和测试集(testset)两部分。我们将这种数据集分割组合进行算法模型评估的方法叫交叉验证。在实际应用中,有如下几种常用方法:3.1TheValidationSetApproach把整个数据集分成两部分,一部分用于训练,一部分用于验证,分割时以比例进行调节。以汽车分类为例,以不同的比例分割数据集,其错误率是不同的,如下图:汽车分类案例不同比例分割的错误率3.2Cross-Validation(1)LOOCV首先,我们先介绍LOOCV方法,即(Leave-one-outcross-validation),或称为留一法。像Testsetapproach一样,LOOCV方法也包含将数据集分为训练集和测试集这一步骤。但是不同的是,我们现在只用一个数据作为测试集,其他的数据都作为训练集,并将此步骤重复N次(N为数据集的数据数量)。(2)K-foldCrossValidation3.

KNN的交叉验证1.数据采样器模块2.测试模块数据采样器模块窗口测试模块窗口4.模型评估指标大数据分析技术领域不仅包含数据和算法,还有一个重要的环节,就是测试和验证,其主要职能是对算法产生的模型,或称为学习器,就其预测的准确性,使用数据的测试集进行验证,用以评判学习器的性能。性能不好的学习器,要考虑调整参数,或者更改算法;而性能良好的学习器,其良好程度如何?是否达到满意程度等都需要相关指标的精确表达。以下就以KNN算法为例,就Orange平台所采用的测试验证模块的主要使用方法及指标含义详细说明。4.1模块1.混淆矩阵模块表6-1ConfusionMatrix矩阵表汽车数据案例的KNN混淆矩阵模块汽车数据案例的KNN混淆矩阵(按样本数)4.模型评估指标4.1模块2.测试模块:汽车数据案例ROC曲线图汽车数据案例测试模块5.算法用例buying(购买价)v-highhighmedlowmaint(维保支出)v-highhighmedlowdoors(车门)2345-morepersons(载人)24morelug_boot(后备箱)smallmedbigsafety(安全性)lowmedhigh汽车数据的属性表汽车数据的Orange流程图项目二大数据分析算法任务五

关联规则

1.算法概述

2.Apriori算法

1.1相关概念

1.2算原理

1.3算法流程

3.Orange与Apriori算例

1.算法概述关联规则(AssociationRules)是反映一个事物与其他事物之间的相互依存性和关联性,是数据挖掘的一个重要技术,用于从大量数据中挖掘出有价值的数据项之间的相关关系。关联规则通过发现顾客放人其购物篮中的不同商品之间的联系,分析顾客的购买习惯。通过了解哪些商品频繁地被顾客同时购买,这种关联的发现可以帮助零售商制定营销策略。其他的应用还包括价目表设计、商品促销、商品的排放和基于购买模式的顾客划分。可从数据库中关联分析出形如“由于某些事件的发生而引起另外一些事件的发生”之类的规则。TransactionItems1{面包,牛奶}2{面包,尿布,啤酒,鸡蛋}3{牛奶,尿布,啤酒,可乐}4{面包,牛奶,尿布,啤酒}5{面包,牛奶,尿布,可乐}项目:英文表示为Item(I),是指某个单个的事务,如上表中的商品,面包、牛奶、啤酒等。事项:英文表示为Transaction(T),是指某一条记录,是所有项目的非空子集。如上表中每条记录都是一次交易事项。项集:英文表示为Itemset,是指某几个项目的集合,通常用{}进行标注,如{牛奶,尿布,啤酒}。关联规则:英文表示为Associationrule,通常表示为{X}->{Y},{X}叫前件,{Y}叫后件。2.Apriori算法2.1相关概念关联规则最常用的是Apriori算法,同时也是发现频繁项集的一种方法。所谓频繁项集是指由独立事件组成的项目交集频繁发生且达到预期值的集合,其严谨的表述方法还需要如下几个概念的引入:支持度:几个关联的项目组成的项集在总事项中出现的次数占总事项数量的比重。置信度:一个项集出现后,另一个项集出现的概率,或者说前件与后件的条件概率。提升度:项集X的出现对项集Y的出现概率提升的程度。频繁项集:支持度大于或等于某个阈值的项集就叫做频繁项集。例如阈值设为50%时,因为{牛奶,尿布}的支持度是60%,所以它是频繁项集。项集的超集:包含某个项集的元素且元素个数更多的项集。比如{牛奶,尿布}这个项集,它的超集可以是{牛奶,尿布,啤酒},也可以是{牛奶,尿布,啤酒,可乐}。项集的子集:与超集相反,子集是指包含某个项集的一部分,且元素个数更少的项集。比如{牛奶,尿布,啤酒,可乐}这个项集,它的子集可以是{牛奶,尿布,啤酒},也可以是{牛奶,尿布}或{牛奶}。2.Apriori算法2.2算法原理Apriori算法的核心思想:频繁项的非空子集肯定频繁。如果一个项不频繁,那么他的超项肯定不频繁。2.3算法流程输入:数据集合D,支持度阈值a。输出:最大的K频繁3.Orange与Apriori算例单号点餐1麻辣豆腐,木耳粉条,蒜苗肉丝2宫爆鸡丁,红烧肉3红烧鸡块,炒拉条4重庆辣子鸡,青椒火腿5土豆丝,卤肉,麻辣粉条6孜然土豆片,麻辣豆腐,青椒肉丝,鸡丁炒米饭7孜然土豆片,酸菜粉条8回锅肉炒饭,孜然肉炒饭9重庆辣子鸡,红烧肉,红烧排骨10麻辣豆腐,酸菜粉条,辣子肉片11青椒火腿,西红柿炒鸡蛋12青椒肉丝,回锅肉炒饭,酸菜卤肉┇┇┇┇709红烧肉,红烧鸡块在Orange中针对关联规则提供了两个算法。因为关联规则是一种无监督学习算法,所以Orange在诸多无监督学习模型后专门开列了关联规则算法模型供应用。示例数据集收列了某学校食堂各灶学生点餐外卖的数据,以一单为一个项集,共709条数据,陈列在Excel中的形式如下表所示:表

学校食堂点餐外卖数据需要说明的是,Orange在进行关联规则算法计算时,需要的是后缀名为.basket或.bsk文件格式,这两个文件其实都是文本文件。首先需要做的就是数据清理,将不是菜名的数据清除,同时要注意在各个菜名之间加入小写逗号(,)分隔,且每单的最后要保证是以回车符结束的。然后将所有项集复制,粘贴入一个文本文件,并且将文本文件改为英文名,同时将.txt后缀名改为.bsk。至此,所有的文件准备工作基本结束。打开Orange平台,先将文件载入。如下图:3.Orange与Apriori算例图

学生点餐数据的载入窗口图

学生点餐数据的工作流图3.Orange与Apriori算例图

支持度2.5%的频繁项图

支持度5%的频繁项项目二大数据分析算法任务六

逻辑回归

1.Logistic分布

1.1分布形态及相关概念

1.2应用场景及优劣

2.求模型参数

2.1极大似然估计

2.2梯度下降

3.极大似然估计求解

4.逻辑回归函数的正则化

5.Orange算例

1.

逻辑回归也称作logistic回归分析,是一种广义的线性回归分析模型,属于机器学习中的监督学习。其推导过程与计算方式类似于回归的过程,但实际上主要是用来解决二分类问题,当然也可以解决多分类问题。通过给定的n组数据(训练集)来训练模型,并在训练结束后对给定的一组或多组数据(测试集)进行分类。在理解逻辑回归算法过程中,需要引入相对大量的数学相关概念,如果全部展开讲解,将是一个漫长的探索之旅。为突出重点,本章仅着重介绍了Logistic分布及逻辑回归的求解模型,并在展开过程中,采取了边讲解边举例边深入边思考的方式,从体例上来讲,可能缺乏连续性,但对于初学者来讲,可能更易于理解和接受。下图是本节内容的知识点导图(如图8-1),方便读者在学习过程中梳理思路。图8-1本章内容的知识点导图1.Logistic分布1.1分布形态及相关概念Logistic分布是一种连续型的概率分布,其分布函数(或质量函数)和密度函数分别为:分布函数:密度函数:图8-2Logistic分布函数及密度函数图8-3二分类逻辑回归示意图设分界线方为:1.Logistic分布【思考二】我们使用对数几率的意义在哪?通过上述推导我们可以看到Logistic回归实际上是使用线性回归模型的预测值逼近分类任务真实标记的对数几率,其优点有:1.直接对分类的概率建模,无需实现假设数据分布,从而避免了假设分布不准确带来的问题;2.不仅可预测出类别,还能得到该预测的概率,这对一些利用概率辅助决策的任务很有用;3.对数几率函数是任意阶可导的凸函数,有许多数值优化算法都可以求出最优解。【思考一】如何找到分类概率P(Y=1)与输入变量x之间的函数关系,然后通过比较概率值来判定分类。考虑二分类问题,给定数据集:【延伸思考一】为什么要引入

函数?图8-4以自然对数为底数的指数函数示意图1.Logistic分布图8-5逻辑回归函数的三维展现【延伸思考二】决策分界线与各数据点之间的距离关系。1.Logistic分布【延伸思考三】特征向量的公式表达

图思1-1二特征变量的坐标表达图思1-2三特征变量的坐标表达字段名数据类型变量类型值门店CategoricalFeature4-4灶,4-5灶,5-6灶,5-7灶订单号NumericSkip

楼号CategoricalSkip士官,松鸣,柏盛,榆繁,槐香房号NumericSkip

下单时间DatetimeSkip

午餐/晚餐CategoricalFeature午餐,晚餐温差NumericFeature

均温NumericFeature

气象CategoricalFeature多云,小雪,晴,浮尘,阴,阵雪,雨夹雪价格NumericFeature

荤/素CategoricalTarget素,荤米/面CategoricalSkip米,面

1.Logistic分布【延伸思考三】特征向量的公式表达

图8-6两特征向量的逻辑回归性状指标1.Logistic分布【延伸思考三】特征向量的公式表达

图8-6三特征向量的逻辑回归性状指标1.Logistic分布

1.2应用场景及优劣优点:逻辑回归训练速度很快,可用于工业级别的数据,也可以在使用其他准确率更高的算法之前先用逻辑回归计算出baseline,查看下当前的数据在算法上的表现,以判断是否还要继续进行数据清洗和特征工程。可用于概率预测,也可用于分类;对于数据中小噪声的鲁棒性很好。缺点:对数据特征间的独立性要求较高;不适用于features和label为非线性关系的数据中;当特征空间很大、特征有缺失时,逻辑回归的性能不是很好。【知识点】什么是features和label。机器学习中有label和feature概念,一般来讲,label是分类,是你要预测的东西,而feature则是特征。如果你训练出feature和label的关系,之后你可以通过feature得出label。2.求解模型参数

定义:对于事件E和事件F,如果满足下面的公式,那么称它们是独立的。若两个事件E和F不独立,则称它们是相依的,或者相互不独立。进一步思考,观察另一幅维恩图。图中E和F没有相交,按照“同比例切割”的观点,E事件和F事件是“不独立”的。这个图告诉我们,两个不相交的事件,反而是“相互不独立”的。除了一种情况,事件E不可能出现。2.求解模型参数

引例1.从一副洗好的52张扑克牌里随机抽取一张牌,令E表示事件“抽取的牌为一张A”,令F表示事件“抽取的牌为一张黑桃”,那么E和F就是独立的。引例2.掷两枚均匀的骰子,令E1表示事件“骰子点数和为6”,令F表示事件“第一枚骰子点数为4”,那么2.求解模型参数

2.1极大似然估计首先引入经典的贝叶斯公式:【知识点引入】全概率公式【知识点引入】IID即独立同分布(IndependentandIdenticallyDistributed),极大似然估计原理:极大似然估计提供了一种给定观察数据来评估模型参数的方法,即“模型已定,参数未知”。通过若干次试验,观察其结果,利用试验结果得到某个参数值能够使样本出现的概率为最大,则称为极大似然估计。似然函数(likelihoodfunction):2.求解模型参数

最大似然估计(MaxmiumLikelihoodEstimation,MLE)求解:【知识点引入】数学符号arg含义:全称为argumentofthemaximum/minimum。【引例一】设样本服从正态分布,则似然函数为:2.求解模型参数

图8-7高斯分布极大似然估计对比图2.求解模型参数

【引例二】设样本服从均匀分布[a,b],则x的概率密度函数为:2.求解模型参数

【引例三】伯努利分布的极大似然函数公式推导。首先要说明的是,伯努利分布是一个离散型随机变量分布。如将随机变量X=1表示抛硬币正面朝上,设正面朝上的概率为P,那么随机变量X的概率密度函数(probabilitydensityfunction,PDF)是:这就是伯努利分布(Bernoullidistribution)概率密度函数的表达式了,需要说明的是,我们一般用大写字母P或F来表示概率质量函数,而用小写字母p或者f来表示概率密度函数。如逻辑分布(连续型随机变量分布):图8-8伯努利分布极大似然估计对比图2.求解模型参数2.2梯度下降一般来说,关于求解函数的最优解(极大值和极小值),在数学中我们一般会对函数求导,然后让导数等于0,获得方程,然后通过解方程直接得到结果。但是在机器学习中,我们的函数常常是多维高阶的,得到导数为0的方程后很难直接求解(有些时候甚至不能求解),逻辑回归的最大似然估计函数就属于无法求解的情况,所以就需要通过其他方法来获得函数的极值,而梯度下降就是其中一种。函数

,初始值

,步长值

迭代次数k=1k=2k=3k=4k=5k=6k=7k=8-6.4-5.12-4.096-3.2768-2.62144-2.09715-1.67772-1.3421840.9626.214416.777210.73746.87194.3982.81471.8014梯度降幅23.0414.74569.43726.03983.86552.47391.58331.0133迭代次数k=9k=10k=11k=12k=13k=14k=15k=16-1.07374-0.85899-0.68719-0.54976-0.4398-0.35184-0.28147-0.225181.15290.73790.47220.30220.19340.12380.07920.0507梯度降幅0.64850.4150.26570.170.10880.06960.04460.0285表8-1二次函数梯度下降表图8-9不同a值y的梯度降幅2.求解模型参数

图8-10梯度下降学习率示意图3.极大似然估计求解图8-11梯度下降的样式静态图3.极大似然估计求解【知识点引入】目标函数、损失函数、代价函数三种拟合示意图如下图8-12。4.逻辑回归函数的正则化本节内容是在通用知识的基础上专门针对逻辑回归所开展的正则项说明,对进一步加深正则项理解有极大的帮助。正则化是一个通用的算法和思想,所有会产生过拟合现象的算法都可以使用正则化来避免过拟合。逻辑回归函数也同样存在这个问题,下面简单介绍一下逻辑回归函数的正则化方法。正则化一般会采用L1范式或者L2范式,其形式分别为以下2种4.1L1正则化通常称之为LASSO回归,相当于为模型添加了这样一个先验知识:w服从零均值拉普拉斯分布。而拉普拉斯分布的表达式为:4.2L2正则化通常称之为Ridge回归,或岭回归,相当于为模型添加了这样一个先验知识:w服从零均值正态分布。正态分布的表达式为:5.

Orange算例该数据集来自UCI机器学习库,它与葡萄牙银行机构的直接营销活动(电话)有关。分类目标是预测客户是否将购买定期存款。数据下载网址:/ml/index.php。属于开源的机器学习数据库网站。为便于比较,Orange中将数据集(共41188条记录)拆分为两个子集,一个为训练集(39999条记录),一个为测试集(1189条记录),其在Orange中的流程图如图8-13:图8-13银行业务数据逻辑回归Orange算法流程图图8-14银行业务数据逻辑回归Orange算法评测指标三种算法的评估参数如下图8-14所示:项目二大数据分析算法任务七

人工神经网络

1.神经网络的正向及反向传播过程

1.1前向传播

1.2反向传播

2.人工神经网络的模拟计算

3.激活函数

4.神经网络的应用

4.1分类

4.2回归

人工神经网络(artificialneuralnetwork,ANN),简称神经网络(neuralnetwork,NN),是一种模仿生物神经网络的结构和功能的数学模型或计算模型。神经网络由大量的人工神经元联结进行计算。大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自适应系统。现代神经网络是一种非线性统计性数据建模工具,常用来对输入和输出间复杂的关系进行建模,或用来探索数据的模式。神经网络是一种运算模型,由大量的节点(或称“神经元”)和之间相互的联接构成。每个节点代表一种特定的输出函数,称为激励函数、激活函数(activationfunction)。每两个节点间的联接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。1.神经网络的正向及反向传播过程以一个实例逐渐展开人工神经网络的计算过程,下图(如图9-1)是一个简单的神经网络拓扑图,第一层是输入层,包含两个神经元i1和i2,截距项为b1;第二层为隐含层,包含两个神经元h1和h2,截距项为b2;第三层为输出层,包含两个输出项o1和o2,每条线上的数字表示神经元之间传递的权重值,记为w1;激活函数默认Sigmoid函数。图9-1一个简单的人工神经网络示意图1.神经网络的正向及反向传播过程1.1前向传播(1)输入层→隐含层隐含层的计算过程如图(图9-2)所示(以h1为例):(2)隐含层→输出层输出层的计算过程如图(图9-3)所示(以o1为例):1.神经网络的正向及反向传播过程1.2反向传播(1)计算总误差(Squareerror):(2)隐含层→输出层的权值更新以权重参数w5为例,如果我们想知道w5对整体误差产生了多少影响,可以用整体误差对w5求偏导。图9-6人工神经网络的回归分析需要说明的是:第一,此例是只有一个隐含层的神经网络,并且各层的神经元数量都为2,在实际应用中,特征层的提取有时是相当复杂的,比如对图像的识别,对音频或视频的识别等,需要不只一个隐含层才有可能获得满意的模型,其正向传播或反向传播的计算量相当大,对计算机的算力要求也是相当高,采用的激活函数及目标函数也不尽相同,但基本模式及核心原理是一致的。第二,此例所呈现的输入层神经元i1和i2,映射到大数据集,即表示训练数据的特征变量,样本数据有几个特征变量,就有几个输入层的神经元。第三,在正向传播计算中,对于多个样本值,不用每输入一个样本就去变换参数,而是输入一批样本(叫做一个Batch或Mini-Batch),需要求得这些样本的梯度平均值后,根据这个平均值改变参数,也就是说,每个样本只进行前向传播和反向传播一次,然后计算梯度平均值,再进行下一轮计算。第四,神经网络既可以用于回归分析,也可以作为分类工具加以使用。一般来讲,如果做回归分析,其输出层以一个神经元为主,即只需要输出我们所关心的相关值即可。如果做分类分析(是人工神经网络的骨干应用层面),以二分类为例,分类如下图2.人工神经网络的模拟计算为便于理解人工神经网络的训练过程,作者使用VBA编程在Excel中进行了人工神经网络的模拟计算。目前该程序仅包含一个隐藏层,但各层的神经元个数及训练样本数量可以按实际场景无限制设定,各层参数及迭代数量亦可自行设定。计算过程中,不仅可以实时显现迭代的中间数据,也可借助Excel的强大制图功能动态展示数据的迭代趋势,适合入门级学生的学习。下载该程序可扫描右边二维码。用该程序模拟训练数据过程如下:x1x2x1x2x1x2x1x20.5143950.7490220.2500190.8483620.7759230.7744680.534230.5398730.6779740.0794360.6647780.2030070.1177920.8159920.8335170.0161460.4525470.1441180.5326570.471841

表9-1随机10组数据表2.人工神经网络的模拟计算图9-10单纯两类分类图示3.激活函数激活函数的存在与人工神经网络的模拟态是相关的。在人工神经网络中,一个神经元的运算过程我们称之为感知器。感知器是模仿生物神经元而设计的一种简单数学模型,它主要有两部分组成,前半部分是一个线性模型,而后半部分是一个激活函数。在感知器中,设计激活函数的初衷应该是为了模仿生物神经元(生物神经元存在激活和非激活这两种状态,当神经元处于激活状态时会发出电脉冲)。从数学角度去考虑的话,在感知器的后半部分加上一个激活函数,可以增加感知器模型的“拟合能力”,使得模型有更强的表达作用。在基本的感知器模型中,激活函数是一个阶跃函数,这个函数的特性是,在输入为零的时候会发生跳转,形状像一个台阶。在下图的感知器模型中,当阶跃函数的输入小于等于零时候,输出为零,而在其它情况输出为1。其数学模型如下图9-11。3.1Sigmoid函数

虽然在基的感知器模型中选择阶跃函数作为激活函数,但是在实际中却很少采用阶跃函数,这是因为阶跃函数有点太极端了,要么输出为0要么输出为1。人们最初的考虑是能不能让激活函数的输出别这么极端,让它平滑一些,因此有了Sigmoid函数。3.激活函数3.2.ReLU函数ReLU是目前最常用的激活函数。3.激活函数3.激活函数3.3Tanh函数Tanh为双切正切曲线,相比Sigmoid函数,实际应用中一般更倾向于用Tanh函数。其优点为函数的输出以(0,0)为中点,双边对称。同时,收敛速度相对于Sigmoid更快。其函数形式为:4.神经网络的应用4.1分类神经网络最重要的用途是分类,比如如下的应用场景:垃圾邮件识别:有一封电子邮件,把出现在里面的所有词汇提取出来,通过神经网络识别是否是垃圾邮件。疾病判断:病人首先进行多种医学检测,并将检测结果送入神经网络,从输入结果来判断病人是否得病,得的什么病。图像分类:比如有一批街景的图片,通过神经网络模型,计算机可以分辨出哪些是树,哪些是人,哪些是交通灯。这种能将事物的特征向量作为输入端,并自动判别事物类别的机器,我们称之为分类器。神经网络对事物的分类,主要是通过神经元和多层神经网络来完成的。单个神经元我们也称之为感知器,即通过接收信息(输入数据)→处理信息(激活函数)→发出信息(输出数据)进行信息转换。对简单数据集的分类,比如在上节提到的平面上下(或左右)两类数据,用一条直线就可以进行分类,用二个神经元和一层神经网络就可以进行轻松解决问题。但在现实场景中,要解决的问题远比平面两类数据复杂地多,比如下面三图(图9-15)所表示的A、B两类,就无法用一根直线将两个类别区分开来。3.激活函数通过扫描右图二维码可以查看螺旋线的空间变形,亦可从下图红蓝两线在不同空间的分割对比体会神经元的作用。左图红蓝两条线在二维空间无法找到一个超平面去分割,经过放大、平移、旋转、扭曲原二维空间后,在三维空间下就可以成功找到一个超平面分割红蓝两线(右图)。3.激活函数(1)ConvnetJsdemo:二分类神经网络训练模型,可以增删隐藏层及神经元个数,对各神经元的空间扭曲及变形状态呈现地非常细致(如图9-16)。可通过扫描下方二维码进行手机端操作。图9-16ConvnetJsdemo3.激活函数(2)GoogleTensorflow–Playground:二分类神经网络训练模型,可以简单并直观地增删隐藏层及神经元个数,并且可选择激活函数及正则化类型(如图9-17)。可通过扫描下方二维码进行手机端操作。图9-17GoogleTensorflow-Playgroud3.激活函数4.2回归我们知道,回归分析是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。人工神经网络模型算法也可以进行回归分析,其分析原理及计算过程与分类分析大体相同,区别是需要对损失函数和神经网络最后一层输出激活函数修改,主要注意以下两点:损失函数最常用均方误差:最后一层往往不采用激活函数,直接用得到最后结果,因为激活函数会将线性加权的结果映射到固定range。项目二大数据分析算法任务八

支持向量机

1.硬间隔支持向量机

2.非线性支持向量机

3.SVM中的核函数

4.Orange中的SVM应用

支持向量机(SupportVectorMachine,简称SVM)是一种用来解决二分类问题的机器学习算法,它通过在样本空间中找到一个划分超平面,将不同类别的样本分开,同时使得两个点集到此平面的最小距离最大,两个点集中的边缘点到此平面的距离最大。如下图10-1所示,图中有方形和圆形两类样本,支持向量机的目标就是找到一条直线,将圆形和方形分开,同时所有圆形和方形到这条直线的距离加起来的值最大。支持向量机支持向量机上面讨论的情况是一种理想中的状况,两个类别的样本之间存在着清晰的划分超平面,但我们在实际工作中处理的任务上并不一定都是这种清晰线性可分的,对于这种清晰线性可分的任务,我们构造一个线性分类器,也称为硬间隔支持向量机(如图10-2-1);当训练数据近似线性可分时,也可以构造一个线性的分类器,即软间隔支持向量机(如图10-2-2);当训练数据线性不可分时,我们可以通过使用核函数及软间隔最大化构造分类器,称为非线性支持向量机(如图10-2-3)。图10-2-1硬间隔SVM图10-2-2软间隔SVM图10-2-3非线性SVM1.硬间隔支持向量机数学表达:目标函数:

2.非线性支持向量机在以上二维点的实例讲解中,我们假设训练样本是线性可分的,即存在一个划分超平面能将训练样本正确分类。然而在现实任务中,原始样本空间内,也许并不存在一个能正确划分两类样本的超平面。如下图所示,椭圆内的点代表“+”数据,椭圆外的点代表“-”数据,而这两类数据都无法用一条直线进行分割,如图10-5所示的两条直线都是失败的划分。对于原空间中的非线性可分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论