兰州大学信息科学与工程学院全日制专业学位研究生工程实践报告学号:220150926271学生姓名:韩冰年级专业:2015级软件工程专业方向学习起止时间2015.9.1—2016.7.1地点兰州大学项目情况介绍(来源、背景、相关技术、项目内容、相关文献)1、人工神经网络项目名称:基本知识体系的学习及相关算法的实现项目来源:软件公司委托1.1项目背景:人工神经网络,是20世纪80年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。之所以对人脑神经元网络进行抽象,主要是因为以下几点:(1)能实现无监督的学习:有关我们的大脑的难以置信的事实之一,就是它们能够自己进行学习,而不需要导师的监督教导;(2)对损伤有冗余性(tolerance):大脑即使有很大一部分受到了损伤,它仍然能够执行复杂的工作;(3)处理信息的效率极高:神经细胞之间电-化学信号的传递,与一台数字计算机中CPU的数据传输相比,速度是非常慢的,但因神经细胞采用了并行的工作方式,使得大脑能够同时处理大量的数据;(4)善于归纳推广:大脑和数字计算机不同,它极擅长的事情之一就是模式识别,并能根据已熟悉信息进行归纳推广(generlize);(5)它是有意识的:意识(consciousness)是神经学家和人工智能的研究者广泛而又热烈地在辩论的一个话题;因此,一个人工神经网络(Artificialneuralnetwork,简称ANN)就是要在当代数字计算机现有规模的约束下,来模拟这种大量的并行性,并在实现这一工作时,使它能显示许多和人或动物大脑相类似的特性。1.2相关技术:(1)感知器模型;(2)BP算法;1.3项目内容:针对现在的海量大数据的时代背景,我们需要对海量数据进行分析和整理,而人工神经网络给出的特性在这一方面有很大的重叠性,所以可以考虑利用人工神经网络对数据进行处理。下面对相关技术的应用进行介绍。1.3.1感知器感知器是神经网络中的一个概念,在1950年代由FrankRosenblatt第一次引入。感知器又分为单层感知器和多层感知器。单层感知器由输入层和输出层直接相连组成,如图1。单层感知器因其简单的特性,可以提供快速的计算,它能够实现逻辑计算中的NOT、OR、AND等简单计算。图1单层感知器多层感知器包含多层计算。相对于单层感知器,输出端从一个变到了多个;输入端和输出端之间也不只是有一层,而是有隐藏层,如图2。图2多层感知器感知器的学习规则是用来计算新的权值矩阵W和新的偏差B的算法。感知器利用其学习规则来调整网络的权值,以便使该网络对输入矢量的响应达到数值为0或1的目标输出。对于输入矢量P,输出矢量A,目标矢量为T的感知器网络,感知器的学习规则是根据以下输出矢量可能出现的几种情况来进行参数调整的。(1)如果第i个神经元的输出是正确的,即有:ai=ti,那么与第i个神经元联接的权值wij和偏差值bi保持不变;(2)如果第i个神经元的输出是0,但期望输出为1,即有ai=0,而ti=1,此时权值修正算法为:新的权值wij为旧的权值wij加上输人矢量pj;类似的,新的偏差bi为旧偏差bi加上它的输入1;(3)如果第i个神经元的输出为1,但期望输出为0,即有ai=1,而ti=0,此时权值修正算法为:新的权值wij等于旧的权值wij减去输入矢量pj;类似的,新的偏差bi为旧偏差bi减去1。由上面分析可以看出感知器学习规则的实质为:权值的变化量等于正负输入矢量。具体算法总结如下。对于所有的i和j,i=l,2,…,s;j=1,2,…,r,感知器修正权值公式为:△wij=(ti-yi)×pj△bi=(ti-yi)×1用矢量矩阵来表示为:W=W+EPTB=B+E此处,E为误差矢量,有E=T-A。1.3.2BP算法BP算法,也就是我们所说的误差反向传播算法,它的基本思想如下:学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出(教师信号)不符,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程,是周而复始地进行的。权值不断调整的过程,也就是网络的学习训练过程。此过程一直进行到网络输出的误差减少到可接受的程度,或进行到预先设定的学习次数为止。1.3.3技术特点(1)通过感知器的实现和训练,我们可以处理n维实例空间中的数据点;(2)通过梯度下降算法,可以有效的得到我们期待的结果;(3)BP算法可以解决含多层结构的隐藏层的权值更新学习问题。1.4参考文献:[1]FahlmanSE.Faster-learningvariationsonback-propagation:Anempiricalstudy[J].1988.[2]ChauvinY,RumelhartDE.Backpropagation:theory,architectures,andapplications[M].PsychologyPress,1995.[3]GohATC.Back-propagationneuralnetworksformodelingcomplexsystems[J].ArtificialIntelligenceinEngineering,1995,9(3):143-151.[4]MitchellTM.机器学习[M].机械工业出版社,2003.2、核方法方向课程的学习研究2.1理论背景:机器学习是从大量、复杂的数据中迅速获取新颖、有效的知识的过程。基于核函数的机器学习方法是从统计学习理论中发展出来的较新的研究方法,它有效解决了传统机器学习方法的局部极小化和不完全统计分析的缺点。核函数方法与传统的算法区别在于,它利用核函数来完成样本的从低维样本空间到高维特征空间的映射,将低维空间中的非线性问题转化为高维空间中的线性问题,用高维空间中的线性算法加以解决,而核函数的使用有很好的避免的维数灾,从而有效的降低了机器学习问题的求解复杂度。2.2学习和研究过程:2.2.1对偶表示许多回归的线性模型和分类的线性模型的公式都可以使用对偶表示重写。使用对偶表⽰形式,核函数可以⾃然地产⽣。这里,我们考虑⼀个线性模型,它的参数通过最⼩化正则化的平⽅和误差函数来确定。正则化的平⽅和误差函数为其中λ≥0。如果我们令J(w)关于w的梯度等于零,那么我们看到w的解是向量ϕ(xn)的线性组合的形式,系数是w的函数,形式为我们现在不直接对参数向量w进⾏操作,⽽是使⽤参数向量a重新整理最⼩平⽅算法,得到⼀个对偶表示。如果我们将w=ΦTa代⼊J(w),那么可以得到在其中,我们定义核函数,我们可以发现,对偶公式使得最小平方问题的解完全可以通过核函数来表示,这被称为对偶公式,因为a的解可以被表示为ϕ(x)的线性组合,从而我们可以使用参数向量w来恢复出原始的公式。2.2.2径向基函数网络一种广泛使用的基函数是径向基函数。径向基函数中,每一个基函数只依赖于样本和中心之间的径向距离(通常是欧几里得距离)。径向基函数通常被用来进行精确的函数内插,给定一组输入向量以及对应的目标值,目标是找到一个光滑的函数,它能够精确的拟合没割目标值,即可以将函数表示为径向基函数的线性组合,每个径向基函数都以数据点为中心。径向基函数的另一个研究动力来源于输入变量具有噪声时的内插问题。如果输入变量x上的噪声是由一个服从分布的变量描述,那么平方和误差函数就会发生变化。另外,选择基函数中心的一种最简单的方法就是使用数据点的一个随机选择的子集。一个更加系统化的方法被称为正交最小平方。这是一个顺序选择的过程,在每一步中,被选择作为基函数的下一个数据点对应于最大程度减小平方和误差的数据点。2.3参考文献:[1]杜树新,吴铁军.模式识别中的支持向量机方法[J].浙江大学学报:工学版,2003,37(5):521-527.[2]王炜,吴耿锋,张博锋,等.径向基函数(RBF)神经网络及其应用[J].地震,2005,25(2):19-25.[3]周彤梅,杨继辉.解决城市道路交通拥堵问题的方法研究[J].中国人民公安大学学报:自然科学版,2005,11(1):98-100.3、大数据分析平台的学习和实践项目来源:浪新成都科技有限公司为了更好的提升自己的实例以及在未来一年中能够很好的完成项目工作,我对大数据分析平台进行了一系列的了解和学习实践,现将已学知识总结如下。3.1Hadoop平台的概要介绍Hadoop,是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。简单说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。该平台使用的是面向对象编程语言Java实现的,具有良好的可移植性。3.2Hadoop平台的关键技术Hadoop发展到今天的地步,在很大程度上得益于Google的分布式集群的启发。Google的数据中心使用了LinuxPC机组成集群,核心组件有三个:(1)GFS(GoogleFileSystem)。一个分布式文件系统,隐藏下层负载均衡,冗余复制等细节,对上层程序提供一个统一的文件系统API接口。(2)MapReduce。Google发现大多数分布式运算可以抽象为MapReduce操作。Map是把输入Input分解成中间的Key/Value对,Reduce把Key/Value合成最终输出Output。这两个函数由程序员提供给系统,下层设施把Map和Reduce操作分布在集群上运行,并把结果存储在GFS上。(3)BigTable。一个大型的分布式数据库,这个数据库不是关系式的数据库。像它的名字一样,就是一个巨大的表格,用来存储结构化的数据。而Hadoop架构的核心技术主要由HDFS、MapReduce和Hbase组成。HDFS是GoogleFileSystem(GFS)的开源实现。MapReduce是GoogleMapReduce的开源实现。HBase是GoogleBigTable的开源实现。3.3Hadoop的一些特点(1)扩容能力:能可靠地存储和处理千兆字节(PB)数据。在不保证低延时的前提下,具有相当大的吞吐量,非常适合海量数据的运算。(2)成本低:可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。而且每个节点都是运行在开源操作系统Linux上面的。(3)高效率:通过分发数据,Hadoop可以在数据所在的节点上并行地处理它们,这使得处理非常的快速。(4)可靠性:Hadoop能自动地维护数据的多份复制,并且在任务失败后能自动地重新部署计算任务。3.4浪新大数据平台结构浪新大数据平台集EDH(ErathinkDistributedHadoop)、浪新大数据引擎、浪新可视化软件于一体,其功能包括数据的导入、清洗、存储、预处理、智能分析、可视化、数据模型等。浪新微电子系统上海公司利用浪新大数据平台,为零售连锁,银行,政府等行业客户,提供完整的大数据解决方案。其产品结构如图3。图3大数据分析平台产品结构对于大数据引擎来说,它对数据的处理模式是按照最高级别的聚合逐级到原始的业务数据,如图4所示:图4大数据引擎的处理模式3.5相关技术(1)JS:适合于运行在分布式设备的数据密集型实时应用。(2)MongoDB:高性能,开源,模式自由(schema-free)的文档型数据库。具体的技术结构图如图5所示:图5技术结构图3.6参考文献:[1]ZikopoulosP,EatonC.Understandingbigdata:Analyticsforenterpriseclasshadoopandstreamingdata[M].McGraw-HillOsborneMed