《Python神经网络编程》读书笔记
作者:[英]塔里克·拉希德(Tariq Rashid)
译者:林赐
出版社:人民邮电出版社
出版时间:2018-04
ISBN:9787115474810
异步社区(www.epubit.com)
“从你身边所有的小事情中,找到灵感。”
第1章 神经网络如何工作
1.1 尺有所短,寸有所长
- 有些任务,对传统的计算机而言很容易,对人类而言却很难。例如,对数百万个数字进行乘法运算。
- 另一方面,有些任务对传统的计算机而言很难,对人类而言却很容易。例如,从一群人的照片中识别出面孔。
1.2 一台简单的预测机
我们尝试得到一个答案,并多次改进答案,这是一种非常不同的方法。一些人将这种方法称为迭代,意思是持续地、一点一点地改进答案。
- 所有有用的计算机系统都有一个输入和一个输出,并在输入和输出之间进行某种类型的计算。神经网络也是如此。
- 当我们不能精确知道一些事情如何运作时,我们可以尝试使用模型来估计其运作方式,在模型中,包括了我们可以调整的参数。如果我们不知道如何将千米转换为英里,那么我们可以使用线性函数作为模型,并使用可调节的梯度值作为参数。
- 改进这些模型的一种好方法是,基于模型和已知真实示例之间的比较,得到模型偏移的误差值,调整参数。
1.3 分类器与预测器并无太大差别
因为上述的简单机器接受了一个输入,并做出应有的预测,输出结果,所以我们将其称为预测器。我们根据结果与已知真实示例进行比较所得到的误差,调整内部参数,使预测更加精确。
1)分类器
现在,我们来看看测量得到的花园中小虫子的宽度和长度。
在上图中,你可以清楚地看到两群小虫。毛虫细而长,瓢虫宽而短。
如果我们在这幅图上画上一条直线,会发生什么情况呢?
我们调整斜率,尝试不同的直线,得到这条直线整齐地将瓢虫与毛虫区分开来了。现在,我们可以用这条直线作为小虫的分类器。
设想一下,下一次,计算机使用机器手臂抓起一只新的小虫,测量其宽度和长度,然后它可以使用上面的分界线,将小虫正确归类为毛虫或瓢虫。
但是,我们忽略了一个至关重要的因素。我们如何得到正确的斜率呢?我们如何改进不能很好划分这两种小虫的分界线呢?
这个问题的答案处于神经网络学习的核心地带。