误差反向传播算法详解
1. 批量方法与误差导数计算
在批量方法中,要得到总误差 $E$ 相对于权重 $w_{ji}$ 的导数,可以通过对训练集中的每个模式重复之前的步骤,然后对所有模式求和得到,公式如下:
$$\frac{\partial E}{\partial w_{ji}} = \sum_n \frac{\partial E_n}{\partial w_{ji}} \tag{5.57}$$
这里在推导过程中,我们隐含地假设了网络中的每个隐藏单元或输出单元都具有相同的激活函数 $h(\cdot)$。不过,这个推导很容易推广到允许不同单元具有各自独立的激活函数的情况,只需记录每个单元对应的 $h(\cdot)$ 形式即可。
2. 简单示例
为了说明误差反向传播算法的应用,我们考虑一个具体的例子。这个例子因其简单性和实际重要性而被选用,因为文献中许多神经网络的应用都使用了这种类型的网络。具体来说,我们考虑如图 5.1 所示的两层网络,同时采用平方和误差函数。在这个网络中,输出单元具有线性激活函数,即 $y_k = a_k$,而隐藏单元具有双曲正切形式的 S 型激活函数:
$$h(a) \equiv \tanh(a) \tag{5.58}$$
其中,$\tanh(a) = \frac{e^a - e^{-a}}{e^a + e^{-a}} \tag{5.59}$
这个函数的一个有用特性是它的导数可以用一种特别简单的形式表示:
$$h’(a) = 1 - h(a)^2 \tag{5.60}$$
我们还考虑一个标准的平方和误差函数,对于模式 $n$,误差由下式给出:
$$E_n = \frac{1}{2}
超级会员免费看
订阅专栏 解锁全文
18

被折叠的 条评论
为什么被折叠?



