前言
一般认为,人工智能经历了三次发展浪潮。第一次发生于20世纪60年代,以符号主义学派为主导;第二次发生于20世纪80年代,以连接主义学派为主导;第三次发生于2006年,以深度学习为基础。前两次浪潮都经历了从初期的极度乐观,慢慢转入失望怀疑,研究人员和经费逐渐流出,到“AI寒冬”的循环。而第三次浪潮随着深度学习而复兴,就目前来看似乎还处在循环的前半段:技术突破先前的局限而快速发展,投资狂热,追捧者甚多。问题是现在的热潮是不是技术萌芽期的过分膨胀?是否会昙花一现并逐渐冷却,然后又进入寒冬?也许任何预言、推论都没有实质意义,只有时间才有资格给出真正的答案。
那么,谁来学习人工智能?怎么去理解深度学习呢?计算机工程日益庞大、方向繁多,如前端、后端、测试等,纵然是计算机从业人员,大多数也只有精力在一个方向深入学习。AI空间是这个庞大体系的一部分,还是未来社会每个人都应该掌握的基本技能?其实深度学习更像是一种新的思维方式,能加深我们对计算机乃至世界运行规律的理解。深度学习将传统机器学习中最为复杂的“特征工程”自动化,使机器可以“自主地”抽象和学习更具统计意义的“模式”。
本书为什么会在众多语言当中选择Python来实现人工智能呢?主要原因是:Python是一种通用型编程语言,它具有良好的可扩展性和适应性,易于学习,被广泛应用于云计算、人工智能、科学运算、Web开发、网络爬虫、系统运维、图形GUI、金融量化投资等众多领域。无论是客户端、云端,还是物联网终端,都能看到Python的身影,可以说,Python的应用无处不在。特别是在移动互联网和人工智能时代,Python越来越受到编程者的青睐。
此外,Python社区有各类充满激情的人,对于程序员来说,社区是非常重要的,因为编程绝非孤独地修改代码,大多数程序员需要向解决过类似问题的人寻求建议,就算是经验丰富的程序员也不例外。当需要有人帮助解决问题时,有一个联系紧密、互帮互助的社区至关重要,Python社区就是这样一个社区。
本书旨在让读者尽快掌握Python软件,并利用Python实现人工智能。通过阅读本书,读者能够迅速掌握人工智能的概念、发展和应用,为进一步深入研究人工智能打下坚实的基础,并养成良好的编程习惯。
本书编写特色主要表现在以下3个方面。
1.易学易懂
功能更完善的Python 3.X版本凭借其简洁、易读及可扩展性,使编程更简洁,读者更易理解与掌握。本书不纠缠于晦涩难懂的概念,而用通俗易懂的语言引出概念,再通过实例进行巩固。
2.内容详尽细致
本书每个章节都构造了各种对应实例,系统全面、循序渐进地介绍了Python在人工智能各方面的应用。
3.学与用相结合
本书以解决问题为导向,注意培养编程思维,让读者感受到编程的乐趣,同时讲解与实例相结合,以“够用”为原则,带领初学者避开技术陷阱。书中案例丰富,读者能够从人工智能的各个方面体会利用Python实现智能编程的乐趣,做到学与做相结合。
全书共9章,每个章节的主要内容包括:
第1章 介绍了人工智能的基础,主要包括人工智能的数学建模、选择Python的原因、剖析Python程序、NumPy入门等内容。
第2章 介绍了人工智能背景下的科学计算,主要包括Pandas科学计算库、Matplotlib可视化库、SciPy科学计算库等内容。
第3章 介绍了人工神经网络,主要包括人工神经网络的概念、神经激活函数、反向传播、卷积神经网络、循环神经网络、生成对抗网络等内容。
第4章 介绍了迁移学习,主要包括迁移学习的概念、VGG16实现图像风格转移、糖尿病性视网膜病变检测等内容。
第5章 介绍了网络爬虫,主要包括初识爬虫、爬虫入门、高效率爬虫、利用Scrapy实现爬虫等内容。
第6章 介绍了智能数据分析,主要包括数据获取、枚举算法、递推问题、模拟问题、逻辑推理问题、排序问题等内容。
第7章 介绍了机器学习,主要包括K-Means聚类算法、kNN算法、朴素贝叶斯算法、广义线性模型、决策树算法、随机森林、支持向量机等内容。
第8章 介绍了智能模型分析,主要包括数据表达、数据升维、模型评估、优化模型参数、可信度评估等内容。
第9章 介绍了人工智能的应用,主要包括机器翻译、机器语音识别、利用OpenCV实现人脸识别、GAN风格迁移、利用OpenCV实现风格迁移、聊天机器人等内容。
本书适合Python初学者,以及利用Python进行人工智能开发的读者。
本书由佛山科学技术学院李晓东编著,由于时间仓促,加之作者水平有限,书中错误和疏漏之处在所难免,恳请各领域专家和广大读者批评指正。
编著者