2023年7月21日发(作者:)
读书笔记之⼤数据计算模式1、⼤数据计算模式:根据⼤数据的不同特征和计算特征,从多样性的⼤数据计算问题和需求中提炼并建⽴的各种⾼层抽象或模型,传统的并⾏计算⽅法主要从体系结构和编程语⾔层⾯定义了⼀些较为底层的并⾏计算抽象和模型,但由于⼤数据处理问题具有很多⾼层的数据特征和计算特征,⼤数据处理需要更多地结合这些⾼层特征考虑更⾼层次的计算模式。2、数据计算的分类:①离线批处理:Hadoop平台主要是⾯向离线批处理应⽤的,是⼀个能够对⼤量数据进⾏分布式处理的软件框架,⽽且是⼀种可靠的、⾼效的、可伸缩的⽅式进⾏处理,通过数据分块及⾃恢复机制能⽀持PB级的分布式数据存储。MapReduce编程模型是Hadoop的⼼脏,⽤于⼤规模数据集的并⾏运算,这种编程模式实现了跨越⼀个Hadoop集群中数千台服务器的⼤规模扩展性;分布式⽂件系统HDFS提供基于Hadoop处理平台的海量数据存储,其中NameNode提供元数据服务,DataNode⽤于存储⽂件系统的⽂件块;HBase建⽴在HDFS上,⽤于提供⾼可靠性、⾼性能、列存储、可伸缩、实时读写的数据库系统,可以存储⾮结构化和半结构化的松散数据;Hive是基于Hadoop的⼤型数据仓库,可以⽤来进⾏数据的提取、转化和加载(ETL),存储、查询和分析存储在Hadoop中的⼤规模数据;Pig是基于Hadoop的⼤规模数据分析平台,可以把类SQL的数据分析请求转换为⼀系列经过优化处理的MapReduce运算,为复杂的海量数据并⾏计算提供了⼀个简单的操作和编程接⼝;Zookeeper是⾼效、可靠的协同⼯作系统,⽤于协调分布式应⽤上的各种服务,可以构建⼀个有效防⽌单点失效及处理负载均衡的协调服务;Avro作为⼆进制的⾼性能通信中间件,提供了Hadoop平台间的数据序列化功能和RPC服务。②实时交互计算:⼀般有两类应⽤场景:数据量巨⼤且不能提前计算出结果的,但要求对⽤户的响应时间是实时的;数据源是实时的和不间断的(流式数据),要求对⽤户的响应时间也是实时的。③海量数据实时计算:计算过程分为三个阶段,数据的产⽣与收集阶段(实时采集)——>传输与分析处理阶段(实时计算)——>存储和对外提供服务阶段(实时查询)。数据实时采集——在功能上需要保证可以完整地收集到所有数据,为实时应⽤提供实时数据;响应时间上要保证实时性、低延迟、配置简单、部署容易、系统稳定可靠等;数据实时计算——新型的实时计算架构⼀般都是采⽤海量并⾏处理MPP的分布式架构,数据的存储及处理会分配到⼤规模的结点上进⾏以满⾜实时性要求,在数据存储上则采⽤⼤规模分布式⽂件系统;实时查询服务——分为全内存(直接提供数据读取服务,定期dump到磁盘或者数据库进⾏持久化)、半内存(使⽤Redis、MongoDB等数据库提供数据实时查询服务,由系统进⾏持久化操作)、全磁盘(使⽤HBase等以分布式⽂件系统为基础的NoSQL数据库)三种⽅式。④流计算:主要为针对实时连续的数据类型准备的,在流数据不断变化的运动过程中实时地进⾏分析,捕捉可能对⽤户有⽤的信息,并把结果发送出去,整个过程中数据的分析处理系统是主动的,⽤户处于被动接收的状态。3、聚类:按照特定标准把⼀个数据集分割成不同的类或簇,使得同⼀个簇内的数据对象的相似性尽可能⼤,同时不在同⼀个簇中的数据对象的差异性也尽可能⼤,即同类数据尽量聚集,不同数据尽量分离。对于具体应⽤,聚类算法的选择取决于数据的类型、聚类的⽬的,聚类问题的研究不仅局限于硬聚类(⼀个数据只能被归为⼀种类别),模糊聚类也是研究较为⼴泛的⼀个分⽀。4、聚类算法的类型:①划分聚类:对于给定的数据集,划分聚类需要知道划分簇的数⽬k(k≤n,n是数据集中项的数⽬),⼤部分划分聚类都是基于距离的。⼀般情况下会给出聚类数⽬k,⾸先会产⽣⼀个初始的划分,然后⽤迭代的⽅法通过更改数据项所属的簇来提⾼划分的质量。⼀个好的划分标准是同⼀个簇内的数据项彼此相似。实现全局最优划分往往很难在复杂度能忍受的范围内做到,⼤多数应⽤都选取⼀些启发式⽅法,⽐如像选取贪⼼策略的k-means和k-medoids算法,都极⼤地提⾼了划分质量,并达到了⼀个局部最优解,这些算法在中⼩型数据集中挖掘类似球星簇表现⾮常好。②层次聚类:通过对数据集按照某种⽅法进⾏层次分解,直到满⾜某种条件为⽌,可以是基于距离、密度、连接的,计算复杂度相对较低,根据划分的⽅法分为凝聚(⾃底向上)和分割(⾃顶向下)两种。凝聚——每次迭代都将最相近的两个项/组合并成⼀个新组,直⾄最终形成⼀个组或者达到其他停⽌的条件;分割——与凝聚的⽅法相反,开始的时候将所有数据看成⼀个组,每⼀次迭代⼀个簇就被划分成两个稍微⼩⼀点的簇,直⾄最终每个项都是⼀个簇或者达到某个停⽌条件。③基于密度的聚类:在整个样本的空间点中,各⽬标类簇是有⼀群稠密样本点组成的,这些样本点被低密度区域(噪声)分割,算法的⽬的是要过滤低密度区域从⽽发现稠密样本点。这类算法往往重视数据项的密集程度,因此往往是基于连接的,同时也强调连接过程中数据项周围的密度。④基于⽹格的聚类:将数据项的空间分成有限数⽬的⽹格,所有聚类操作都是在⽹格上进⾏,好处是计算速度相当快,因为计算过程跟数据项数⽬⽆关,只与每⼀维⽹格的数⽬和维数有关。这种⽹格的思想只有与其他算法相结合才能解决好实际问题。5、数据集成:把不同来源、格式、特点、性质的数据在逻辑上或物理上有机的集中,从⽽为企业提供全⾯的数据共享。⽬前通常采⽤联邦式、基于中间件模型和数据仓库等⽅法来构造集成的系统,这些技术在不同的着重点和应⽤上解决数据共享和为企业提供决策⽀持。①联邦数据库系统FDBS:由半⾃治数据库系统构成,相互之间分享数据,联盟各数据源之间相互提供访问接⼝,同时联盟数据库系统可以是集中数据库系统或分布式数据库系统及其他类型数据库,松耦合⽽不提供统⼀的接⼝,但可以通过统⼀的语⾔访问数据源,核⼼是必须解决所有数据源语义上的问题;②中间件模式:⽬前⽐较流⾏的数据集成⽅法,通过在中间层提供⼀个统⼀的数据逻辑视图来隐藏底层的数据细节,使得⽤户可以把集成数据源看为⼀个统⼀的整体,中间件系统主要集中为异构数据源提供⼀个⾼层次的检索服务,关键问题是如何构造这个逻辑视图并使得不同数据源之间能映射到中间层;③数据仓库:在企业管理和决策中⾯向主题的、集成的、与时间相关的和不可修改的数据集合,其中数据被归类为⼴义的、功能上独⽴的、没有重叠的主题。6、企业数据集成应⽤形式:①数据仓库应⽤——主要围绕ETL的功能实现,⼀般来说主要功能是将多个业务系统不同数据类型抽取到数据仓库的ODS(OperationalData Store)层,经过转换,加载存储到星型结构的DW(Data Warehouse)层,为满⾜不同主题的展现应⽤,再向关系型数据库或多维数据库进⼀步汇总加载,其ETL功能可由⼿⼯编程或专业⼯具软件两种类型实现。②数据迁移应⽤——对于新旧系统升级、数据⼤集中时的数据作迁移,使数据能够顺应新系统的结构变化从⽽平稳迁移。③数据合并应⽤——在企业并购中很容易产⽣数据合并的应⽤,如两个企业的HR系统的合并、财务系统的合并、其他业务系统的合并,当系统需要合并必然产⽣数据的合并,因此对企业数据进⾏统⼀标准化、规范化、数据的补缺、数据的⼀致性都将导致数据合并。④数据同步应⽤——当企业⼀个系统的业务活动会影响到其他多个系统进程时,对数据的实时性、准确性要求就显得尤为重要。⑤数据交换应⽤(主数据管理应⽤)——要从企业多个系统中快速、可靠地建⽴唯⼀、完整的企业主数据视图,要求具备良好的数据连通性、良好的数据质量探查和分析、良好的数据转换能⼒等特点。7、机器学习(ML,Machine Learning):从⼴义来说,机器学习是⼀种能够赋予机器 学习的能⼒,以便让他完成直接编程⽆法完成的功能的⽅法;从实践意义来说,机器学习是⼀种通过利⽤数据,训练出模型,然后使⽤模型进⾏预测的⽅法。机器学习的过程是⾸先需要在计算机中存储历史数据;接着将这些数据通过机器学习算法进⾏处理(“训练”),处理的结果可以⽤来对新数据进⾏“预测”,所得到的结果称为“模型”。“训练”和“预测”是机器学习的两个过程,“模型”是整个过程的中间输出结果,“训练”产⽣“模型”,“模型”指导“预测”。8、机器学习的范围:模式识别:=机器学习,主要区别是模式识别是从⼯业界发展起来的概念,机器学习主要源于计算机学科。数据挖掘:=机器学习+数据库,⼤部分数据挖掘中的算法是机器学习算法在数据库中的优化。统计学习:≈机器学习,与机器学习⾼度重叠,机器学习中的⼤多数⽅法来⾃统计学,但是统计学习者重点关注的是统计模型的发展与优化,偏数学;⽽机器学习者更关注的是能够解决问题,偏实践。计算机视觉cv:=机器学习+图像处理,图像处理技术⽤于将图像处理为适合进⼊机器学习模型的输⼊,机器学习负责从图像中识别出相关的模式。语⾳识别:=机器学习+语⾳处理,语⾳识别就是⾳频处理技术与机器学习的结合,⼀般会与⾃然语⾔处理技术相结合。⾃然语⾔处理nlp:=机器学习+⽂本处理,主要是让机器理解⼈类语⾔的⼀类领域。在nlp中⼤量使⽤了编译原理相关技术,例如词法分析、语法分析等,在理解层⾯使⽤了语义理解、机器学习等技术。9、机器学习算法的基本思想(其中①②③为有监督算法,④⑤为⽆监督算法,⑥为特殊算法)①回归算法:分为线性回归和逻辑回归,线性回归处理的是数值问题,最后预测出的结果是数字,⽽逻辑回归属于分类算法,预测的结果是离散的分类。线性回归⼀般⽤“最⼩⼆乘法”(假设拟合出的直线代表数据的真实值,观测到的数据代表拥有误差的值,为了尽可能减⼩误差的影响,需要求解⼀条直线使得所有误差的平⽅和最⼩)拟合⼀条直线以最佳匹配所有的数据,梯度下降法是解决回归模型中最简单且最有效的⽅法之⼀。逻辑回归在实现⽅⾯只是对线性回归的计算结果加上了⼀个Sigmoid函数,将数值结果转化为0到1之间的概率(数值越⼤函数越逼近1,数值越⼩函数越逼近0),接着可以根据这个概率进⾏预测,直观上来说逻辑回归画出了⼀条分类线。②神经⽹络(也称为⼈⼯神经⽹络ANN):诞⽣起源于对⼤脑⼯作机理的研究,使⽤神经⽹络来模拟⼤脑,进⾏机器学习实验时,在视觉和语⾳的识别上效果都相当好,在BP算法(加速神经⽹络训练过程的数值算法)诞⽣以后,神经⽹络的发展形成了⼀股热潮。神经⽹络的学习机理是分解与整合,使得复杂的图像变成了⼤量的细节进⼊神经元,神经元处理后再进⾏整合识别。简单的神经⽹络逻辑架构——分为输⼊层、隐藏层和输出层,输⼊层负责接收信号,隐藏层负责对数据的分解与处理,最后的结果被整合到输出层,每层中的⼀个圆代表⼀个处理单元(被视作模拟了⼀个神经元,即⼀个逻辑回归模型,接收上层的输⼊,把模型的预测结果作为输出传输到下⼀个层次),若⼲个处理单元组成⼀个层,若⼲层组成⼀个神经⽹络。③⽀持向量机SVM:从某种意义来说是逻辑回归的强化,通过给予逻辑回归算法更严格的优化条件,⽀持向量机可以获得⽐逻辑回归更好的分类界线。通过与⾼斯“核”(⼀种特殊的函数,典型特征是可以将低维空间映射到⾼维空间)的结合,SVM可以表达出⾮常复杂的分类界线,从⽽取得很好的分类效果。④聚类算法:计算种群中的距离,根据距离的远近将数据划分为多个族群,典型代表是k-means算法。⑤降维算法:主要特征是将数据从⾼维降低到低维层次,最⼤程度地保留数据信息,维度表⽰数据的特征量⼤⼩,通过降维算法可以去除冗余信息,将特征信息减少,不仅利于表⽰,在计算上也能带来加速。降维算法的主要作⽤是压缩数据、数据可视化、提升机器学习其他算法的效率,通过降维算法可以将具有⼏千个特征的数据压缩⾄若⼲个特征,主要代表是PCA主成分分析算法。⑥推荐算法:主要特征是可以⾃动向⽤户推荐所感兴趣的东西,从⽽增加购买率,提升效益,最有名的算法是协同过滤算法。⼀类是基于物品内容的推荐,将与⽤户购买的内容近似的物品推荐给⽤户,前提是每个物品都有若⼲个标签,这样推荐的好处是关联程度较⼤;另⼀类是基于⽤户的相似度进⾏推荐,将与⽬标⽤户兴趣相似的其他⽤户所购买的物品推荐给⽬标⽤户。10、机器学习的应⽤——⼤数据:⼤数据的核⼼是利⽤数据的价值,机器学习正是利⽤数据价值的关键技术,两者互相促进、相依相存。对于⼤数据⽽⾔机器学习不可或缺,对于机器学习⽽⾔,越多的数据越可能提升模型的精确性,同时,复杂的机器学习算法的计算时间也迫切需要分布式计算与内存计算这样的关键技术。从分析⽅法看,⼤数据包含四种分析⽅法:⼤数据,⼩分析——即数据仓库领域的OLAP分析思路,也即多维分析思想;⼤数据,⼤分析——代表是数据挖掘与机器学习分析法;流式分析——主要指事件驱动架构;查询分析——经典代表是NoSQL数据库。11、机器学习的⼦类——深度学习:传统的神经⽹络发展到多隐藏层的情况,具有多个隐藏层的神经⽹络被称为深度神经⽹络,基于深度神经⽹络的学习研究称为深度学习。深度学习属于机器学的⼦类,基于深度学习的发展极⼤地促进了机器学习地位的提⾼,进⼀步推动了业界对机器学习⽗类⼈⼯智能的重视。12、机器学习的⽗类——⼈⼯智能:AI的发展不仅取决于机器学习,更取决于深度学习,深度学习技术由于深度模拟了⼈类⼤脑的构成,在视觉识别与语⾳识别上显著性突破了原有机器学习技术的局限,因此有可能是真正实现AI梦想的关键技术。对于⽬前的⼈⼯智能来说,计算能⼒有分布式计算,反应能⼒有事件驱动框架,检索能⼒有搜索引擎,知识存储能⼒有数据仓库,逻辑推理能⼒有专家系统,机器学习对应智慧中的最显著特征即归纳和感悟能⼒。13、数据分析语⾔R:基于S语⾔的⼀个数据分析和图形显⽰的程序设计环境,R是S的⼀种开源实现,是⼀种⽤于数据分析和图形的编程环境。主要优势是有⼀个庞⼤社区,通过邮件列表、⽤户贡献的⽂档和⼀个⾮常活跃的堆栈溢出组提供⽀持,还有CRAN镜像,使得⽤户可以简单地创建⼀个包含R包的知识库,这些包有R中的数据和函数,各地的镜像都是R⽹站的备份⽂件,完全⼀样。功能包括:数据存储和处理系统、数组运算⼯具(向量、矩阵运算⽅⾯功能尤为强⼤)、完整连贯的统计分析⼯具、优秀的统计制图功能、简便强⼤的编程语⾔、可操纵数据的输⼊和输出。⽤户⾃定义等14、⼤数据开发语⾔Python:是⼀种⾯向对象、直译式的计算机程序语⾔,包含了⼀组功能完备的标准库,能够轻松完成很多常见任务,语法⽐较简单,使⽤缩进来定义语句块。Python具备垃圾回收功能,能够⾃动管理内存使⽤,经常被当做脚本语⾔⽤于处理系统管理任务和⽹络程序编写,⽀持命令式程序设计、⾯向对象程序设计、函数式编程、⾯向侧⾯的程序设计、泛型编程等多种编程范式。Python的数据处理相关类库⾮常多,⾼性能的科学计算类库NumPy和SCIPy给其他⾼级算法奠定了⾮常好的基础,matploglib让Python画图变得像MATLAB⼀样简单,Scikit-learn和Milk实现了很多机器学习算法,基于这两个库实现的Pylearn2,是深度学习领域的重要成员,Theano利⽤GPU加速实现了⾼性能数学符号计算和多维矩阵计算,Pandas是在⼯程领域已经⼴泛使⽤的⼤数据处理类库。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1689896481a293124.html
评论列表(0条)