第一本Python神经网络编程译著图书终于来啦

简介: 是的,第一本Python神经网络编程译著图书终于来啦,它就是《Python神经网络编程》,基于Pyhthon3.5,书中使用的软件工具都是免费开源的,无需支付任何费用、也不需要一台昂贵的计算机便可以制作自己的神经网络。

点击关注 异步图书,置顶公众号

每天与你分享 IT好书 技术干货 职场知识

9ccc0ca9gy1fqej4szxs7j209o08xgm1.jpg

​参与文末话题讨论,每日赠送异步图书

——异步小编

是的,第一本Python神经网络编程译著图书终于来啦,它就是《Python神经网络编程》,基于Pyhthon3.5,书中使用的软件工具都是免费开源的,无需支付任何费用、也不需要一台昂贵的计算机便可以制作自己的神经网络这本书小编第一次见到是在3个月前的重点品答辩会,毫无疑问,高分通过。这本书在美亚的机器学习类别排名仅次于AI圣经《深度学习》,读者评论“一本很好的机器学习入门读物”“对神经网络的绝佳解读”。

神经网络是人工智能技术和深度学习都无法回避的一个主题。

把复杂的主题讲得清晰易懂,让初学者能够加深对技术的理解,这方面的佳作非常欠缺。《Python神经网络编程》一书恰恰满足了这两方面,将复杂的主题讲得清晰易懂,用一个简易的Python神经网络编程示例将话题讲清楚。

 神经网络是什么?有什么用?

  • 神经网络是一种模拟人脑的神经网络以期能够实现类人工智能的机器学习技术。
  • 神经网络是一门重要的机器学习技术,是目前最为火热的研究方向——深度学习的基础。
  • 学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术。

这本书讲什么?

本书的主要目的是向尽可能多的人,揭示神经网络背后的概念。主要有3个部分:

  • 第一部分,一览在简单的神经网络中所用的数学思想;
  • 第二部分,学习Python,并了解如何使用Python3.5实现自己的神经网络,识别手写数字,并测试神经网络的性能。;
  • 第三部分,进一步了解简单的神经网络模型,观察已受训练的神经网络内部,尝试进一步改善神经网络的性能,并加深对相关知识的理解。。

本书适合想要从事神经网络研究和探索的读者学习参考,也适合对人工智能、机器学习和深度学习等相关领域感兴趣的读者阅读。

多数人的误区

多年来,普通人对人工智能有一个误区,即人工智能只不过是用更高级、更复杂的数学指令,告诉计算机怎么做,怎样模拟人类行为,让计算机“佯装”理解人类的感情。但是,本书的作者告诉我们,其实,授“计算机”以鱼不如授“计算机”以渔。无需太高深的数学思想,我们仅凭高中数学,就可以打造出一个专家级别的“神经网络”。这并非夸大其辞,危言耸听,而是真真切切、实实在在的事实。

现在,各大报纸、网站、各式各样的自媒体,都在宣称一种观点,就是告诫青少年好好学习,否则将来不好找工作。我以为,这种观点还太乐观了,这误导了读者,认为只要现在努力学习,就可以顺利“逆袭”。如果用有点烧脑、学究式的语言来描述这个问题,一言以蔽之,那就是“人工智能时代存在一个人类价值体现方式变革的问题”。换句话说,如果我们依旧指望课本里的那些知识求生存,不求创新,不求探索,那么对知识掌握得再好,也只是拾人牙慧,只能湮没于滚滚的历史车轮之下。如果你想知道,我为何有如此感叹,请仔细阅读本书。只要你有一点中学的数学基础,看得懂中文,而对计算又有那么一点兴趣,你就可以读懂本书。逻辑的基础其实很简单。

目录

第 1 章 神经网络如何工作001

1.1 尺有所短,寸有所长 001

1.2 一台简单的预测机 003

1.3 分类器与预测器并无太大差别008

1.4 训练简单的分类器 011

1.5 有时候一个分类器不足以求解问题 020

1.6 神经元——大自然的计算机器 024

1.7 在神经网络中追踪信号 033

1.8 凭心而论,矩阵乘法大有用途 037

1.9 使用矩阵乘法的三层神经网络示例 043

1.10 学习来自多个节点的权重 051

1.11 多个输出节点反向传播误差053

1.12 反向传播误差到更多层中 054

1.13 使用矩阵乘法进行反向传播误差 058

1.14 我们实际上如何更新权重 061

1.15 权重更新成功范例 077

1.16 准备数据 078


第 2 章 使用Python进行DIY 083

2.1 Python 083

2.2 交互式Python = IPython 084

2.3 优雅地开始使用Python 085

2.4 使用Python制作神经网络 105

2.5 手写数字的数据集MNIST 121


第 3 章 趣味盎然 153

3.1 自己的手写数字 153

3.2 神经网络大脑内部 156

3.3 创建新的训练数据:旋转图像 160

3.4 结语 164


附录A 微积分简介 165

A.1 一条平直的线 166

A.2 一条斜线 168

A.3 一条曲线 170

A.4 手绘微积分 172

A.5 非手绘微积分 174

A.6 无需绘制图表的微积分 177

A.7 模式 180

A.8 函数的函数 182


附录B 使用树莓派来工作 186

B.1 安装IPython 187

B.2 确保各项工作正常进行 193

B.3 训练和测试神经网络 194

B.4 树莓派成功了 195

用Python神经网络来识别人类的手写字符

千百年来,人类试图了解智能的机制,并将它复制到思维机器上。而从不满足于让机械或电子设备帮助做一些简单的任务,例如,使用燧石打火,使用滑轮吊起沉重的岩石,使用计算器做算术。

相反,我们希望能够自动化执行更具有挑战性、相对复杂的任务,如对相似的照片进行分组、从健康细胞中识别出病变细胞,甚至是来一盘优雅的国际象棋博弈。这些任务似乎需要人类的智能才能完成,或至少需要人类思维中的某种更深层次、更神秘的能力来完成,而在诸如计算器这样简单的机器中是找不到这种能力的。

具有类似人类智能的机器是一个如此诱人且强大的想法,我们的文化对它充满了幻想和恐惧,如斯坦利·库布里克导演的《2001: A Space Odyssey》中的HAL 9000(拥有巨大的能力却最终给人类带来了威胁)、动作片中疯狂的“终结者(Terminator)”机器人以及电视剧《Knight Rider》中具有冷静个性的话匣子KITT汽车。

1997年,国际象棋卫冕世界冠军、国际象棋特级大师加里·卡斯帕罗夫被IBM“深蓝”计算机击败,我们在庆祝这一历史性成就的同时,也担心机器智能的潜力。

我们如此渴望智能机器,以至于一些人受到了诱惑,使用欺骗手段,例如,臭名昭著的国际象棋机器Turkey仅仅是使用一个人隐藏在机柜内而已!

9ccc0ca9gy1fqej5hu093j209o08xgm1.jpg

​​在20世纪50年代,人工智能这门学科正式成立,此时,人类雄心勃勃,对人工智能抱着非常乐观的态度。最初的成功,让人们看到了计算机可以进行简单的博弈、证明定理,因此,一些人相信,在十年左右的时间内,人类级别的人工智能将会出现。

但是,实践证明:发展人工智能困难重重,进展一度停滞不前。20世纪70年代,人们在学术界挑战人工智能的雄心遭到了毁灭性的打击。接下来,人们削减了人工智能研究经费,对人工智能的兴趣消失殆尽。机器那冰冷的逻辑,绝对的1和0,看起来似乎永远不能够实现细致入微的、有机的,有时甚至模糊的生物大脑思维过程。

在一段时间内,人类未能独具匠心,百尺竿头,更进一步,将机器智能探索带出其既定轨迹。在此之后,研究人员灵光一现,尝试通过复制生物大脑工作的机制,来构建人工大脑?真正的大脑具有神经元,而不是逻辑门。真正人脑具有更优雅更有机的推理,而不是冰冷的、非黑即白的、绝对的传统算法。

蜜蜂或鸽子大脑的简单性与其能够执行复杂任务的巨大反差,这一点启发了科学家。就是这零点几克的大脑,看起来就能够做许多事情,如导航、适应风向、识别食物和捕食者、快速地决定是战斗还是逃跑。当今的计算机拥有大量的廉价资源,能够模仿和改进这些大脑吗?一只蜜蜂大约有950 000个神经元,今天的计算机,具有G比特和T比特的资源,能够表现得比蜜蜂更优秀吗?

但是,如果使用传统的方法来求解问题,那么即使计算机拥有巨大的存储和超快的处理器,也无法实现鸟和蜜蜂使用相对微小的大脑所做的事情。受到仿生智能计算的驱动,神经网络(Netural Network)出现了,并且神经网络从此成为在人工智能领域中最强大、最有用的方法之一。

今天,谷歌的Deepmind以神经网络为基础,能够做一些非常奇妙的事情,如让计算机学习如何玩视频游戏,并且在人类历史上第一次在极其变化多端的围棋博弈中击败了世界级的大师。如今,神经网络已经成为了日常技术的核心,例如自动车牌号码识别、解码手写的邮政编码。​

9ccc0ca9gy1fqej3tv964j20jd08374s.jpg

​《Python神经网络编程》所探讨的就是神经网络,让你了解神经网络如何工作,帮你制作出自己的神经网络,训练神经网络来识别人类的手写字符。如果使用传统的方法来执行这个任务,那么将是非常困难的。

9ccc0ca9gy1fqej3ndt4ij20ak0d7t9p.jpg

《Python神经网络编程》

[英] 塔里克·拉希德(Tariq Rashid)著

点击封面购买纸书


当前,深度学习和人工智能的发展和应用给人们留下了深刻的印象。神经网络是深度学习和人工智能的关键元素,然而,真正了解神经网络工作机制的人少之又少。本书用轻松的笔触,一步一步揭示了神经网络的数学思想,并介绍如何使用Python编程语言开发神经网络。本书将带领您进行一场妙趣横生却又有条不紊的旅行——从一个非常简单的想法开始,逐步理解神经网络的工作机制。您无需任何超出中学范围的数学知识,并且本书还给出易于理解的微积分简介。

本书为美亚五星畅销书,备受关注。基于Python3.5,全彩印刷,如果只选一本神经网络图书,他是首选。

本书的目标是让尽可能多的普通读者理解神经网络。读者将学习使用Python开发自己的神经网络,训练它识别手写数字,甚至可以与专业的神经网络相媲美。本书适合想要了解深度学习、人工智能和神经网络的读者阅读,尤其适合想要通过Python编程进行神经网络开发的读者参考。

9ccc0ca9gy1fqej3zwu9yj20ak0d7gmm.jpg

《文本上的算法——深入浅出自然语言处理 》

 路彦雄 著

点击封面购买纸书


微信整合搜索算法组组长路彦雄全新作品,深入浅出讲解自然语言处理和机器学习技术,微博总阅读量超30万次。

本书结合作者多年学习和从事自然语言处理相关工作的经验,力图用生动形象的方式深入浅出地介绍自然语言处理的理论、方法和技术。本书抛弃掉繁琐的证明,提取出算法的核心,本书前面章节介绍了学习机器学习需要掌握的一些数学基础,帮助读者尽快地掌握自然语言处理所必备的知识和技能。本书适合从事自然语言处理相关研究和工作的读者参考,尤其适合想要了解和掌握机器学习或者自然语言处理技术的读者阅读。


更多机器学习相关图书扫码识别直接查看

9ccc0ca9gy1fqej2co8zij20db0crq3o.jpg

今日话题

说说你对Python语言的看法?截止时间4月18日17时,留言+转发本活动到朋友圈,小编将选出3名读者赠送异步新书一本(点赞最多的直接赠送)。

延伸推荐

2018年2月新书

小学生开始学Python,最接近AI的编程语言:安利一波Python书单

一份程序员必备的经典算法书单

有了这份人工智能思维导图书单,年薪百万不是梦


9ccc0ca9gy1fq0v1kq92bj209k09ka9w.jpg

​长按二维码,可以关注我们哟

每天与你分享IT好文。


在“异步图书”后台回复“关注”,即可免费获得2000门在线视频课程;推荐朋友关注根据提示获取赠书链接,免费得异步图书一本。赶紧来参加哦!

扫一扫上方二维码,回复“关注”参与活动!

点击阅读原文,购买《Python神经网络编程》

阅读原文


相关文章
|
5天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
5天前
|
程序员 开发者 Python
Python网络编程基础(Socket编程) 错误处理和异常处理的最佳实践
【4月更文挑战第11天】在网络编程中,错误处理和异常管理不仅是为了程序的健壮性,也是为了提供清晰的用户反馈以及优雅的故障恢复。在前面的章节中,我们讨论了如何使用`try-except`语句来处理网络错误。现在,我们将深入探讨错误处理和异常处理的最佳实践。
|
9天前
|
缓存 监控 Python
解密Python中的装饰器:优雅而强大的编程利器
Python中的装饰器是一种强大而又优雅的编程工具,它能够在不改变原有代码结构的情况下,为函数或类添加新的功能和行为。本文将深入解析Python装饰器的原理、用法和实际应用,帮助读者更好地理解和利用这一技术,提升代码的可维护性和可扩展性。
|
26天前
|
编译器 测试技术 C++
【Python 基础教程 01 全面介绍】 Python编程基础全攻略:一文掌握Python语法精髓,从C/C++ 角度学习Python的差异
【Python 基础教程 01 全面介绍】 Python编程基础全攻略:一文掌握Python语法精髓,从C/C++ 角度学习Python的差异
154 0
|
1天前
|
SQL 安全 Java
Java安全编程:防范网络攻击与漏洞
【4月更文挑战第15天】本文强调了Java安全编程的重要性,包括提高系统安全性、降低维护成本和提升用户体验。针对网络攻击和漏洞,提出了防范措施:使用PreparedStatement防SQL注入,过滤和转义用户输入抵御XSS攻击,添加令牌对抗CSRF,限制文件上传类型和大小以防止恶意文件,避免原生序列化并确保数据完整性。及时更新和修复漏洞是关键。程序员应遵循安全编程规范,保障系统安全。
|
12天前
|
数据采集 网络协议 API
python中其他网络相关的模块和库简介
【4月更文挑战第4天】Python网络编程有多个流行模块和库,如requests提供简洁的HTTP客户端API,支持多种HTTP方法和自动处理复杂功能;Scrapy是高效的网络爬虫框架,适用于数据挖掘和自动化测试;aiohttp基于asyncio的异步HTTP库,用于构建高性能Web应用;Twisted是事件驱动的网络引擎,支持多种协议和异步编程;Flask和Django分别是轻量级和全栈Web框架,方便构建不同规模的Web应用。这些工具使网络编程更简单和高效。
|
18天前
|
缓存 网络协议 数据库连接
【底层服务/编程功底系列】「网络通信体系」深入探索和分析TCP协议的运输连接管理的核心原理和技术要点
【底层服务/编程功底系列】「网络通信体系」深入探索和分析TCP协议的运输连接管理的核心原理和技术要点
14 0
|
19天前
|
程序员 C语言 Python
Python列表推导式:简洁与高效的编程利器
在Python编程中,列表推导式(List Comprehension)是一种强大且优雅的工具,它允许我们以简洁的方式创建新的列表。列表推导式在Python程序员中广受欢迎,因为它能够将复杂的循环和条件语句简化为一行代码,提高代码的可读性和执行效率。
|
24天前
|
运维 安全 网络安全
Python灰帽子网络安全实践
旨在降低网络防范黑客的入门门槛,适合所有中小企业和传统企业。罗列常见的攻击手段和防范方法,让网站管理人员都具备基本的保护能力。Python 编程的简单实现,让网络运维变得更简单。各种黑客工具的理论和原理解剖,让人知其然更知道防范于未来。涉及互联网和局域网,让企业级网管工作更轻松。涵盖Linux&Windows 的知识点。
13 1
|
26天前
|
Java 编译器 Shell
【Python 基础教程 04】超详细Python编程教程:初学者入门至全面了解Python 解析器( CPython、IPython、Jython和PyPy)
【Python 基础教程 04】超详细Python编程教程:初学者入门至全面了解Python 解析器( CPython、IPython、Jython和PyPy)
42 0