感知器看名字可能无法理解,但其实可以把感知器更加的通俗化理解,它就是一种算法而已。举个网络中常用的例子,假设输入为x,x也被称为特征,然后我们期待一个输出y,也就是数学中的线性方程y=wx+b。只不过这里w叫做权重向量,wx就是w与x的点积,b为偏置。wx+b实际上定义了一个超平面,如下图所示。
我们通过上述的公式可以规定两种结果,非0即1,因此通过这个超平面我们可以将两种不同颜色的粒子进行区分。但是相对来说,这有点太简单了,现实中的问题往往可不是仅靠简单的一次线性分割就可以得到。于是,多层感知器就来了。
一个网络模型由多个感知器组合而来,,一层层的堆叠在一起,每个感知器都是一种简单的线性模型,在网络的外部我们只能看到前后两层感知器,中间的就不看到了,那么他就有了一个专业的名字,叫隐藏层。如下图所示
看完上面这些应该没啥难度,下面就说一些这些东西有什么用。也就是感知器的训练相关。
还是回到上面wx+b问题中,x是已知的,我们给出的变量值,但是w和b即使我们给出,也仅是一个固定值而已,像第一个图一样,如果我们在众多两种颜色的粒子中将其从中间分开,我们给定w和b肯定不现实,需要计算机在我们给出的一系列x中找到最合适的w和b用于对两种粒子的完美分割,这个过程就是机器学习的过程,也是训练感知器的重点。
从0开始嘛,前期的文字相对较多一点,主要是将一些概念阐述清楚。后面我会讲一下激活函数,激活函数的作用就是解决非0即1这样的尴尬局面应用而生的,具体的作用后面叙述。