Datamining数据挖掘-误差反向传播

训练一层神经元

==误差和梯度== \[ \begin{array}{l} E_{d}(\bar{w}) \equiv \frac{1}{2} \sum_{k \in \text { outpurs }}\left(t_{k}-o_{k}\right)^{2} \quad \Delta w_{j i}=-\eta \frac{\partial E_{d}}{\partial w_{j i}} \\ \end{array} \]

\[ \begin{array}{l} \frac{\partial E_{d}}{\partial w_{j i}}=\frac{\partial E_{d}}{\partial n e t_{j}} \cdot \frac{\partial n e t_{j}}{\partial w_{j i}}=\frac{\partial E_{d}}{\partial n e t_{j}} x_{j i} \end{array} \]

xji 第j个神经元的第i个输入 wji第j个神经元的第i个权重 netj第j个神经元的输入 oj第j个神经元的 输出 \[ \begin{align} n e t_{j} &=\sum w_{j i} x_{j j}\\ o_j &= \sigma(net_j) \end{align} \] ==计算:输出层梯度== $$ \[ ==误差逆传播:BP算法== **(back propagation)** \] \[\begin{align} \delta_{k}&=-\frac{\partial E_{d}}{\partial n e t_{k}}\\ &=o_{k}\left(1-o_{k}\right)\\\\ \Delta w_{j i}&=\eta \delta_{j} x_{j i} \end{align}\] $$ image-20200616220730569

==存在的问题:== 1)无法预防局部最优解 2)梯度消失 3)过学习

==防止过学习:== 训练时,同时观察在校验集上的误差,(当开始增大的时候)拐点处停止学习。

==Momentum:有几率错过局部解== 在导数=0处还会向前冲一段距离 \[ \Delta w_{j i}(n)=\eta \delta_{j} x_{j i}+\alpha \Delta w_{j i}(n-1) \]


转载请注明来源 https://tianweiye.github.io