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章 神经网络如何工作
- 1.1 尺有所短,寸有所长
- 1.2 一台简单的预测机
- 1.3 分类器与预测器并无太大差别
- 1.4 训练简单的分类器
- 1.5 有时候一个分类器不足以求解问题
- 1.6 神经元——大自然的计算机器
- 1.7 在神经网络中追踪信号
- 1.8 凭心而论,矩阵乘法大有用途
- 1.9 使用矩阵乘法的三层神经网络示例
- 1.10 学习来自多个节点的权重
- 1.11 多个输出节点反向传播误差
- 1.12 反向传播误差到更多层中
- 1.13 使用矩阵乘法进行反向传播误差
- 1.14 我们实际上如何更新权重
- 1.15 权重更新成功范例
- 1.16 准备数据
- 第2章 使用Python进行DIY
- 2.1 Python
- 2.2 交互式Python = IPython
- 2.3 优雅地开始使用Python
- 2.4 使用Python制作神经网络
- 2.5 手写数字的数据集MNIST
- 第3章 趣味盎然
- 3.1 自己的手写数字
- 3.2 神经网络大脑内部
- 3.3 创建新的训练数据:旋转图像
- 3.4 结语
- 附录A 微积分简介
- A.1 一条平直的线
- A.2 一条斜线
- A.3 一条曲线
- A.4 手绘微积分
- A.5 非手绘微积分
- A.6 无需绘制图表的微积分
- A.7 模式
- A.8 函数的函数
- 附录B 使用树莓派来工作
- B.1 安装IPython
- B.2 确保各项工作正常进行
- B.3 训练和测试神经网络
- B.4 树莓派成功了