前言

为什么要写本书

人工智能是目前比较火热的概念,存在诸多观点。例如,有人认为人工智能系统的智能水平即将全面超越人类的水平,甚至在不久的将来,超级人工智能(“天网”“终结者”)将会出现,人类将会被消灭或者奴役;也有人认为人工智能只是一个炒作概念,因为人工智能的相关理论在20世纪六七十年代就引发过一波热潮,但是在之后的若干年中,由于互联网革命,人工智能的热度逐渐消退,而如今热潮再起,只不过是老调重弹。

上述观点都有失偏颇,人工智能在某些特定领域具有良好的表现:AlphaGo在对阵柯洁时以巨大优势获胜;在特定医疗影像处理上,无论处理速度还是诊断的准确度,人工智能都完胜经验丰富的医师;人脸识别现在不仅可以对近期人脸进行判断,还可以根据以往面貌特征推断将来的面貌,并且在失踪人口的搜索上已经出现了成功案例。从上述例子来看,人工智能似乎在不久的将来会统治人类,其实不然,针对上述应用场景的人工智能通常被称为专用人工智能,是局限于某个特定任务(任务单一、需求明确、应用边界清晰、领域知识丰富、建模相对简单)进行的专门应用。总的来说,人工智能的应用现如今局限于专用性,远远没有达到诸如“终结者”这种具有通用性任务能力的程度。

人工智能总体发展水平仍处于起步阶段——通用人工智能领域的研究与应用仍然任重道远,对超级人工智能(“天网”“终结者”)的担忧大可不必,因为超级人工智能本质上是通用人工智能的高级形式,而通用人工智能尚处于起步阶段。例如,人脑是一个通用的智能系统,能够归纳与推理,具有诸多感官信息,可以处理视觉、听觉、判断、推理、学习、思考、规划、设计等各类问题。当前的人工智能系统在信息感知、机器学习等“浅层智能”方面进步显著,但是在概念抽象和推理决策等“深层智能”方面的能力还很薄弱。

人工智能的热潮是否是另外一个炒作概念?为什么20世纪六七十年代出现的学科到现在又被炒作了一番?其实任何一项技术都要经历以下几个阶段:一是理论的提出,理论的产生奠定整个学科的框架,由此衍生出3个学派,即符号主义、连接主义及行为主义;二是理论的实验室应用或者小规模应用,主要解决理论落地的问题,这些应用通常与大规模商业应用有一步之遥,之所以没有投入大规模商业应用主要是由于生态的限制;三是大规模的商业应用,该阶段已经具备一定的技术及商业生态,如互联网技术的诞生比计算机技术晚,但互联网革命爆发于20世纪90年代中后期,这是因为最初计算机占地面积较大,且算力较低,而价格又使大部分家庭难以负担,随着计算机的普及,以及计算机系统使用的简易化等诸多合力,互联网革命开始兴起。同样的发展逻辑也出现在移动互联网上,并且人工智能的发展也适用于该逻辑。

人工智能在20世纪的发展比较缓慢主要是因为相关的生态并没有很完善地建立起来,而现在已经截然不同。

成为人工智能的参与者是一个不错的想法。对大多数人来说,人工智能的印象源自科幻电影。像先知或者智囊团一样的计算机,或者像忍者一样灵活运动的机器人,充满了神秘;同样,掌握人工智能也并不是一件容易的事情,首先它是多门学科的综合,既各有体系,又相互交融,而相关的理论也日新月异,初学者在这多如牛毛的资料中容易迷失,最终只能“从入门到放弃”。

本书主要从以下几个方面使读者向“从入门到入职”的目标逐步靠近。

·从知识体系及算法原理上尽可能全面而翔实地进行介绍,使读者能够形成完整的知识架构,同时对相关算法的底层逻辑有清晰的了解。

·对基于成熟的机器学习框架(Sklearn、Keras)的使用方法进行讲解,避免读者在学习过程中重复“造轮子”,使其在阅读完本书之后可以拥有基本的模型开发能力。

·从职业的角度,首先对工作中实际模型开发流程的4个步骤进行详细介绍,并搭配相应的代码讲解,而不是局限于模型的实现;然后对目前人工智能岗位做出了详细的分析,使读者在求职过程中能够精确地匹配自己的能力和有意愿担任的职位,并且给出了具有参考意义的进阶之路。

如何阅读本书

本书包括13章,可分为4个部分:第1章至第3章主要介绍机器学习的概念、开发环境的搭建及模型开发的基本流程等;第4章至第7章涵盖回归、分类、聚类、降维的实现原理,以及机器学习框架Sklearn的具体实现与应用;第8章至第12章主要阐述深度学习,如卷积神经网络、生成性对抗网络、循环神经网络的实现原理,以及深度学习框架Keras的具体实现与应用;第13章简单介绍机器学习岗位的入职技巧。

第一部分

第1章:机器学习概述,主要介绍机器学习的概念、发展历程及趋势。

第2章:机器学习的准备工作,主要介绍机器学习的知识准备和环境准备步骤,以及机器学习模型开发的工作流程。

第3章:Sklearn概述,主要介绍Sklearn的环境搭建与安装,以及Sklearn常用类及其结构。

第二部分

第4章:Sklearn之数据预处理,主要介绍常用的数据预处理方法,如缺失值处理、数据的规范化、非线性变换、自定义预处理及非结构性数据预处理等。

第5章:Sklearn之建立模型(上),主要介绍监督学习的概念及相关的监督学习模型,如线性回归、广义线性模型、稳健回归、支持向量机、高斯过程、梯度下降、决策树及分类等算法原理。

第6章:Sklearn之建立模型(下),主要介绍无监督学习的概念及相关的无监督学习模型,主要包括聚类和降维。聚类方法包括K-mean聚类、均值偏移聚类、DBSCAN聚类等;降维方法包括主成因分析、隐含狄利克雷分布、流形学习等。

第7章:Sklearn之模型优化,模型优化有很多种方法,有针对数据本身的优化,如一些采样方法;有针对模型本身的优化,如超参数调整;还有一些集成学习方法,用于提高模型的健壮性及表现能力。

第三部分

第8章:Keras主要API及架构介绍,主要阐述Keras的环境搭建与安装,以及Keras的架构、API与模型形式。

第9章:一个神经网络的迭代优化,主要介绍神经网络的组成、结构、学习机制,以及通用的调优方法。

第10章:卷积神经网络,主要介绍卷积神经网络的重要组件及其实现原理,并列举常用的卷积神经网络模型,如LeNet、AlexNet、VGGNet、残差网络等。

第11章:生成性对抗网络,主要介绍生成性对抗网络的原理、常见的生成性对抗网络、自动编码器模型及代码实现。

第12章:循环神经网络,主要介绍循环神经网络的常见模型层及代码实现。

第四部分

第13章:机器学习的入职准备,主要介绍机器学习岗位及求职者的分布、机器学习岗位的面试技巧,以及机器学习相关岗位的技能侧重点。

勘误和支持

鉴于笔者对机器学习部分理论的理解与认知存在局限性,并且由于机器学习的理论体系发展迅速,故无法做到完备且详尽地将相关理论收录到本书中。针对特定方向(如人工视觉、推荐系统、语义识别等)的相关知识将在后续系列丛书中详细阐述。

对人工智能感兴趣的读者朋友,欢迎以电子邮件(bllizard@yeah.net)的方式与笔者取得联系,期待能够得到广大读者真挚的反馈,在技术的道路上互勉共进。

特别致谢

笔者花费大量时间总结了机器学习的相关理论框架及代码实现,在本书的编写过程中,首先要感谢我的父母,感谢你们在我写书的过程中的支持和照顾。此外,还要感谢曾经的同事李毅、王志远、谢瑞杰、朱琦焱、李云海、温海、丁锦城、杨永邦、张择仪等人的支持和理解。在此一起表示衷心的感谢。

【读者服务】

微信扫码回复:(38199)

●获取博文视点学院20元付费内容抵扣券

●获取免费增值资源

●加入读者交流群,与更多读者互动

●获取精选书单推荐