机器学习(txt+pdf+epub+mobi电子书下载)


发布时间:2020-12-04 22:58:29

点击下载

作者:赵卫东 董亮

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

机器学习

机器学习试读:

前言

机器学习是人工智能的技术基础,伴随着人工智能几十年的发展,期间有过几次大起大落。作为机器学习的高级阶段,最近几年,深度学习算法在自然语言处理、语音识别、图像处理等领域的突破,使得机器学习成为计算机学科非常热门的一个方向。这也标志着机器学习已经彻底迈出实验室大门,走向实践,推动着人工智能向更高阶段发展。

与机器学习十分密切的概念有数据挖掘、大数据分析等,这些数据分析技术使用了一些机器学习的方法和算法,解决了企业应用的一些问题,辅助业务人员和管理人员做出更好的决策。几种技术相辅相成,共同促进了数据分析技术和人工智能的进步。

从早期的统计学习,发展到联结主义的神经网络,直到深度神经网络的过程中,机器学习的基础一直是足量的高质量数据。“互联网+”的热潮推动了大数据的产生以及处理大数据的软硬件技术的迅猛发展,为机器学习提供了更好的数据和分析的技术基础,在一些应用领域,机器已经达到甚至超过人类的智能水平,从而引发机器学习在金融、智能制造、零售、电子商务、电信等众多行业的广泛应用。

大数据应用和人工智能发展已经引起了全球关注,企业对机器学习的人才需求增大,与之密切相关的数据科学家、数据挖掘工程师、大数据分析师、机器学习分析师等数据分析类人才成为21世纪最有吸引力的人才。根据相关企业估计,上述人才的需求增长将持续6~8年。为此,教育部批准了一批高校成立数据科学与大数据技术、大数据应用、智能科学与技术等相关专业,为业界培养相应的专业人才。

机器学习是一门理论和实践并重的课程,内容比较多,很多算法也有一定的难度。此外,机器学习的应用需要一定的经验和技巧。编写一本兼顾机器学习理论的系统性,又能体现机器学习的应用,使之适合新工科教学的机器学习教材,就成为本书编写的目标。

目前,市场上已有多种机器学习的专业图书和教材,大多数图书有两种倾向,要么理论内容繁杂,对初学者和任课教师来说挑战较大,短短的几十学时难以消化;要么偏重应用和实践,理论的系统性不够,理论与应用方面的内容不够平衡。针对上述问题,作者参阅了大量文献资料,结合过去多年数据分析的研究和实践,重新梳理了机器学习的整个课程体系,使内容基本覆盖机器学习的基础内容,深入浅出,读者在此基础上可以钻研机器学习的高级算法。

本书具有以下特点。(1)大多数章节都有典型的Python算法和案例,深入浅出地解释理论,方便学习理解。本书最后附有主要参考文献,方便读者加深对教材内容的思考。此外,每章还配有思考题,以此检验读者对基本知识的理解和应用能力。(2)在介绍传统的机器学习理论的基础上,突出了机器学习目前主流的一些内容,包括深度学习的典型算法与应用、知识图谱、机器学习在电子推荐技术的应用等。(3)本书第14章的华为FusionInsight平台提供3个月的免费使用期,请读者根据实际情况开通使用。

本书在写作过程中,得到了教育部高等学校计算机类专业教学指导委员会-华为ICT产学合作项目组的大力支持,另外,研究生于召鑫、蒲实、朱荣斌、耿甲、袁雪如、陈子轩等在资料收集过程中做了一些工作,在此一并表示感谢。赵卫东2018年2月复旦大学第1章 机器学习概述随着大数据的发展和计算机运算能力的不断提升,人工智能在最近几年取得了令人瞩目的成就。目前在很多行业中,都有企业开始应用机器学习技术,从而获取更深刻的洞察,为企业经营或日常生活提供帮助,提升产品服务水平。机器学习已经广泛应用于数据挖掘、搜索引擎、电子商务、自动驾驶、图像识别、量化投资、自然语言处理、计算机视觉、医学诊断、信用卡欺诈检测、证券金融市场分析、游戏和机器人等领域,机器学习相关技术的进步促进了人工智能在各个领域的发展。1.1 机器学习简介

机器学习(Machine Learning)是计算机科学的子领域,也是人工智能的一个分支和实现方式。汤姆·米切尔(Tom Mitchell)在1997年出版的Machine Learning一书中指出,机器学习这门学科所关注的是计算机程序如何随着经验积累,自动提高性能。他同时给出了形式化的描述:对于某类任务T和性能度量P,如果一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么就称这个计算机程序在从经验E学习。

机器学习主要的理论基础涉及概率论、数理统计、线性代数、数学分析、数值逼近、最优化理论和计算复杂理论等,其核心要素是数据、算法和模型。1.1.1 机器学习简史

机器学习是一门不断发展的学科,虽然只是在最近几年才成为一个独立学科,但机器学习的起源可以追溯到20世纪50年代以来人工智能的符号演算、逻辑推理、自动机模型、启发式搜索、模糊数学、专家系统以及神经网络的反向传播BP算法等。虽然这些技术在当时并没有被冠以机器学习之名,但时至今日它们依然是机器学习的理论基石。从学科发展过程的角度思考机器学习,有助于理解目前层出不穷的各类机器学习算法。机器学习的大致演变过程如表1-1所示。表1-1 机器学习的大致演变过程

机器学习的发展分为知识推理期、知识工程期、浅层学习(Shallow Learning)和深度学习(Deep Learning)几个阶段。知识推理期起始于20世纪50年代中期,这时候的人工智能主要通过专家系统赋予计算机逻辑推理能力,赫伯特·西蒙(Herbert Simon)和艾伦·纽厄尔(Allen Newell)实现的自动定理证明系统Logic Theorist证明了逻辑学家拉赛尔(Russell)和怀特黑德(Whitehead)编写的《数学原理》中的52条定理,并且其中一条定理比原作者所写更加巧妙。20世纪70年代开始,人工智能进入知识工程期,费根鲍姆(E.A. Feigenbaum)作为知识工程之父在1994年获得了图灵奖。由于人工无法将所有知识都总结出来教给计算机系统,所以这一阶段的人工智能面临知识获取的瓶颈。实际上,在20世纪50年代,就已经有机器学习的相关研究,代表性工作主要是罗森布拉特(F. Rosenblatt)基于神经感知科学提出的计算机神经网络,即感知器,在随后的十年中浅层学习的神经网络曾经风靡一时,特别是马文·明斯基提出了著名的XOR问题和感知器线性不可分的问题。由于计算机的运算能力有限,多层网络训练困难,通常都是只有一层隐含层的浅层模型,虽然各种各样的浅层机器学习模型相继被提出,对理论分析和应用方面都产生了较大的影响,但是理论分析的难度和训练方法需要很多经验和技巧,随着最近邻等算法的相继提出,浅层模型在模型理解、准确率、模型训练等方面被超越,机器学习的发展几乎处于停滞状态。

2006年,希尔顿(Hinton)发表了深度信念网络论文,本戈欧(Bengio)等人发表了“Greedy Layer-Wise Training of Deep Networks”论文,乐康(LeCun)团队发表了“Efficient Learning of Sparse Representations with an Energy-Based Model”论文,这些事件标志着人工智能正式进入了深层网络的实践阶段,同时,云计算和GPU并行计算为深度学习的发展提供了基础保障,特别是最近几年,机器学习在各个领域都取得了突飞猛进的发展。

新的机器学习算法面临的主要问题更加复杂,机器学习的应用领域从广度向深度发展,这对模型训练和应用都提出了更高的要求。随着人工智能的发展,冯·诺依曼式的有限状态机的理论基础越来越难以应对目前神经网络中层数的要求,这些都对机器学习提出了挑战。1.1.2 机器学习主要流派

在人工智能的发展过程中,随着人们对智能的理解和现实问题的解决方法演变,机器学习大致出现了符号主义、贝叶斯、联结主义、进化主义、行为类推主义五大流派。

1. 符号主义

符号主义起源于逻辑学、哲学,实现方法是用符号表示知识,并用规则进行逻辑推理,其中专家系统和知识工程是这一学说的代表性成果。符号主义流派认为知识是信息符号的表示,是人工智能的基础,将这些符号输入到计算机中进行模拟推理,从而实现人工智能。

2. 贝叶斯派

贝叶斯定理是概率论中的一个定理,其中P(A|B)是在事件B发生的情况下事件A发生的可能性(条件概率)。贝叶斯学习已经被应用于许多领域。例如,自然语言中的情感分类、自动驾驶和垃圾邮件过滤等。

3. 联结主义

联结主义起源于神经科学,主要算法是神经网络,由大量神经元以一定的结构组成。神经元是一种看起来像树状的细胞,它由细胞体和细胞突起构成,在长的轴突上套有一层鞘,组成神经纤维,它的末端的细小分支叫作神经末梢。每个神经元可以有一或多个树突,可以接受刺激并将兴奋传入细胞体。每个神经元只有一个轴突,可以把兴奋从胞体传送到另一个神经元或其他组织,神经元之间是互相连接的,这样形成了一个大的神经网络,人类所学会的知识几乎都存在其中,如图1-1所示。图1-1 神经元结构

在神经网络中,将n个相连接的神经元的输出作为当前神经元的输入,进行加权计算,并加一个偏置值(Bias)之后通过激活函数来实现变换,激活函数的作用是将输出控制在一定的范围以内。以Sigmoid函数为例,输入从负无穷到正无穷,经过激活之后映射到(0,1)区间。

人工神经网络是以层(Layer)形式组织起来的,每一层中包含多个神经元,层与层之间通过一定的结构连接起来,对神经网络的训练目的就是要找到网络中各个突触连接的权重和偏置值。作为一种监督学习算法,神经网络的训练过程是通过不断反馈当前网络计算结果与训练数据之间的误差来修正网络权重,使误差足够小,这就是反向传播算法。

4. 进化主义

1850年,达尔文发现进化论。在微观上,DNA是线性串联编码,进化过程是基因交叉、突变的过程。宏观上,进化过程是生物个体适应环境的优胜劣汰过程。智能要适应不断变化的环境,通过对进化的过程进行建模,产生智能行为。进化算法(Evolutionary Algorithm,EA)是在计算机上模拟进化过程,基于“物竞天择,适者生存”的原则,不断迭代优化,直到找到最佳的结果。进化算法包括基因编码、种群初始化、交叉变异算子等基本操作,是一种比较成熟的具有广泛适用性的全局优化方法,具有自组织、自适应、自学习的特性,能够有效地处理传统优化算法难以解决的复杂问题(例如NP难优化问题)。

遗传算法的优化要视具体情况进行算法选择,也可以与其他算法相结合,对其进行补充。对于动态数据,用遗传算法求最优解可能会比较困难,种群可能会过早收敛。本书第9章将对遗传算法进行详细介绍。

5. 行为类推主义

根据约束条件来优化函数,行为类推主义者倾向于通过类比推理获得知识和理论,将未知情况与已知情况建立对应关系,在实际应用中,就是计算它们之间的相似度,然后定义关联关系。1.2 机器学习、人工智能和数据挖掘

目前人工智能很热门,但是很多人容易将人工智能与机器学习混淆。此外,数据挖掘、人工智能和机器学习之间的关系也容易被混淆。从本质上看,数据科学的目标是通过处理各种数据促进人们的决策,机器学习的主要任务是使机器模仿人类的学习,从而获得知识。而人工智能借助机器学习和推理最终是形成具体的智能行为。机器学习与其他领域之间的关系如图1-2所示。图1-2 机器学习与人工智能的关系1.2.1 什么是人工智能

人工智能是让机器的行为看起来像人所表现出的智能行为一样,这是由麻省理工学院的约翰·麦卡锡在1956年的达特茅斯会议上提出的,字面上的意思是为机器赋予人的智能。人工智能的先驱们希望机器具有与人类似的能力:感知、语言、思考、学习、行动等。最近几年人工智能风靡全球的主要原因就是,随着机器学习的发展,人们发现机器具有了一定的感知(图像识别)和学习等方面的能力,很容易认为目前已经达到了人工智能发展过程中的奇点。实际上,人工智能包括计算智能、感知智能和认知智能等层次,目前人工智能还介于前两者之间。

由于目前人工智能与人类智能相比较,二者实现的原理并不相同,特别是人脑对于信息的存储和加工过程尚未被研究清楚,与目前主流的深度学习理论存在较大的基础差异。因此,目前人工智能所处的阶段还在“弱人工智能”(Narrow AI)阶段,距离“强人工智能”(General AI)阶段还有较长的路要走。例如,目前人类对于知识的获取和推理并不需要大量的数据进行反复迭代学习,只需要看一眼自行车的照片就能大致区分出各式各样的自行车。因此,要达到强人工智能的阶段可能要在计算机基础理论方面进行创新,实现类人脑的结构设计。

通常来说,人工智能是使机器具备类似人类的智能性,人工智能的典型系统包括以下几个方面。(1)博弈游戏(如深蓝、Alpha Go、Alpha Zero等)。(2)机器人相关控制理论(运动规划、控制机器人行走等)。(3)机器翻译。(4)语音识别。(5)计算机视觉系统。(6)自然语言处理(自动程序)。1.2.2 什么是数据挖掘

数据挖掘使用机器学习、统计学和数据库等方法在相对大量的数据集中发现模式和知识,它涉及数据预处理、模型与推断、可视化等。数据挖掘包括以下几类常见任务。

1. 异常检测

异常检测(anomaly detection)是对不符合预期模式的样本、事件进行识别。异常也被称为离群值、偏差和例外等。异常检测常用于入侵检测、银行欺诈、疾病检测、故障检测等。

2. 关联分析

关联规则学习(Association rule learning)是在数据库中发现变量之间的关系(强规则)。例如,在购物篮分析中,发现规则{面包,牛奶}→{酸奶},表明如果顾客同时购买了面包和牛奶,很有可能也会买酸奶,利用这些规则可以进行营销。

3. 聚类

聚类是一种探索性分析,在未知数据结构的情况下,根据相似性把样本分为不同的簇或子集,不同簇的样本具有很大的差异性,从而发现数据的类别与结构。

4. 分类

分类是根据已知样本的某些特征,判断一个新样本属于哪种类别。通过特征选择和学习,建立判别函数以对样本进行分类。

5. 回归

回归是一种统计分析方法,用于了解两个或多个变量之间的相关关系,回归的目标是找出误差最小的拟合函数作为模型,用特定的自变量来预测因变量的值。

数据挖掘在大数据相关技术的支持下,随着数据存储(非关系型NoSQL数据库)、分布式数据计算(Hadoop/Spark等)、数据可视化等技术的发展,数据挖掘对事务的理解能力越来越强,如此多的数据堆积在一起,增加了对算法的要求,所以数据挖掘一方面要尽可能获取更多、更有价值、更全面的数据,并从这些数据中提取价值。

数据挖掘在商务智能方面的应用较多,特别是在决策辅助、流程优化、精准营销等方面。广告公司可以使用用户的浏览历史、访问记录、点击记录和购买信息等数据,对广告进行精准推广。利用舆情分析,特别是情感分析可以提取公众意见来驱动市场决策。例如,在电影推广时对社交评论进行监控,寻找与目标观众产生共鸣的元素,然后调整媒体宣传策略迎合观众口味,吸引更多人群。1.2.3 机器学习、人工智能与数据挖掘的关系

机器学习是人工智能的一个分支,作为人工智能的核心技术和实现手段,通过机器学习的方法解决人工智能面对的问题。机器学习是通过一些让计算机可以自动“学习”的算法,从数据中分析获得规律,然后利用规律对新样本进行预测。

机器学习是人工智能的重要支撑技术,其中深度学习就是一个典型例子。深度学习的典型应用是选择数据训练模型,然后用模型做出预测。例如,博弈游戏系统(Deep Blue)重于探索和优化未来的解空间(Solution Space),而深度学习则是在博弈游戏算法(例如Alpha Go)的开发上付诸努力,取得了世人瞩目的成就。

下面以自动驾驶汽车研发为例,说明机器学习和人工智能的关系。要实现自动驾驶,就需要对交通标志进行识别。首先,应用机器学习算法对交通标志进行学习,数据集中包括数百万张交通标志图片,使用卷积神经网络进行训练并生成模型。然后,自动驾驶系统使用摄像头,让模型实时识别交通标志,并不断进行验证、测试和调优,最终达到较高的识别精度。

当汽车识别出交通标志时,针对不同的标志进行不同的操作。例如,遇到停车标志时,自动驾驶系统需要综合车速和车距来决定何时刹车,过早或过晚都会危及行车安全。除此之外,人工智能技术还需要应用控制理论处理不同的道路状况下刹车策略,通过综合这些机器学习模型来产生自动化的行为。

数据挖掘和机器学习的关系越来越密切。例如,通过分析企业的经营数据,发现某一类客户在消费行为上与其他用户存在明显区别,并通过可视化图表显示,这是数据挖掘和机器学习的工作,它输出的是某种信息和知识。企业决策人员可根据这些输出人为改变经营策略,而人工智能是用机器自动决策来代替人工行为,从而实现机器智能。

数据挖掘是从大量的业务数据中挖掘隐藏的、有用的、正确的知识,促进决策的执行。数据挖掘的很多算法都来自机器学习和统计学,其中统计学关注理论研究并用于数据分析实践形成独立的学科,机器学习中有些算法借鉴了统计学理论,并在实际应用中进行优化,实现数据挖掘目标。机器学习的演化计算深度学习等方法近年来也逐渐跳出实验室,从实际的数据中学习模式,解决实际问题。数据挖掘和机器学习的交集越来越大,机器学习成为数据挖掘的重要支撑技术。1.3 典型机器学习应用领域

机器学习能够显著提高企业的智能水平,增强企业的竞争力。人工智能对于各行业的影响越来越大,机器学习应用的典型领域有网络安全、搜索引擎、产品推荐、自动驾驶、图像识别、语音识别、量化投资、自然语言处理等。随着海量数据的累积和硬件运算能力的提升,机器学习的应用领域还在快速地延展。

1. 艺术创作

图像处理方面的应用较多,特别是卷积神经网络(CNN)等对图像进行处理具有天然的优势,通过模拟人类视觉处理过程,辅以计算机视觉处理技术,机器学习在图像处理领域应用广泛,除了图像识别、照片分类、图像隐藏等,最近几年图像处理方面的创新应用已经涉及了图片生成、美化、修复和图片场景描述等。

脸书(Facebook)公司在2015年开发了一款可以描述图片内容的应用,通过对图片中背景、人物、物品以及场景的描述来帮助视觉障碍人士了解图中的内容。其中主要应用的技术是图像识别,基于Facebook现有图片库中已经标记过的图片作为模型的训练集,经过学习,逐渐实现对图片中对象的识别,但是其对内容的描述主要以列表方式返回,而非以故事的方式返回,所以这类应用的另一难点是自然语言生成,是目前人工智能领域中的难点之一。

信手涂鸦一直是很多人的梦想,得益于深度神经网络,人们可以通过合成的方式绘制一幅充满艺术气息的画。其原理是使用卷积神经网络提取模板图片中的绘画特征,并应用马尔可夫随机场(MRF)对输入的涂鸦图片进行处理,最后合成一张新的图画。图1-3所示为Neural Doodle项目的应用效果,其中左图为油画模板,中间图片是用户涂鸦的作品,右图是合成之后的新作品。图1-3 应用深度神经网络将图片生成艺术画

除了在上述项目应用中生成一个全新的图片外,神经网络还可以用于图像修复,将对抗神经网络(GAN)和卷积神经网络进行结合,并应用MRF理论对现有图片中的缺失部分进行修复。此外,使用已经训练好的VGG Net作为纹理生成网络,可以对现有图片中的干扰物体进行移除。这类技术应用范围较广,除了照片美化外,还可集成于图片处理软件用于智能修图,或者对现有的图片进行扩展绘制等,在某些训练集中,已标记图片数量较少时,可以使用GAN生成大量伪图片,用于模型训练,不仅可以极大地减少人工标记的工作量,而且可以动态迭代优化模型。

谷歌(Google)公司的PlaNet神经网络模型可以识别照片中的地理位置(并非使用照片的Extif位置数据)。在模型的训练过程中,使用了大约1.26亿张网络图片,使用照片的Extif位置信息作为标记,将地球上除南北极和海洋之外的地区进行网格化,使图片对应于某一网格单元,然后使用其中大约9100万张图片进行训练,用约3400万张图片进行验证,并用Flickr中大约2300万张带位置的照片进行测试,大约有3.6%的照片可以准确识别到街道级别,28%的照片可准确识别位于哪一国家,48%的照片可以准确识别位于哪一个大陆板块。识别的误差距离大约为1131千米,而同等情况下,人类对于图片位置的定位误差距离为2320千米。虽然训练样本数量很大,但最终的神经网络模型的大小只有377MB。

2. 金融领域

金融与人们衣食住行等生活息息相关。与人类相比,机器学习在处理金融行业的业务方面更加高效,可同时对数千只股票进行精确分析,在短时间内给出结论;没有人性的缺点,在处理财务问题时更加可靠和稳定;通过建立欺诈或异常检测模型提高金融安全,有效检测出细微模式差别,结果更加精确。

在信用评分方面,应用评分模型评估信贷过程中的各类风险,并对其进行监督,基于客户的职业、薪酬、所处行业、历史信用记录等信息确定客户的信用评分,不仅可以降低风险还可以加快放贷过程,减少尽职调查的工作量,提高效率。

在欺诈检测方面,基于收集到的历史数据训练得到机器学习模型,用来预测欺诈发生的概率。与传统检测相比,这种方法用时更少,且能检测出更复杂的欺诈行为。在训练过程中需要注意样本类别不均衡的问题,防止出现过拟合情况。

在股票市场的趋势预测方面,通过机器学习算法分析上市公司的资产负债表、现金流量表等财务数据和企业经营数据,提取与股价或指数相关的特征进行预测。另外,利用与企业相关的第三方资讯,如政策法规、新闻或社交网络中的信息,通过自然语言处理技术分析舆情观点或情感指向,为股票价格预测提供支持,从而使预测结果更准确。应用监督学习方法建立两个数据集之间的关系,从而使用一个数据集来预测另一个数据集结果,如用回归来分析通货膨胀对股市的影响等;无监督学习方法可以用于股票市场的影响因素分析,发现其背后的主要规则;深度学习适合非结构化大数据集的处理,提取不易于显式表达的特征;强化学习的目标是通过算法探索来找到最大化收益的策略。应用LSTM等深度学习方法,可以基于股票价格波动特征以及可量化的市场数据对股票价格进行实时预测,可用于股票市场的高频交易等领域中。

在客户关系管理(CRM)方面,从银行等金融机构现有的海量数据中挖掘信息,通过机器学习模型对客户进行细分,从而支持业务部门的销售、宣传和市场推广活动。此外,应用聊天机器人等综合人工智能技术可以全天候服务客户,提供私人财务助理服务,例如个人财务指南、跟踪开支等。在处理各种客户请求,如客户通知、转账、存款、查询、常见问题解答和客户支持方面,经过长期积累用户的历史记录,可以向客户提供合适的理财方案。

3. 医疗领域

机器学习可以用于预测患者的诊断结果、制定最佳疗程甚至评估风险等级。此外,还可以减少人为失误。在2016年JAMA杂志报道的一项研究中,人工智能通过学习大量历史病理图片,经过验证,其准确度达到了96%,这一数字表明,人工智能在对糖尿病视网膜病变进行诊断方面已经与医生水平相当。此外,对超过13万张皮肤癌的临床图片进行深度学习后,机器学习系统在检测皮肤癌方面超过了皮肤科医生。

对脑外科医生而言,术中病理分析往往是诊断脑肿瘤的最佳方式之一,而这一过程耗时较长,容易延误正在进行的脑部手术。科学家开发出机器学习系统,能够将未经处理的大脑样本进行“染色”,提供非常精准的信息,效果与病理分析的一样,通过它诊断脑瘤的准确率和使用常规组织切片的准确率几乎相同,对身处手术中的脑瘤患者来说至关重要,因为它极大地缩减了诊断的时间。

在临床试验方面,每次临床试验都需要大量的数据,如患者的历史病历信息、卫生日志、App数据和医疗检查数据等。机器学习通过汇总挖掘这些数据,从而获得有价值的信息。例如,生物制药公司根据个体患者的生物特征进行建模,并根据患者的药物反应,对试验人群分类,对患者生物体征和反应进行全程监控。一家英国公司利用机器学习技术分析大量图像资料,通过分析建立模型,辨别和预测早期癌症,还为患者提供个性化的治疗过程。研究人员从大量心脏病患者的电子病历库调取了患者的医疗信息,如疾病史、手术史、个人生活习惯等,将这些信息在机器学习算法下进行分析建模,预测患者的心脏病风险因素,在预测心脏病患者人数以及预测是否会患心脏病方面上均优于现在的预测模型。

4. 自然语言处理

自然语言处理属于文本挖掘的范畴,融合了计算机科学、语言学、统计学等基础学科。自然语言处理涉及的范畴包括自然语言理解和自然语言生成,其中前者包括文本分类、自动摘要、机器翻译、自动问答、阅读理解等,目前在这些方面均取得了较大的成就,但是自然语言生成方面成果不多,具备一定智能且能商用的产品很少。自然语言处理涉及的内容具体说明如下。(1)分词

分词(Word Segmentation)主要是基于词典对词语识别,最基本的方法是最大匹配法(MM),效果取决于词典的覆盖度。此外,常用基于统计的分词方法,利用语料库中的词频和共现概率等统计信息对文本进行分词。对切分歧义的消解方法包括句法统计和基于记忆的模型,前者将自动分词和基于马尔可夫链词性自动标注结合起来,利用从人工标注语料库中提取出的词性二元统计规律来消解切分歧义;而基于记忆的模型,对机器认为有歧义的常见交集型歧义切分,如“辛勤劳动”切分为“辛勤”“勤劳”“劳动”,并把它们的唯一正确切分形式预先记录在一张表中,其歧义消解通过直接查表实现。(2)词性标注

词性标注(Part-of-speech Tagging)是对句子中的词标记词性,如动词、名词等。词性标注本质上是对序列中各词的词性进行分类判断,所以早期用隐马尔科夫模型进行标注,以及后来出现的最大熵、条件随机场、支持向量机等模型。随着深度学习技术的发展,出现了很多基于深层神经网络的词性标注方法。(3)句法分析

在句法分析时,人工定义规则费时费力,且维护成本较高。近年来,自动学习规则的方法成为句法分析的主流方法,目前主要是应用数据驱动的方法进行分析。通过在文法规则中加入概率值等统计信息(如词共现概率),从而实现对原有的上下文无关文法分析方法进行扩展,最终实现概率上下文无关文法(Probabilistic Context Free Grammar,PCFG)分析方法,在实践中取得较好效果。句法分析主要分为依存句法分析、短语结构句法分析、深层文法句法分析和基于深度学习的句法分析等。(4)自然语言生成

自然语言生成(Natural Language Generation,NLG)的主要难点在于,在知识库或逻辑形式等方面需要进行大量基础工作,人类语言系统中又存在较多的背景知识,而机器表述系统中一方面较难将背景知识集成(信息量太大),另一方面,语言在机器中难以合理表示,所以目前自然语言生成的相关成果较少。

现在的自然语言生成方法大多是用模板,模板来源于人工定义、知识库,或从语料库中进行抽取,这种方式生成的文章容易出现僵硬的问题。目前也可以用神经网络生成序列,如Seq2Seq、GAN等深度学习模型等,但由于训练语料的质量各异,容易出现结果随机且不可控等问题。

自然语言生成的步骤包括内容规划、结构规划、聚集语句、选择字词、指涉语生成、文本生成等几步,目前比较成熟的应用主要还是一些从数据库或资料集中通过摘录生成文章的系统,例如一些天气预报生成、财经新闻或体育新闻的写作、百科写作、诗歌写作等,这些文章本身具有一定的范式,类似八股文一样具有某些固定的文章结构,语言的风格变化较少。此外,此类文章重点在于其中的内容,读者对文章风格和措辞等要求较低。综合来看,目前人工智能领域中,自然语言生成的难题还未真正解决,可谓“得语言者得天下”,毕竟语言也代表着较高级的人类智能。(5)文本分类

文本分类(Text categorization)是将文本内容归为某一类别的过程,目前对其研究成果层出不穷,特别是随着深度学习的发展,深度学习模型在文本分类任务方面取得了巨大进展。文本分类的算法可以划分为以下几类:基于规则的分类模型、基于机器学习的分类模型、基于神经网络的方法、卷积神经网络(CNN)、循环神经网络(RNN)。文本分类技术有着广泛的应用。例如,社交网站每天都会产生大量信息,如果由人工对这些文本进行整理将会费时费力,且分类结果的稳定性较差;应用自动化分类技术可以避免上述问题,从而实现文本内容的自动化标记,为后续用户兴趣建模和特征提取提供基础支持。除此之外,文本分类还作为基础组件用于信息检索、情感分析、机器翻译、自动文摘和垃圾邮件检测等。(6)信息检索

信息检索(Information Retrieval)是从信息资源集合中提取需求信息的行为,可以基于全文或内容的索引。目前在自然语言处理方面,信息检索用到的技术包括向量空间模型、权重计算、TF-IDF(词频-逆向文档频率)词项权重计算、文本相似度计算、文本聚类等,具体应用于搜索引擎、推荐系统、信息过滤等方面。(7)信息抽取

在信息抽取(Information Extraction)方面,从非结构化文本中提取指定的信息,并通过信息归并、冗余消除和冲突消解等手段,将非结构化文本转换为结构化信息。其应用方向很多,例如从相关新闻报道中抽取出事件信息:时间、地点、施事人、受事人、结果等;从体育新闻中抽取体育赛事信息:主队、客队、赛场、比分等;从医疗文献中抽取疾病信息(病因、病原、症状、药物等)。它还广泛应用于舆情监控、网络搜索、智能问答等领域。与此同时,信息抽取技术是中文信息处理和人工智能的基础核心技术。(8)文本校对

文本校对(Text-proofing)应用的领域主要是对自然语言生成的内容进行修复或对OCR识别的结果进行检测和修复,采用的技术包括应用词典和语言模型等,其中词典是将常用词以词典的方式对词频进行记录。如果某些词在词典中不存在,则需要对其进行修改,选择最相近的词语进行替换,这种方式对词典要求高,并且在实际操作中,由于语言的变化较多且存在较多组词方式,导致误判较多,在实际应用中准确性不佳。而语言模型是基于词汇之间搭配的可能性(概率)来对词汇进行正确性判断,一般是以句子为单位对整个句子进行检测,目前常见的语言模型有SRILM和RNNLM等几种。(9)问答系统

自动问答(Question Answering)系统在回答用户问题之前,第一步需要能正确理解用户用自然语言提出的问题,这涉及分词、命名实体识别、句法分析、语义分析等自然语言理解相关技术。然后针对提问类、事实类、交互类等不同形式的提问分别应答,例如用户提问类问题,可从知识库或问答库中检索、匹配获得答案,除此之外还涉及对话上下文处理、逻辑推理、知识工程和语言生成等多项关键技术。因此可以说,问答系统代表了自然语言处理的智能处理水平。(10)机器翻译

机器翻译(Machine Translation)是由机器实现不同自然语言之间的翻译,涉及语言学、机器学习、认知语言学等多个学科。目前基于规则的机器翻译方法需要人工设计和编纂翻译规则,而基于统计的机器翻译方法能够自动获取翻译规则,最近几年流行的端到端的神经网络机器翻译方法可以直接通过编码网络和解码网络自动学习语言之间的转换算法。(11)自动摘要

自动摘要(Automatic Summarization)主要是为了解决信息过载的问题,用户阅读文摘即可了解文章大意。目前常用抽取式和生成式两种摘要方法。抽取式方法是通过对句子或段落等进行权重评价,按照重要性进行选择并组成摘要。而生成式方法除了利用自然语言理解技术对文本内容分析外,还利用句子规划和模板等自然语言生成技术产生新句子。传统的自然语言生成技术在不同领域中的泛化能力较差,随着深度学习的发展,生成式摘要应用逐渐增多。目前主流还是采用基于抽取式的方法,因为这一方法易于实现,能保证摘要中的每个句子具有良好的可读性,并且不需要大量的训练语料,可跨领域应用。

5. 网络安全

网络安全包括反垃圾邮件、反网络钓鱼、上网内容过滤、反诈骗、防范攻击和活动监视等,随着机器学习算法逐渐应用于企业安全中,各种新型安全解决方案如雨后春笋般涌现,这些模型在分析网络、监控网络、发现异常情况等方面效果显著,从而保护企业免受威胁。

在密码学方面,机器学习主要用于密码的破解,例如通过分析通用符号密码的特征,以及目前常见密码的各种缺点,利用神经网络算法破解密码。近几年,谷歌大脑将生成对抗网络(GAN)引入密码加密和解密中,随着迭代训练次数不断增加,加密模型和解密模型的性能同步提升,最终在没有提供密码学知识的情况下,获得性能很强的加密模型。在网络安全加固方面,利用机器学习探测网络安全的优势和劣势,并给出一些改进的建议。由于恶意请求通常都进行伪装,所以在网络入侵检测方面存在较大难度,并且攻击行为实例较少,需要处理样本不平衡问题,在模型评价时采用查全率(Recall)作为性能度量标准。

在垃圾邮件过滤系统中,如何提升过滤的准确性一直是一个难题。传统的机器学习算法包括贝叶斯分类器、支持向量机等分类算法,对正常和垃圾邮件中文本内容应用自然语言处理技术提取特征,并训练分类器判断垃圾邮件。

机器学习方法在实际应用过程中还有较多挑战,主要是数据收集难、样本标记分类工作量大、数据不平衡以及数据噪声等。此外,目前两种主要的机器学习类型是监督与非监督型学习,通过在训练的数据集中找到模式,目前仍然需要数据分析人员参与。

6. 工业领域

机器学习在工业领域的应用主要在质量管理、灾害预测、缺陷预测、工业分拣、故障感知等方面。通过采用人工智能技术,实现制造和检测的智能化和无人化,利用深度学习算法判断的准确率和人工判断相差无几。

将深度学习算法应用到工业机器人上,可大幅提升作业性能,并实现制造流程的自动化和无人化。例如,用于商品或者零件分拣,使用分类算法对商品进行识别,同时可以采用加强学习(Reinforcement Learning)算法来实现商品的定位和拣起动作。

在机器故障检测和预警方面,应用机器学习对物联网中各传感器提取的数据进行分析,并结合历史故障记录、硬件状态指标等信息建立预测模型,提前预知异常。或者从故障定位的角度,建立决策树等分类模型对故障原因进行判断,快速定位并提供维修建议,减少故障的平均修复时间(MTTR),从而减少停机带来的损失。

机器学习在工业领域中也存在瓶颈,主要有以下几个方面。(1)数据质量

有监督方式训练效果好,但是需要很多标注数据,其中数据的质量、归一化方法、分布等对模型的效果影响较大。例如,如果数据量太多时,那么需要较高的计算能力和计算成本;如果数据量太少时,模型的预测能力一般较差。(2)工程师经验

机器学习的相关算法和方法具有一定的门槛,在对原理不清楚的情况下进行实验,很难取得较理想的效果,所以要求工程师不仅具有工程实现的能力,还需具备线性代数、统计学等数学基础,并理解数据科学和机器学习的常见算法。(3)计算能力

由于在深度学习训练过程中需要不断调参,甚至重新设计网络结构,所以训练周期一般要几周甚至数月,并且随着模型复杂度增加,对计算资源(GPU)要求更高,一般模型越大应用时效率越低。(4)机器学习的不可解释性

在机器学习中,深度学习模型在解释模型中参数方面较差,如果在工业应用中除了对结果看重外还要求解释学习过程,这比较难实现。此外,深度学习对于数据的质量要求较高,如果存在缺失值等问题,会有较大误差。

7. 机器学习在娱乐行业的应用

美国波士顿的Pilot Movies公司使用算法来预测票房,把要预测的电影拿来和1990年以来的每一部电影进行比较,预测准确度可以超过80%。另外,把AI与大数据应用到分析娱乐行业的其他方面,例如,分析观众愿意为哪些内容付费等。

芬兰的一家创业公司Valossa研发了一种AI平台,可以在视频中检测识别人物、视频上下文、话题、命名实体、主题以及敏感内容,使用计算机视觉、机器学习以及自然语言处理等技术,为每一秒视频都创建元数据。

IRIS.TV公司通过一个叫作广告计划管理器(Campaign Manager)的工具使观众在视频内容上的停留时间更长,还可以插播品牌视频广告,而视频浏览留存率平均提升了70%。其主要原理是在客户观看视频时收集各种相关数据,将其输入到机器学习模块中推荐更多的相关视频。通过大数据创建的智能视频分发模型,帮助视频平台实现其视频内容精准分发,并且提升内容展现次数。1.4 机器学习算法

机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的方法,可以分成下面几种类别:监督学习、无监督学习、强化学习。(1)监督学习是从有标记的训练数据中学习一个模型,然后根据这个模型对未知样本进行预测。其中,模型的输入是某一样本的特征,函数的输出是这一样本对应的标签。常见的监督学习算法包括回归分析和统计分类。监督学习包括分类和数字预测两大类别,前者包括逻辑回归、决策树、KNN、随机森林、支持向量机、朴素贝叶斯等,后者包括线性回归、KNN、Gradient Boosting和AdaBoost等。(2)无监督学习又称为非监督式学习,它的输入样本并不需要标记,而是自动从样本中学习特征实现预测。常见的无监督学习算法有聚类和关联分析等,在人工神经网络中,自组织映射(SOM)和适应性共振理论(ART)是最常用的无监督学习。(3)强化学习是通过观察来学习做成什么样的动作。每个动作都会对环境有所影响,学习对象根据观察到的周围环境的反馈来做出判断。强化学习强调如何基于环境而行动,以取得最大化的预期利益。其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。

根据机器学习的任务分类,可以分为回归、分类、聚类三大常见机器学习任务。某些机器学习算法可能同时属于不同的分类,如深度学习算法可能存在于监督学习,也可能用于强化学习,在实践过程中可依据实际需要进行选择。

熟悉各类分析方法的特性是分析方法选择的基础,不仅需要了解如何使用各类分析算法,还要了解其实现的原理,这样在参数优化和模型改进时可减少无效的调整。在选择模型之前要对数据进行探索性分析,了解数据类型和数据特点,发现各自变量之间的关系以及自变量与因变量的关系,特别注意在维度较多时容易出现变量的多重共线性问题,可应用箱图、直方图、散点图查找其中的规律性信息。

模型选择过程中先选出多个可能的模型,然后对其进行详细分析,并选择其中可用于分析的模型,在自变量选择时,大多数情况下需要结合业务来手动选择自变量。在选择模型后,比较不同模型的拟22合程度,可统计显著性参数、R、调整R、最小信息标准、BIC和误差准则、Mallow's Cp准则等。在单个模型中可将数据分为训练集和测试集,用来做交叉验证并分析结果的稳定性。反复调整参数使模型趋于稳定和高效。

1. 分类算法

分类算法是应用分类规则对记录进行目标映射,将其划分到不同的分类中,构建具有泛化能力的算法模型,即构建映射规则来预测未知样本的类别。分类算法包括预测和描述两种,经过训练集学习的预测模型在遇到未知记录时,应用规则对其进行类别划分,而描述型的分类主要是对现有数据集中特征进行解释并进行区分,例如对动植物的各项特征进行描述,并进行标记分类,由这些特征来决定其属于哪一类目。

主要的分类算法包括决策树、支持向量机(Support Vector Machine,SVM)、最近邻(K-Nearest Neighbor,KNN)算法、贝叶斯网络(Bayes Network)和神经网络等。(1)决策树

顾名思义,决策树是一棵用于决策的树,目标类别作为叶子节点,特征属性的验证作为非叶子节点,而每个分支是特征属性的输出结果。决策树擅长对人物、位置、事物的不同特征、品质、特性进行评估,可应用于基于规则的信用评估、比赛结果预测等。决策过程是从根节点出发,测试不同的特征属性,按照结果的不同选择分支,最终落到某一叶子节点,获得分类结果。主要的决策树算法有ID3、C4.5、C5.0、CART、CHAID、SLIQ、SPRINT等。

决策树的构建过程是按照属性的优先级或重要性来逐渐确定树的层次结构,使其叶子节点尽可能属于同一类别,一般采用局部最优的贪心(贪婪)策略来构建决策树。

决策树算法将在第3章中详细介绍。(2)支持向量机

支持向量机(Support Vector Machine,SVM)是由瓦普尼克(Vapnik)等人设计的一种分类器,其主要思想是将低维特征空间中的线性不可分进行非线性映射,转化为高维空间的线性可分。此外,应用结构风险最小理论在特征空间优化分割超平面,可以找到尽可能宽的分类边界,特别适合两分类的问题,例如,在二维平面图中某些点是杂乱排布的,无法用一条直线分为两类,但是在三维空间中,可能通过一个平面将其划分。

为了避免在低维空间向高维空间的转化过程中增加计算复杂性和“维数灾难”,支持向量机应用核函数,不需要关心非线性映射的显式表达式,直接在高维空间建立线性分类器,优化了计算复杂度。支持向量机常见的核函数有线性核函数、多项式核函数、径向基函数和二层神经网络核函数等。

支持向量机的目标变量以二分类最佳,虽然可以用于多分类,但效果不好。与其他分类算法相比,支持向量机对小样本数据集的分类效果更好。

支持向量机算法将在第8章中详细介绍。(3)最近邻算法

对样本应用向量空间模型表示,将相似度高的样本分为一类,对新样本计算与之距离最近(最相似)的样本的类别,那么新样本就属于这些样本中类别最多的那一类。可见,影响分类结果的因素分别为距离计算方法、近邻的样本数量等。

最近邻算法支持多种相似度距离计算方法:欧氏距离(Euclidean Distance)、曼哈顿距离(Manhattan Distance)、切比雪夫距离(Chebyshew Distance)、闵可夫斯基距离(Minkowski Distance)、标准化欧氏距离(Standardized Euclidean distance)、马氏距离(Mahalanobis Distance)、巴氏距离(Bhattacharyya Distance)、汉明距离(Hamming distance)、夹角余弦(Cosine)、杰卡德相似系数(Jaccard similarity coefficient)、皮尔逊系数(Pearson Correlation Coefficient)。

最近邻算法的主要缺点有:①在各分类样本数量不平衡时误差较大;②由于每次比较要遍历整个训练样本集来计算相似度,所以分类的效率较低,时间和空间复杂度较高;③近邻的数量选择不合理可能会导致结果的误差较大;④在原始近邻算法中没有权重的概念,所有特征采用相同的权重参数,这样计算出来的相似度易产生误差。(4)贝叶斯网络

贝叶斯网络又称为置信网络(Belief Network),是基于贝叶斯定

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载