人工神经网络(Artificial Neural Netwroks)笔记-消除样本顺序的BP算法

上文中已经提到“基础BP算法“偏爱”较后出现的样本,因此较后出现的样本对网络影响较大”

本文将记录如何消除这个影响

用(X1,Y1),(X2,Y2),....(Xs,Ys)的总效果丢该 W^(1),W^(2),...W^(L)

△W^(K)ij=∑△pW^(k)ij

只是替换了原来的简单修改权重矩阵那部分

具体算法流程如下:

1 for k-1 to L do

1.1初始化 W^(k)

2 初始化精度控制参数ε

3 E=ε+1

4 while E>ε do

4.1 E=0
4.2 对所有的i,j,k : △W^(K)ij=0;
4.3 对S中的每一个样本 (Xp,Yp):
4.3.1计算出Xp对应的实际输出Op
4.3.2计算出Ep
4.3.3E=E+Ep
4.3.4对所有i,j 根据相应式子计算△pW^(L)ij
4.3.5对所有i,j: △W^(L)ij=△W^(L)ij+△pW^(L)ij
4.3.6 k=L- 1
4.3.7 while k!=0 do
4.3.7.1对所有 i,j根据相应式子计算△pW^(k)ij
4.3.7.2对所有i,j :△W^(k)ij=△W^(k)ij+△pW^(k)ij
4.3.7.3k=k-1
4.4对所有i,j,k :  W^(k)ij=W^(k)ij=△W^ (k)ij
4.5E=E/2

这是一种最速下降法。采用这样的计算方式较好地解决了因样本的顺序引起的精度问题和训练的抖动 问题,但是收敛的速度却相对比较慢了。

下面有几个问题是值得讨论的

收敛速度问题,怎样加快收敛的速度呢?

局部极小点问题,如何逃离或者避开局部极小点呢?

网络瘫痪问题,权变大,但是激活函数的导函数取值很小,那么步长将会变得非常小,进而训练的速 度将会下降,最后会导致网络停止收敛,如何是好呢?

稳定性问题,如果网络遇到的是一个连续变化的环境,网络将变得无效,怎么解决?

步长问题,如果步长太小,收敛速度慢,如果步长太大,可能会导致网络瘫痪或者不稳定,咋办?

下篇继续 ^_^

时间: 2024-10-28 20:15:59

人工神经网络(Artificial Neural Netwroks)笔记-消除样本顺序的BP算法的相关文章

人工神经网络(Artificial Neural Netwroks)笔记-连续多输出感知器算法

人工神经网络(Artificial Neural Netwroks)笔记--离散多输出感知器训练算法 中的2.1.3步是多 个判断,因此我们说它是一种离散多输出感知器 现在采用公式 Wij=Wij+α(Yj-Oj)Xi取代了那个步骤 Yj和Oj之间的差别对Wij的影响由α(Yj-Oj)Xi表现出来 这样做的好处是不仅使得算法的控制在结构上更容易理解,而且还使得它的适应面更宽 算法流程如下: 1.用适当的小伪随机数初始化权矩阵W 2.初置精度控制参数ε,学习率α,精度控制变量d=ε+1 3.whi

人工神经网络(Artificial Neural Netwroks)笔记-离散单输出感知器算法

最近在重新学习人工神经网络(Artificial Neural Netwroks),做做笔记,整理思路 离散单输出感知器算法,传说中的MP 二值网络:自变量及其函数的值.向量分量的值只取0和1函数.向量 权向量:W=(w1,w2,w3.....wn) 输入向量:X=(x1,x2,x3.....xn) 训练样本集 {(X,Y)|Y为输入向量X的输出} 训练过程比较简单 如下: 1,初始化权向量W 2,重复下列过程,直到训练完成: 2.1对每个样本(X,Y),重复如下过程: 2.1.1输入X 2.1

人工神经网络(Artificial Neural Netwroks)笔记-基本的非确定性统计训练算法

在上一篇文章 <人工神经网络(Artificial Neural Netwroks)笔记-消除样本顺序的BP算法 >中 修 改权重的方法被称为"最速下降法".每一次权重的修改都是确定的,权重都会被修改.甚至到最简单的 单层感知器也是如此. 但是我们有一个疑问,是否每一次的权重修改都是好的呢? 虽然"最速下降法"能在数学上被证明是每一次都比前一次越来越逼近最优解,但是这个逼近可是一个 无休止的过程.而且面对局部最小点的问题,"最速下降法"

人工神经网络(Artificial Neural Netwroks)笔记--离散多输出感知器训练算法

这是对离散单输出感知器算法的扩展 相关的符号定义请参考 <人工神经网络(Artificial Neural Netwroks)笔记-离散单输出感知器算法 > OK,Start Our Game 1.初始化权重矩阵W; 2.重复下列过程,直到训练完成: 2.1对每个样本(X,Y),重复如下过程: 2.1.1 输入X; 2.1.2计算O=F(XW); 2.1.3 for j=1 to m do 执行如下操作: if Oj != Yj then if Oi=0 then for i=1 to n W

人工神经网络(Artificial Neural Netwroks)笔记-基本BP算法

单层的感知器并不能解决XOR问题 人工神经网络(Artificial Neural Netwroks)也因为这个问题而陷入了低潮,但是后来提出的多层感 知器却让人工神经网络(Artificial Neural Netwroks)再一次high起来 BP网络是最为广泛的一种.具体的原理介绍可以通过网络得到这里只描述算法流程 基本的BP算法 1 for k=1 toL do 初始化W^(k) 2初始化精度控制参数ε 3 E=ε+1 4 while E>ε do 4.1 E=0 4.2 对S中的每个样

人工神经网络(Artificial Neural Netwroks)笔记-delta规则增量学习

delta规则增量学习 Wij(t+1)=Wij(t)+α(Yj-Aj(t))Oi(t) 式中 Wij(t+1).Wij(t) 分别表示神经元ANi到ANj的联接在时刻t+1和时刻t的强度,Oi(t)为ANi神经 元在时刻t的输出,Yj为神经元ANj的理想输出,Aj(t)为神经元ANj的激活状态,α为给定的学习率 这是有监督学习(Supervised Learning)中最为重要,应用最普遍的delta规则 增量学习(Delta Rule Learning)和 向后传播学习(Back Propa

人工神经网络之Python 实战

引言:Python是最好最热门的编程语言之一,以简单易学.应用广泛.类库强大而著称,是实现机器学习算法的首选语言.本文以人工神经网络的实战为例,证明需要深入理解算法的原理.优劣势等特点以及应用场景,以能达到应用自如的程度.本文选自<Python大战机器学习:数据科学家的第一个小目标>. 在本次操作前,这里需要导入的包为: 感知机学习算法的原始形式 给出生成线性可分数据集的生成算法: 参数 ■n:正类的样本点数量,也是负类的样本点数量.总的样本点数量为2n. 返回值:所有的样本点组成的数组,形状

人工神经网络简介

机器人2025本期导读 第一版: 人工神经网络简介 第二版: 受变色甲壳虫的启发,MIT研发可用于3D打印的机器人皮肤 第三版: 智享家 | 六年蛰伏,只为做一款好的机器人--大陆智源科技 高源 第四版: 数学专业经典读物 作者:fengbingchun 原文:http://blog.csdn.net/fengbingchun/article/details/50274471 一.人工神经网络的概念 人工神经网络(Artificial Neural Network,ANN)简称神经网络(NN),

C#中调用Matlab人工神经网络算法实现手写数字识别

手写数字识别实现 设计技术参数:通过由数字构成的图像,自动实现几个不同数字的识别,设计识别方法,有较高的识别率 关键字:二值化  投影  矩阵  目标定位  Matlab                                                               手写数字图像识别简介: 手写阿拉伯数字识别是图像内容识别中较为简单的一个应用领域,原因有被识别的模式数较少(只有0到9,10个阿拉伯数字).阿拉伯数字笔画少并且简单等.手写阿拉伯数字的识别采用的方法相对于