前 言
《人工智能算法图解》一书主要面向希望掌握智能技术的初学者。通过使用类比法、比较法和图例解释,结合真实世界中的案例分析,我们希望《人工智能算法图解》能使人工智能算法更易于理解和实现,并希望在此基础上帮助读者掌握利用智能技术解决实际问题的途径和方法。
《人工智能算法图解》受众
《人工智能算法图解》是为软件开发人员(或软件相关行业从业人员)设计的,期望通过实际的例子来揭示人工智能背后的概念和算法,以可视化的方式帮助读者理解人工智能教材中那些常见的深奥理论与数学证明。
《人工智能算法图解》的目标读者是那些对计算机编程基础概念(包括变量、数据类型、数组、条件语句、迭代器、类和函数)有所了解的人,不要担心,你只需要掌握任意一门编程语言就足够了;与此同时,你只需要了解下面这几个基本的数学概念:变量、函数以及在图表上绘制变量和函数的方法。
《人工智能算法图解》的组织结构
《人工智能算法图解》包含10章,每一章侧重于不同的人工智能算法或实践方法。书中所涉及的概念由浅入深,前面章节的基本算法和概念将会为后面更复杂的算法奠定基础,以便读者循序渐进地学习。
第1章——人工智能初印象。该章介绍关于人工智能的基本概念,包括数据含义、问题类型、算法分类以及人工智能技术的典型应用。
第2章——搜索算法基础。该章介绍初级搜索算法涉及的数据结构、核心理念、实现方法以及典型应用。
第3章——智能搜索。该章在初级搜索算法的基础上更进一步,引入能寻找更优解决方案的方法——包括如何在竞争环境中寻找解决方案。
第4章——进化算法。该章深入讲解遗传算法的工作原理。通过模仿自然界中的进化过程,算法能反复生成并改进问题的解决方案。
第5章——进化算法(高级篇)。作为上一章的延续,该章深入讨论调整遗传算法中的步骤与参数的方法,以产生更理想的解或解决不同类型的问题。
第6章——群体智能:蚁群优化。该章旨在帮助读者掌握群体智能算法的基本概念,以蚂蚁的生活与工作方式为例,描述蚁群优化算法是如何解决实际难题的。
第7章——群体智能:粒子群优化。该章继续讲解群体智能算法,深入讨论优化问题的本质,并帮助读者掌握使用粒子群优化算法来解决优化问题的方式、方法——群体智能算法常常能在巨大的搜索空间中找到足够理想的解决方案。
第8章——机器学习。结合数据的准备、处理、建模和测试这一常见的机器学习工作流程,讲解如何解决线性回归问题和决策树分类问题。
第9章——人工神经网络。该章揭示训练并使用人工神经网络在数据中寻找模式和进行预测的基本原理、逻辑步骤和计算方法,强调人工神经网络在当代机器学习领域中的地位。
第10章——基于Q-learning的强化学习。该章结合行为心理学讲解强化学习算法的设计思路,并以Q-learning 算法为例,阐明智能体是如何学习在环境中作出决策的。
原则上,建议读者从头到尾依次阅读《人工智能算法图解》的各个章节,并随着阅读进度逐步建立起对书中所述概念的理解。在读完每一章之后,不妨尝试根据书中所给出的伪代码实现并运行算法,以在实践中更好地理解算法原理。
关于代码
《人工智能算法图解》以伪代码的形式给出算法的参考实现——这种方法更加专注于算法背后的原理和逻辑思维。无论你偏好何种编程语言,我们都可确保你理解算法的设计思路。伪代码是非正式的代码实现,它更易于理解,或者说更符合人类的阅读习惯。
话虽如此,对于书中描述的所有算法,你可在Github上获得能直接运行的Python代码示例。源代码中也有安装说明供你参考。在读完每一章之后,不妨尝试运行《人工智能算法图解》给出的代码,来巩固对算法的理解。
需要说明的是,书中给出的Python代码旨在讲解算法实现,因此仅供参考——这些代码是针对学习而非生产用途而设计的。在《人工智能算法图解》中,我们以教学为宗旨,尝试自行编写代码(而非简单调用现存机器学习库)来帮助读者更好地理解算法的实现。对于真正以生产为目的的项目,建议使用业界成熟的库和框架,因为它们通常已经针对性能进行了一系列优化,经过了大量实践检验,并且具备丰富的社区支持。
