Python神经网络编程_【英】塔里克·拉希德_AZW3_MOBI_EPUB_PDF_电子书(无页码)_【英】塔里克·拉希德

内容节选

2.3优雅地开始使用Python 我们假设你现在有机会获得IPython,并根据安装说明顺利安装了软件。 2.3.1 Notebook 一旦我们点击“New Notebook”开始使用Notebook,就会出现一个空的Notebook,如下所示。 这个Notebook是交互式的,这意味着它等待你提出要求,提出要做的事情,然后,Notebook就执行这些命令,并在Notebook中给出答案。然后,再次等待你的下一条指令或问题。这就像一台具有计算天赋、不知疲倦的机器人管家。 如果你想做的事情相对复杂,那么将这个问题分解为几个部分比较合理。通过这种方式,你可以相对容易地组织思想,同时也比较容易找到大工程的哪一部分出了问题。对于IPython而言,我们称这些部分为单元格(cell)。如果上述IPython Notebook有一个初始的空单元格,那么你可以看到闪烁的输入插入符号,等待你输入指令。 让我们指示计算机做一些事情吧!我们要求计算机进行两个数相乘的运算,比如说,2乘以3。我们输入“2 * 3”到单元格中,单击运行单元格按钮,这个按钮看起来像一个音频播放按钮。请记住,不要输入引号。计算机可以快速理解你的意思,在屏幕上返回答案,如下所示。 你可以看到正确显示的答案“6”。我们刚刚使用Python对计算机发布了第一条指令,并成功获得了正确的结果。这是我们的第一个计算机程序!Ipython将你的问题标记为“In [1]”,答案标记为“Out [1]”,不要被这个分散注意力。 这只是Python提示你的提问(输入)和它的回答(输出)的方式。 这些数字是你提问的顺序和它回答的顺序,如果你要在Notebook中上下翻阅、调整和补发指令,这些数字有助于你追踪指令。 2.3.2 简单的Python 我们说Python是一种简单的计算机语言,指的就是这个意思。接下来,在标记为“In [ ]”、准备就绪的单元格中输入下面的代码,并点击运行。我们经常使用“代码”这个单词来表示使用计算机语言编写指令。如果你觉得移动指针点击运行按钮太过麻烦,那么请像我这样做,使用键盘快捷键Ctrl-Enter来代替。 print("Hello World!") 你应该得到一个回应,这个回应就是简单地打印出短语“Hello World!”,如下所示。 你可以发现,发出第2条指令打印的“Hello World!”,并没有移除先前指令的单元格和输出的答案。当你从容不迫地构建包含有几个部分的解决方案时,这是大有裨益的。 现在,让我们观察一下输入下面的代码会发生什么,这引入了一个关键的思想。在新的单元格中,输入这些代码并运行。如果没有新的空单元格,那么请单击看起来是个加号、工具提示为“Insert Cell Below”的按钮。 x = 10 print(x) print(x+5) y = x+7 print(y) print(z) 第一行的“x = 10”看起来像数学声明,告诉我们x等于10。在Python中,这意味着x被设置为10,也就是说,10被放在了称为x的虚拟盒子中。这非常简单,如下图所示。 10就待在这个盒子中,直到有更新的通知。由于之前使用过打印指令,因此我们对“print(x)”也不必太过惊讶。这可以打印出x的值,也就是“10”。为什么这个指令不打印出字母“x”呢?这是因为Python总是尽可能地计算它所能计算的一切事情,x可以被评估为10,因此Python就打印出了10。下一行“print (x+5)”就是计算x + 5的结果,也就是10 + 5或15,因此,我们预期程序会打印出“15”。 如果按照Python会计算它所能计算的一切这个想法,那么下一项“y = x+7”,你也不难计算得到。老师告诉我们,这是将值赋给标记为y的新盒子,但是这个值是多少呢?表达式为x + 7,也就是10 + 7或17,因此y保存了值17,下一行就应该打印出这个值。 如果我们还未像赋值给x和y那样赋值给z,那么执行“print(z)”这行指令,会发生什么呢?我们会礼貌地得到一个错误信息,告知这种方式有错误,尽可能地帮助我们解决这个问题。我必须说,大多数计算机语言有一些错误消息,这些错误消息尽力帮我们解决问题,但不一定能够成功。 下图显示了上述代码的结果,包括礼貌地用于帮助用户的错误消息,即“name z is not defined”。 这些保存了10和17的值、标签为x和y的盒子,我们称之为变量。 在计算机语言中,我们通常使用变量组成一套通用的指令,就像数学家使用“X”和“Y”这样的表达式做出一般性的陈述。 2.3.3 自动化工作 计算机非常适合多次重复执行类似的任务,它们不介意多次重复执行类似的任务,相比于人类使用计算器,它们的速度非常快!让我们来看看,假设让计算机打印出前10个整数......

  1. 信息
  2. 内容提要
  3. 译者序
  4. 序言
  5. 前言
  6. 第1章 神经网络如何工作
  7. 1.1 尺有所短,寸有所长
  8. 1.2 一台简单的预测机
  9. 1.3 分类器与预测器并无太大差别
  10. 1.4 训练简单的分类器
  11. 1.5 有时候一个分类器不足以求解问题
  12. 1.6 神经元——大自然的计算机器
  13. 1.7 在神经网络中追踪信号
  14. 1.8 凭心而论,矩阵乘法大有用途
  15. 1.9 使用矩阵乘法的三层神经网络示例
  16. 1.10 学习来自多个节点的权重
  17. 1.11 多个输出节点反向传播误差
  18. 1.12 反向传播误差到更多层中
  19. 1.13 使用矩阵乘法进行反向传播误差
  20. 1.14 我们实际上如何更新权重
  21. 1.15 权重更新成功范例
  22. 1.16 准备数据
  23. 第2章 使用Python进行DIY
  24. 2.1 Python
  25. 2.2 交互式Python = IPython
  26. 2.3 优雅地开始使用Python
  27. 2.4 使用Python制作神经网络
  28. 2.5 手写数字的数据集MNIST
  29. 第3章 趣味盎然
  30. 3.1 自己的手写数字
  31. 3.2 神经网络大脑内部
  32. 3.3 创建新的训练数据:旋转图像
  33. 3.4 结语
  34. 附录A 微积分简介
  35. A.1 一条平直的线
  36. A.2 一条斜线
  37. A.3 一条曲线
  38. A.4 手绘微积分
  39. A.5 非手绘微积分
  40. A.6 无需绘制图表的微积分
  41. A.7 模式
  42. A.8 函数的函数
  43. 附录B 使用树莓派来工作
  44. B.1 安装IPython
  45. B.2 确保各项工作正常进行
  46. B.3 训练和测试神经网络
  47. B.4 树莓派成功了