程序员的AI书:从代码开始
  • 推荐2
  • 收藏9
  • 浏览3.4K

程序员的AI书:从代码开始

张力柯 , 潘晖 (作者) 

  • 书  号:978-7-121-38270-3
  • 出版日期:2020-03-01
  • 页  数:320
  • 开  本:16(185*235)
  • 出版状态:正在印刷
  • 维护人:张国霞
电子书 ¥76.30
即将上市销售
纸质版 ¥109.00
随着AI技术的普及,如何快速理解、掌握并应用AI技术,成为绝大多数程序员亟需解决的问题。本书基于Keras框架并以代码实现为核心,详细解答程序员学习AI算法时的常见问题,对机器学习、深度神经网络等概念在实际项目中的应用建立清晰的逻辑体系。

本书分为上下两篇,上篇(第1~4章)可帮助读者理解并独立开发较简单的机器学习应用,下篇(第5~9章)则聚焦于AI技术的三大热点领域:推荐系统、自然语言处理(NLP)及图像处理。其中,第1章通过具体实例对Keras的机器学习实现进行快速介绍并给出整体概念;第2章从简单的神经元开始,以实际问题和代码实现为引导,逐步过渡到多层神经网络的具体实现上,从代码层面讲解神经网络的工作模式;第3章讲解Keras的核心概念和使用方法,帮助读者快速入门Keras;第4章讲解机器学习中的常见概念、定义及算法;第5章介绍推荐系统的常见方案,包括协同过滤的不同实现及Wide&Deep模型等;第6章讲解循环神经网络(RNN)的原理及Seq2Seq、Attention等技术在自然语言处理中的应用;第7~8章针对图像处理的分类及目标识别进行深度讨论,从代码层面分析Faster RCNN及YOLO v3这两种典型识别算法;第9章针对AI模型的工程部署问题,引入TensorFlow Serving并进行介绍。

本书主要面向希望学习AI开发或者转型算法的程序员,也可以作为Keras教材,帮助读者学习Keras在不同领域的具体应用。
以代码实现为重,撇去数学公式,快速掌握并应用AI,Pinterest、Google、Broadcom、Walmart、华为、微软“重”咖力赞
张力柯
腾讯某AI实验室负责人、AI系统设计专家。在操作系统内核、网络安全、搜索引擎、推荐系统、大规模分布式系统、图像处理、数据分析等领域具有丰富的实践经验。
于美国德克萨斯大学圣安东尼奥分校获得计算机科学博士学位,曾先后在美国微软、BCG、Uber及硅谷其他创业公司担任研发工程师及项目负责人等。


 潘 晖
阿里巴巴某算法中心小组负责人。在推荐系统、自然语言处理、图像处理、数据分析等领域具有丰富的实践经验。
于美国佛罗里达理工大学获得计算机科学博士学位,曾先后在中国微软、美团、腾讯从事算法研发和管理工作。发表过多篇论文,拥有多项专利,曾获得2018年腾讯互动娱乐事业群技术突破奖等奖项。

目录

上篇
第1章 机器学习的HELLO WORLD 2
1.1 机器学习简介 2
1.2 机器学习应用的核心开发流程 3
1.3 从代码开始 6
1.3.1 搭建环境 6
1.3.2 一段简单的代码 7
1.4 本章小结 9
1.5 本章参考文献 9

第2章 手工实现神经网络 10
2.1 感知器 10
2.1.1 从神经元到感知器 10
2.1.2 实现简单的感知器 12
2.2 线性回归、梯度下降及实现 15
2.2.1 分类的原理 15
2.2.2 损失函数与梯度下降 16
2.2.3 神经元的线性回归实现 18
2.3 随机梯度下降及实现 21
2.4 单层神经网络的Python实现 23
2.4.1 从神经元到神经网络 23
2.4.2 单层神经网络:初始化 25
2.4.3 单层神经网络:核心概念 27
2.4.4 单层神经网络:前向传播 28
2.4.5 单层神经网络:反向传播 29
2.4.6 网络训练及调整 34
2.5 本章小结 38
2.6 本章参考文献 38

第3章 上手KERAS 39
3.1 Keras简介 39
3.2 Keras开发入门 40
3.2.1 构建模型 40
3.2.2 训练与测试 42
3.3 Keras的概念说明 44
3.3.1 Model 44
3.3.2 Layer 48
3.3.3 Loss 65
3.4 再次代码实战 70
3.4.1 XOR运算 70
3.4.2 房屋价格预测 73
3.5 本章小结 75
3.6 本章参考文献 76

第4章 预测与分类:简单的机器学习应用 77
4.1 机器学习框架之sklearn简介 77
4.1.1 安装sklearn 78
4.1.2 sklearn中的常用模块 78
4.1.3 对算法和模型的选择 79
4.1.4 对数据集的划分 80
4.2 初识分类算法 80
4.2.1 分类算法的性能度量指标 81
4.2.2 朴素贝叶斯分类及案例实现 86
4.3 决策树 90
4.3.1 算法介绍 90
4.3.2 决策树的原理 91
4.3.3 实例演练 96
4.3.4 决策树优化 99
4.4 线性回归 101
4.4.1 算法介绍 101
4.4.2 实例演练 101
4.5 逻辑回归 102
4.5.1 算法介绍 102
4.5.2 多分类问题与实例演练 107
4.6 神经网络 108
4.6.1 神经网络的历史 108
4.6.2 实例演练 114
4.6.3 深度学习中的一些算法细节 117
4.7 本章小结 120
4.8 本章参考文献 120

下篇
第5章 推荐系统基础 122
5.1 推荐系统简介 122
5.2 相似度计算 124
5.3 协同过滤 125
5.3.1 基于用户的协同过滤 126
5.3.2 基于物品的协同过滤 128
5.3.3 算法实现与案例演练 129
5.4 LR模型在推荐场景下的应用 131
5.5 多模型融合推荐模型:Wide&Deep模型 135
5.5.1 探索-利用困境的问题 135
5.5.2 Wide&Deep模型 137
5.5.3 交叉特征 137
5.6 本章小结 145
5.7 本章参考文献 145

第6章 项目实战:聊天机器人 146
6.1 聊天机器人的发展历史 146
6.2 循环神经网络 148
6.2.1 Slot Filling 148
6.2.2 NLP中的单词处理 150
6.2.3 循环神经网络简介 153
6.2.4 LSTM网络简介 154
6.3 Seq2Seq原理介绍及实现 157
6.3.1 Seq2Seq原理介绍 157
6.3.2 用Keras实现Seq2Seq算法 158
6.4 Attention 173
6.4.1 Seq2Seq的问题 174
6.4.2 Attention的工作原理 175
6.4.3 Attention在Keras中的实现 178
6.4.4 Attention示例 180
6.5 本章小结 185
6.6 本章参考文献 185

第7章 图像分类实战 187
7.1 图像分类与卷积神经网络 187
7.1.1 卷积神经网络的历史 187
7.1.2 图像分类的3个问题 188
7.2 卷积神经网络的工作原理 190
7.2.1 卷积运算 191
7.2.2 传统图像处理中的卷积运算 193
7.2.3 Pooling 195
7.2.4 为什么卷积神经网络能达到较好的效果 197
7.3 案例实战:交通图标分类 200
7.3.1 交通图标数据集 200
7.3.2 卷积神经网络的Keras实现 202
7.4 优化策略 209
7.4.1 数据增强 210
7.4.2 ResNet 214
7.5 本章小结 216
7.6 本章参考文献 217

第8章 目标识别 218
8.1 CNN的演化 218
8.1.1 CNN和滑动窗口 218
8.1.2 RCNN 220
8.1.3 从Fast RCNN到Faster RCNN 223
8.1.4 Faster RCNN核心代码解析 228
8.2 YOLO 242
8.2.1 YOLO v1 242
8.2.2 YOLO v2 248
8.2.3 YOLO v3 251
8.3 YOLO v3的具体实现 253
8.3.1 数据预处理 253
8.3.2 模型训练 260
8.4 本章小结 293
8.5 本章参考文献 294

第9章 模型部署与服务 296
9.1 生产环境中的模型服务 296
9.2 TensorFlow Serving的应用 299
9.2.1 转换Keras模型 299
9.2.2 TensorFlow Serving部署 302
9.2.3 接口验证 303
9.3 本章小结 307
9.4 本章参考文献 308

读者评论

  • 第五章的 wide&deep的 数据集 是从哪里下载的能说明下吗?作者这里没提。。

    zhuxiaojun发表于 2021/7/24 13:28:25
  • 就不能正常把代码整理好吗,四章那些代码根本们没有,有这样出书的吗,瞎玩吗?真的无语

    okokoo发表于 2021/6/14 15:53:44
  • 第8章268页提到的backend.h5权重文件在哪里下载?

    luochengqiang发表于 2020/9/14 11:37:37
    • 同求

      时光发表于 2020/10/31 14:41:58
    • @时光
       链接:https://pan.baidu.com/s/1sfE49sE-AQigc_q3BQ6mVw 提取码:4i8q

      张国霞发表于 2021/2/3 9:46:10
    • @时光 链接:https://pan.baidu.com/s/1sfE49sE-AQigc_q3BQ6mVw 提取码:4i8q

      张国霞发表于 2021/2/3 9:46:21
  • 读者注意,图5-3,P127上面的余弦距离有误,应该是d(A,B)=0.6557, d(A,C)=1。

    张国霞发表于 2020/7/2 17:00:07
  • 第三章预测XOR函数值的代码不能正确预测XOR函数的值
    该书上的实现:
    X = np.array([[0,0],[0,1],[1,0],[1,1]])
    y = np.array([[0],[1],[1],[0]])

    model = Sequential()
    model.add(Dense(4, input_dim=2))
    model.add(Activation(‘sigmoid’))
    model.add(Dense(1))
    model.add(Activation(‘sigmoid’))

    model.compile(loss=’mean_squared_error’, optimizer=’adam’)

    model.fit(X, y, batch_size=1, epochs=1000)
    print(model.predict(X))

    实际运行结果:
    [[0.47561672]
    [0.49612853]
    [0.5105322 ]
    [0.51711607]]

    可见,所有的预测值都在0.5附近,即0或1的概率差不多。
    将第一层的激活函数改为’relu’之后就好多了。

    修改后代码:
    ……
    model = Sequential()
    model.add(Dense(16, input_dim=2))
    model.add(Activation(‘relu’))
    model.add(Dense(1))
    model.add(Activation(‘sigmoid’))
    ……
    修改后运行结果:
    [[0.23051465]
    [0.5647131 ]
    [0.9429324 ]
    [0.06692418]]

    liqingxu2005发表于 2020/5/21 11:15:07
    • 在我这边的环境下运行结果正常:
      [[0.00151126]
      [0.9987538 ]
      [0.98922616]
      [0.01612899]]

      我这边运行环境是tf1.15.2,python3。这也体现了不同环境下的结果差异,因此机器学习往往要做线上线下一致性检查。

      张国霞发表于 2020/7/2 16:51:36
    • epoch 太少,10000就好了

      softguy发表于 2023/2/3 5:19:34

电子书版本

  • Epub

相关博文

  • Get不到AI的点?一定要看《程序员的AI书:从代码开始》!

    Get不到AI的点?一定要看《程序员的AI书:从代码开始》!

    陈晓猛 2020-03-30

    机器学习火起来也有几年了, 当老姑大伯们渐渐把AI和程序员画上等号时,我大腿一拍大事不妙!生怕疫情后的家庭聚会上,让我表演才艺:做个什么狗陪他们下棋、做个什么精灵跟他们唠嗑…… 程序员群体很广的!我们也不是什么都懂,更何况我还...

    陈晓猛 2020-03-30
    660 0 0 1

推荐用户

相关图书

聊天机器人:对话式体验产品设计

Amir Shevat (作者) 淘宝(中国)软件有限公司 (译者)

从亚马逊的Alexa语音助手到苹果的Siri,从Slack的聊天机器人到短信和电子邮件机器人,我们越来越依赖于软件驱动的聊天应用。在这本实用指南中,作者Amir...

¥65.00

解析深度学习:卷积神经网络原理与视觉实践

魏秀参 (作者)

深度学习,特别是深度卷积神经网络是人工智能的重要分支领域,卷积神经 网络技术也被广泛应用于各种现实场景,在许多问题上都取得了超越人类智能的 结果。本书作为该...

¥49.00

强化学习实战:强化学习在阿里的技术演进和业务创新

笪庆 曾安祥 (作者)

近年来,随着与深度神经网络的结合,强化学习在以Atari2600和围棋为代表的游戏领域取得了突破性的进展。与学术界关注的方向不同,在阿里巴巴,我们则将重点放在推...

 

自然语言处理理论与实战

白宁超 (作者)

自然语言处理是什么?谁需要学习自然语言处理?自然语言处理在哪些地方应用?相关问题一直困扰<br>着不少初学者。针对这一情况,作者结合教学经验和工程应用编写此书。...

¥79.00

深度学习之PyTorch实战计算机视觉

唐进民 (作者)

计算机视觉、自然语言处理和语音识别是目前深度学习领域很热门的三大应用方向,本书旨在帮助零基础或基础较为薄弱的读者入门深度学习,达到能够独立使用深度学习知识处理计...

¥49.00

21个项目玩转深度学习——基于TensorFlow的实践详解

何之源 (作者)

《21个项目玩转深度学习——基于TensorFlow的实践详解》以实践为导向,深入介绍了深度学习技术和TensorFlow框架编程内容。 通过本书,读者可以训...

¥59.00