6.机器学习(4.神经网络)
* 多层网络中的爬山算法 爬山算法用于学习多层网络。 然而,为了使用梯度下降算法,我们需要选择这样的单元,它的输出是输入的非线性函数,并且输出是输入的可微函数。 标准的阈值函数在阈值点不可微 netj oi Tj 0 1 * 梯度下降 多层网络目标是最小化网络输出值和目标值之间的误差平方: 其中D 是训练样例集,K 是网络输出单元的集合, tkd and okd 是与训练样例d 和第k个输出单元相关的输出值. 多层网络中使用sigmoid单元,其输出为: 其中, Sigmoid函数有一个有用特征,就是它的导数很容易用它的输出表示: * 反向传播学习规则 反向传播更新网络权值规则: 其中,η是学习速率;tj 是单元j的目标输出;δj 是单元j的误差项 * 误差反向传播 首先,计算输出单元的误差并使用反向传播更新权值规则更新网络顶层权值 output hidden input 网络输出: oj=0.2 目标输出: tj=1.0 误差δj = oj(1–oj)(tj–oj)= 0.2(1–0.2)(1–0.2)=0.128 更新单元j的权值 * 误差反向传播 其次,根据输出单元误差计算隐藏单元的误差. 对受隐藏单元j影响的每一个单元的误差 进行加权求和,每个误差 权值为Wkj (是从隐藏单元j到输出单元k的权值) output hidden inp
原创力文档

文档评论(0)