Make Your Own Neural Network(二)-----分类即是预测
Make Your Own Neural Network
构建你自己的神经网络
作者:lz0499
声明:
1)Make Your Own Neural Network翻译自Tariq Rashid编写的神经网络入门书籍。作者的目的是尽可能的少用术语和高深的数学知识,以图文并茂的方式讲解神经网络是如何工作的。任何拥有高中数学水平的人就能够理解神经网络的工作方式。强烈推荐初学者以这本书作为神经网络入门书籍。
2)本文仅供学术交流,非商用。翻译的初衷是一边翻译一边加深对神经网络的理解。
3)由于刚刚接触神经网络这方面的知识,翻译过程中难免有些错误。若发现错误,还请各位前辈指正。谢谢!
4)由于工作原因,我将有选择的按照原文的章节不定期的进行翻译更新。
5)此属于第一版本,若有错误,还需继续修正与增删。
目录:
第一部分:神经网络是如何工作的
第一部分 神经网络是如何工作的
分类即是预测我们把上一小节的机器称之为预测机。预测机获取一个输入,并对输出进行预测,输出一个预测值。我们通过预测值和真实值之间的误差值,对内部参照进行调整,以达到对输出的预测值调整。
下图所示的是花园中两种常见昆虫的身长和身宽的坐标图。
你可以明显的识别出有两种类型的昆虫。坐上角是体型细长毛毛虫,右下角是体型矮胖的瓢虫。
还记得预测机试图根据给定的千米值计算出正确的米值吗?这类预测机本质上是一个可以调整的线性函数。我们知道,线性函数中,当我们连接输入和输出时代表的是一条直线。可调整的c改变的是这条直线的斜率。
如果我们也在上述坐标图中画一条直线将会怎样呢?
我们不能再像之前那样使用这条直线:把一个值(千米)转换为另外一个值(米)。但是我们可以使用这条直线区分两种不同类型的事物。
在上图中,如果某条直线能够把毛毛虫和瓢虫区进行分类,那么这条直线可以通过测量值用来区分一种未知的昆虫。上述图中的直线并没有分类的作用,因为一半的毛毛虫在瓢虫这一侧。
让我们改变直线的斜率尝试一条不一样的直线,看看将会发生什么。
这次,这条直线更加没有分类的作用。直线根本没有把两类昆虫区分开来。
让我们试试另外一条直线。
这样就好多了。这条直线基本上把毛毛虫和瓢虫区分开来了。我们可以使用这条直线对昆虫进行分类了。
假设我们遇见一种我们从未见过的昆虫。我们将要展示一种简单的分类器。
想象下次我们的计算机使用一条机器手臂拾起一只昆虫,并测量了它的身长和体宽,那么我们能够利用上述的那条直线对它进行分类,看它是否是毛毛虫还是瓢虫。
如下图所示,我们可以观察到,机器手臂拾起的昆虫是一条毛毛虫,因为它的测量值在这条直线之上。这是一种简单的分类,但是已经具有相当不错的分类能力了。
我们已经知道在我们预测机中使用的线性函数可以用来对未见过的数据进行分类。
但是我们跳过的极为关键的步骤。我们如何得到的斜率?当我们知道某条直线对上述的两类昆虫并不是很好的进行分类时,我们又该如何调整直线呢?
下一小节见分晓!