Python:前向反馈 (六十七)

前向反馈

前向反馈是神经网络用来将输入变成输出的流程。我们仔细研究下这一概念,然后详细了解如何训练网络。

现在我们已经定义了什么是神经网络,我们需要知道如何训练它们,训练他们实际上就是各边的权重应该是多少,这样才能很好地对数据建模。

我们看下下面这个简单的感知器,这个感知器接收了(x1,x2)形式的数据点,标签是 y = 1,意味着这个点是蓝色的,感知器由线性方程定义,例如: w1x1 + w2x2 + b, 其中 w1 和 w2 是权重(边),b是偏差(节点),这里 w1 大于 w2,我们表示为将用 w1 标记的边画的比用 w2 标记的边粗很多,感知器画出点(x1,x2),并输出点是蓝色的概率。

file

对于红色区域的点,输出是个很小的数字,因为这个点不太可能是蓝色,这个流程叫做前向反馈

file

我们发现上边的模型并不好,因为输出的蓝点在红色区域。

还有另一种标记法的神经网络,偏差在外面,现在有了权重矩阵,矩阵 W(1) 表示第一层级,条目是从权重 W11 到 W32,注意,现在偏差写成了 W31 和 W32, 这只是为了方便,下一层依然有一个矩阵,W(2) 表示第二层级,这一层包含的权重告诉我们,如何将第一层级的线性模型组合成第二层级。

误差函数

和之前一样,神经网络将产生误差函数,最终我们需要最小化该误差函数。下面的视频演示了神经网络的误差函数。

我们的目标是训练我们的神经网络,为此,我们需要定义误差函数,我们再看看感知器的误差函数是什么?
file

多层感知器的误差函数:
file

为者常成,行者常至