本系列图书将向读者介绍人工智能领域的各种热门主题。由于人工智能是一个庞大而繁杂的领域,并且其涵盖的内容与日俱增,任何一本书都只可能专注于特定领域,因此本书也无意成为一本巨细靡遗的人工智能教程。

本系列图书以一种数学上易于理解的方式讲授人工智能相关概念,这也是本系列图书英文书名中“for Human”的含义。此外:

  • 本系列图书假定读者精通至少一门编程语言;
  • 本系列图书假定读者对大学代数课程有基本的了解;
  • 本系列图书将使用微积分、线性代数、微分方程与统计学中的相关概念和公式;
  • 但是在解释上述第3点的相关内容时,本系列图书并不会假定读者对上述内容十分熟练;
  • 所有概念都不仅有数学公式,还附有编程实例和伪代码。

本系列图书的目标读者是精通至少一门编程语言的程序员,且书中示例均已改写为多种编程语言的形式。

前两卷已经由人民邮电出版社异步社区出版,还有一卷预计明年第一季度可以与大家见面。

卷1:《人工智能算法 卷1 基础算法》

第1章“AI入门”,介绍了本书或系列图书其他各卷中会用到的部分人工智能相关的基本概念。大多数人工智能算法是接受一个输入数组,从而产生一个输出数组——人工智能所能解决的问题通常被归为此类模型。而在算法模型内部,还需要有额外的数组来存储长短期记忆。算法的训练实际上就是通过调整长期记忆的值来产生对应于给定输入的预期输出的一个过程。

第2章“数据归一化”,描述了大多数人工智能算法对原始数据的预处理流程。数据需要以一个输入数组的形式传递给算法,但实践中获取到的数据并不一定都是数值型的,也有一些是类别信息,比如颜色、形状、性别、物种抑或其他一些非数值型的描述性特征。此外,就算是现成的数值型数据,也必须在一定范围内归一化,并且通常是归一化到 (-1, 1) 区间。

第3章“距离度量”,展示了我们比较数据的方法,说起来这种比较方法其实跟在地图上标识出两点间的距离十分相像。人工智能通常以数值数组的形式处理数据,包括输入数据、输出数据、长期记忆、短期记忆和其他很多数据都是如此,这些数组很多时候也被称作“向量”。我们可以像计算两点间距离一样,计算出两个数据之间的差异(二维和三维的点可以分别看作长度为二和三的向量)。当然,在人工智能领域,我们经常要处理的是更高维空间中的数据。

第4章“随机数生成”,讲解了人工智能算法中随机数的生成和使用。本章由关于均匀随机数和正态随机数的讨论切入——出现这种不同的根源在于有的时候算法要求随机数具有等可能性,而有的时候又需要它们服从某种既定的分布。此外本章还讨论了生成随机数的方法。

第5章“K均值聚类算法”,详述了将数据按相似度分类的方法。K均值算法本身可以用来将数据按共性分组,同时也可以被用于组成更复杂的算法——比如遗传算法就利用K均值算法对种群按特征归类,各路网商也利用聚类算法划分顾客,依照同类型顾客的消费习惯调整销售策略。

第6章“误差计算”,演示了评估人工智能算法效果的方法。误差计算的过程由一个用以评估算法最终效果的评分函数执行,其结果决定了算法的效果。一类常用的评分函数只需要给定输入向量和预期输出向量,也就是所谓的“训练数据”,算法的效果则是由实际输出与预期输出间的差异决定的。

第7章“迈向机器学习”,概述了可以从数据中学习特征来优化结果的简单机器学习算法。大多数人工智能算法是用权值向量将输入向量转化为期望的输出向量,这些权值向量构成了算法的长期记忆,“训练”就是一个调整长期记忆以产生预期输出的过程。本章会演示几个具有学习能力的简单模型的构建方法,也会介绍一些简单但却行之有效的训练算法,能够调整这种长期记忆(权重向量)并优化输出结果,简单随机漫步和爬山算法正是其中之二。

第8章“优化训练”,在前面章节的基础上进行了一定的拓展,介绍了像模拟退火算法和Nelder-Mead法[2]这样用来快速优化人工智能模型权重的算法。本章还说明了如何通过一定的调整,将这些优化算法应用于之前提到过的部分模型。

第9章“离散优化”,解释了如何优化非数值型的类别型数据。并非所有优化问题都是数值型的,还有离散型和类别型问题,比如背包问题和旅行商问题。本章将说明模拟退火算法可以用于处理这两个问题,并且该算法既适用于连续的数值型问题,也适用于离散的类别型问题。

第10章“线性回归”,讲解了如何用线性和非线性方程来学习趋势并做出预测。本章将介绍简单线性回归,并演示如何用它来拟合数据为线性模型。此外还将介绍可以拟合非线性数据的广义线性模型(General Linear Model,GLM)。

卷2:《人工智能算法 卷1 基础算法》

第1章 “种群、计分和选择”引入本书其余部分将要使用的概念。受大自然启发 的算法通过形成解的种群来解决问题。评分允许算法评估种群成员的有效性。

第2章 “交叉和突变”介绍几种交叉和突变的方法,种群成员可以为下一代创建潜在的更好的解。交叉允许两个或多个潜在解结合其特征,产生下一代的解。突变让个体可以为下一代创建其自奂的稍有变化的版本。

第3章 “遗传算法”将第1章和第2章的思想组合成一个具体的算法。遗传算法通过演化来优化定长数组,以提供更好的结果。本章将展示如何使用定长数组找到旅行商问题的解决方案,以及如何使用花朵的测量值来预测鸢尾花种类。

第4章 “遗传编程”展示了演化算法的解数组不一定总是固定长度的。实际上,利用这些想法,可以将计算机程序表示为树,这些树可以演化并生成其他程序,以更好地执行其预期任务。

第5章“ 物种形成”讨论如何将种群划分为一个物种。就像交叉是通过种群中两个个体的组合来创造后代一样,物种形成也通过相似解决方案的交配而产生后代。程序员从大自然中借用了这个概念,只有同一物种的生物才可以配对并繁殖。

第6章“ 粒子群优化”使用粒子组搜索最优解。计算机软件中的这种分组本能是根据自然建模的。“牛群”“昆虫群”“鸟群”和“鱼群”等例子表明,有机体自然倾向成群出行,将成群出行作为对付捕食者的最佳解决方案。

第7章 “ 蚁群优化”讨论蚂蚁的信息素追踪如何为计算机程序员提供灵感。随着越来越多的蚂蚁跟随其同伴留下的化学物质前进,足迹变得越来越强。计算机程序可以采用类似的技术来找到最优解。

第8章“ 细胞自动机”利用简单的规则来产生非常复杂的结果和模式。创建有趣的细胞自动机的关键,是找到一些可以利用基于遗传算法进行演化的简单规则。

第9章“ 人工生命”旨在反映出真实生命的特征,其中包含本书的一个重点项目。本章将创建一个模拟植物生长的程序。为了帮助读者查看进度,本章将该程序划分为3个里程碑,并提供代码。

第10章 "建模"讨论数据科学如何使用受大算然启发的算法。本章还包含了本书的第二个重点项目。本书将利用自Kaggle教程竞赛之一的数据集,向读者展示如何创建模型来预测泰坦尼克号上的乘客是幸存还是死亡。本章也会用3个里程碑展示这个项目,以便读者验证进度。

卷3 人工智能算法(卷3):深度学习和神经网络(2021年上半年出版)

本书中,我们将演示各种现实世界任务中的神经网络,例如图像识别和数据科学。我们研究了当前的神经网络技术,包括 ReLU 激活、随机梯度下降、交叉熵、正则化,Dropout 和可视化。

有这样一套AI算法入门书,学习算法不再难相关推荐

  1. 黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难——讲义

    基础课部分讲义 核心课部分讲义 提高课部分讲义 黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难--视频链接

  2. 《算法图解》读书笔记—像小说一样有趣的算法入门书

    前言 学习算法课程的时候,老师推荐了两本算法和数据结构入门书,一本是<算法图解>.一本是<大话数据结构>,<算法图解>这本书最近读完了,读完的最大感受就是对算法不再 ...

  3. 递归算法 流程图_什么是算法?如何学习算法?算法入门的学习路径

    什么是算法? 有一个很著名的公式 "程序=数据结构+算法". 曾经跟朋友吃饭的时候我问他什么是算法,他说算法嘛,就是一套方法,需要的时候拿过来,套用就可以,我吐槽他,他说的是小学数 ...

  4. ML之回归预测:利用Lasso、ElasticNet、GBDT等算法构建集成学习算法AvgModelsR对国内某平台上海2020年6月份房价数据集【12+1】进行回归预测(模型评估、模型推理)

    ML之回归预测:利用Lasso.ElasticNet.GBDT等算法构建集成学习算法AvgModelsR对国内某平台上海2020年6月份房价数据集[12+1]进行回归预测(模型评估.模型推理) 目录 ...

  5. [CS229学习笔记] 5.判别学习算法与生成学习算法,高斯判别分析,朴素贝叶斯,垃圾邮件分类,拉普拉斯平滑

    本文对应的是吴恩达老师的CS229机器学习的第五课.这节课介绍了判别学习算法和生成学习算法,并给出了生成学习算法的一个实例:利用朴素贝叶斯进行垃圾邮件分类. 判别学习(Discriminative L ...

  6. 强化学习 补充笔记(TD算法、Q学习算法、SARSA算法、多步TD目标、经验回放、高估问题、对决网络、噪声网络)

    学习目标: 深入了解马尔科夫决策过程(MDP),包含TD算法.Q学习算法.SARSA算法.多步TD目标.经验回放.高估问题.对决网络.噪声网络.基础部分见:强化学习 马尔科夫决策过程(价值迭代.策略迭 ...

  7. 【图书阅读】《Aditya Bhargava-算法图解:像小说一样有趣的算法入门书》

    这本书主要讲述了算法基础,包括二分查找.大O表示法.两种基本的数据结构等,后续也面对具体问题时的技巧,例如贪婪算法或动态规划:散列表的应用:图算法:K最近邻算法.该篇博文主要记录阅读完的一些重点回顾! ...

  8. 《算法图解-像小说一样有趣的算法入门书》最全读书笔记--Binrry(冰蕊)

    点击关注,期待Binrry(冰蕊)带给你更多更全的读书笔记-- 可点击下面链接下载本书具体代码执行辅助学习噢: https://download.csdn.net/download/qq_408598 ...

  9. 神经网络算法入门实例,神经网络算法入门书籍

    想要学习人工神经网络,需要什么样的基础知识? 人工神经网络理论百度网盘下载:链接:   提取码:rxlc简介:本书是人工神经网络理论的入门书籍.全书共分十章. 第一章主要阐述人工神经网络理论的产生及发 ...

最新文章

  1. python DataFrame的合并方法总结
  2. new和make的区别
  3. 【ArcGIS风暴】ArcGIS影像批量裁剪(分幅)方法总结
  4. 解决Ubuntu vim 中文乱码
  5. 设计干货栅格系统素材 | UI设计师应用好帮手
  6. 简介NoSqlOnSql在SQL上实现NOSQL
  7. UIRefreshControl
  8. ASTER文字识别详解
  9. 获取Linux内核未导出符号的几种方式
  10. ORB-SLAM2双目开源框架 (2) Tracking解析
  11. 6.SOA架构:服务和微服务分析及设计--- Web服务的服务API与契约设计
  12. 小说全自动采集详细过程-支持各大开源小说CMS采集
  13. 网站标签页如何添加左边的小图标
  14. Verilog的结构化、数据流、行为级描述方式
  15. 王道计算机组成原理课代表 - 考研计算机 第六章 总线 究极精华总结笔记
  16. Delphi ActionList详解
  17. 局域网下,一台电脑通过另一台电脑上网
  18. Redis教程(一) Redis入门教程
  19. 网盘江湖混战难打 百度为何坚持加码?
  20. [2018-01-12] laravel--路由(路由与控制器)

热门文章

  1. 一次协作多端同步,打通看云、github互相同步(serverless实践)
  2. React Native小计
  3. 从已投的39个区块链项目,解密丹华资本的投资偏好与布局
  4. Phoenix实践 —— Phoenix SQL常用基本语法总结小记
  5. 细讲C语言结构体(结构体内存对齐你懂了吗?)
  6. python应用第三方库pyecharts画折线图
  7. Markdown数学符号使用
  8. 爬虫之豆瓣的自动登陆
  9. C、C++中union用法总结
  10. Windows环境使用bat脚本启动Redis服务