传统神经网络ANN训练算法总结 参考 。 以后研究

http://blog.163.com/yuyang_tech/blog/static/21605008320146451352506/

传统神经网络ANN训练算法总结

2014-07-04 17:13:52|  分类: deeplearning |  标签:ann  |举报|字号 订阅

下载LOFTER我的照片书  |

原文来自:http://blog.csdn.net/bluebelfast/article/details/17139095

——————————以下为原文——————————

学习/训练算法分类

神经网络类型的不同,对应了不同类型的训练/学习算法。因而根据神经网络的分类,总结起来,传统神经网络的学习算法也可以主要分为以下三类:

1)前馈型神经网络学习算法-----(前馈型神经网络)

2)反馈型神经网络学习算法------(反馈型神经网络)

3)自组织神经网络学习算法------(自组织神经网络)

以下我们将通过三类典型的神经网络模型分别阐述这三类不同的学习算法其区别与相似点。

虽然针对不同的网络模型,这里产生了三类不同类型的训练算法,但是总结起来,这三类训练算法都可以归属到两种类型的机器训练方法中,即监督型学习算法和非监督型

学习算法。在20-30年的神经网络学习算法研究过程中,科学家往往都通过将监督型学习算法和非监督型学习算法进行单独或混合使用,提出并构建出了不同类型的训练算法及

其改进算法。因而总结起来现今的神经网络训练算法都可以归类到监督型学习算法和非监督型学习算法中,这在后续讲解的Deep Learning中的DBNs网络学习中也会体现出

来。当然目前也提出一种半监督学习方法,其定义为。

半监督学习(Semi-supervised Learning)是模式识别和机器学习领域研究的重点问题,是监督学习与无监督学习相结合的一种学习方法。它主要考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题。半监督学习对于减少标注代价,提高学习机器性能具有非常重大的实际意义。

半监督学习是监督学习算法和非监督学习算法的结合体,可以认为是两种方法的结合型算法,其根源也归属为两类本质的学习算法,因而也逃不脱监督学习和非监督学习领域圈,这里我们就不再进一步深入讨论半监督学习算法了。

在以下传统神经网络训练算法的总结中我们也将具体指明具体的训练算法和监督型学习算法和非监督型学习算法的关系。

BP神经网络训练算法

以下我们分析BP神经网络学习过程。其学习算法基本步骤可以归纳如下:

1、初始化网络权值和神经元的阈值(最简单的办法就是随机初始化)

2、前向传播:按照公式一层一层的计算隐层神经元和输出层神经元的输入和输出。

3、后向传播:根据公式修正权值和阈值

直到满足终止条件。

算法通过一定的判定函数,对前向传播结果进行判定,并通过后向传播过程对网络参数进行修正,起到监督学习的作用,因而传统的BP经网络训练过程可以归纳为一类典型的监督学习过程。

BP是后向传播的英文缩写,那么传播对象是什么?传播的目的是什么?传播的方式是后向,可这又是什么意思呢。

传播的对象是误差,传播的目的是得到所有层的估计误差,后向是说由后层误差推导前层误差:

即BP的思想可以总结为

利用输出后的误差来估计输出层的直接前导层的误差,再用这个误差估计更前一层的误差,如此一层一层的反传下去,就获得了所有其他各层的误差估计。

  • “BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)”

我们来看一个最简单的三层BP:

  • “BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。”

BP利用一种称为激活函数来描述层与层输出之间的关系,从而模拟各层神经元之间的交互反应。

激活函数必须满足处处可导的条件。那么比较常用的是一种称为S型函数的激活函数:

那么上面的函数为什么称为是S型函数呢:

我们来看它的形态和它导数的形态:

p.s. S型函数的导数:

神经网络的学习目的:

希望能够学习到一个模型,能够对输入输出一个我们期望的输出。

学习的方式:

在外界输入样本的刺激下不断改变网络的连接权值

学习的本质:

对各连接权值的动态调整

学习的核心:

权值调整规则,即在学习过程中网络中各神经元的连接权变化所依据的一定的调整规则。

二,有监督的BP模型训练过程

1. 思想

有监督的BP模型训练表示我们有一个训练集,它包括了: input X 和它被期望拥有的输出 output Y

所以对于当前的一个BP模型,我们能够获得它针对于训练集的误差

所以BP的核心思想就是:将输出误差以某种形式通过隐层向输入层逐层反传,这里的某种形式其实就是:

也就是一种 "信号的正向传播 ----> 误差的反向传播"的过程:

2.具体

这里解释下根据误差对权值的偏导数来修订权值:

References

http://www.360doc.com/content/13/1217/13/9282836_337854682.shtml

您可能也喜欢:

时间: 2024-08-03 15:26:53

传统神经网络ANN训练算法总结 参考 。 以后研究的相关文章

传统神经网络ANN训练算法总结

传统神经网络ANN训练算法总结 学习/训练算法分类 神经网络类型的不同,对应了不同类型的训练/学习算法.因而根据神经网络的分类,总结起来,传统神经网络的学习算法也可以主要分为以下三类: 1)前馈型神经网络学习算法-----(前馈型神经网络) 2)反馈型神经网络学习算法------(反馈型神经网络) 3)自组织神经网络学习算法------(自组织神经网络) 以下我们将通过三类典型的神经网络模型分别阐述这三类不同的学习算法其区别与相似点. 虽然针对不同的网络模型,这里产生了三类不同类型的训练算法,但

人工神经网络--ANN

神经网络是一门重要的机器学习技术.它是目前最为火热的研究方向--深度学习的基础.学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术. 本文以一种简单的,循序的方式讲解神经网络.适合对神经网络了解不多的同学.本文对阅读没有一定的前提要求,但是懂一些机器学习基础会更好地帮助理解本文. 神经网络是一种模拟人脑的神经网络以期能够实现类人工智能的机器学习技术.人脑中的神经网络是一个非常复杂的组织.成人的大脑中估计有1000亿个神经元之多. 图1 人脑神经网络 那么机

神经网络入门——神经元算法

目前机器学习.深度学习在业界使用的越来越广泛,做为一个有着技术追求的it人,我觉得有必要学习和了解一下这块的知识,今天就从最简单的单层神经网络开始介绍. 在介绍人工神经网络之前,首先认知下神经元. 神经元 不知道大家还有印象这个图吗?这个是出现在我们生物课本中的一幅图. 一个神经元的组成基本就是上图这些东西组成. 通常一个神经元具有多个树突,主要用来接受传入信息信息,信息通过轴突传递进来后经过一系列的计算(细胞核)最终产生一个信号传递到轴突,轴突只有一条,轴突尾端有许多轴突末梢可以给其他多个神经

具体knn算法概念参考knn代码python实现

具体knn算法概念参考knn代码python实现上面是参考<机器学习实战>的代码,和knn的思想 # _*_ encoding=utf8 _*_ import numpy as npimport tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data # 导入手写体识别的数据mnist = input_data.read_data_sets("../data", one_hot=T

神经网络-前向算法

神经网络-前向算法 直观来看一波, 神经网络是咋样的. 多个输入: 首先进行归一化 神经元: 是一个抽象出来的概念, 多个输入的加权和 中间是各神经元, 以"层"的方式的 "映射" 输出了一个概率(向量) 前向算法 我们首先好奇的就是, 输入 --> 到输出是如何计算的, 看一波最简单的网络3层结构. 输入层: 即看到最左边的3个输入节点 线条: 权值, 图中的每根线条代表一个权值 隐含层: 输入节点的加权和(各节点) + 偏置(bias) A: 激活函数(

EM算法(2):GMM训练算法

目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法详解

感知器的训练算法

 1.感知器算法来源和基本思想 “感知器”一词出自于20世纪50年代中期到60年代中期人们对一种分类学习机模型的称呼,它是属于有关动物和机器学习的仿生学领域中的问题.当时的一些研究者认为感知器是一种学习机的强有力模型,后来发现估计过高了,但发展感知器的一些相关概念仍然沿用下来. 采用感知器算法(Perception Approach)能通过对训练模式样本集的“学习”得到判别函数的系数.由于该算法不需要对各类别中模式的统计性质做任何假设,因此称为确定性的方法. 感知器算法实质上是一种赏罚过程: –

【原创】batch-GD, SGD, Mini-batch-GD, Stochastic GD, Online-GD -- 大数据背景下的梯度训练算法

机器学习中梯度下降(Gradient Descent, GD)算法只需要计算损失函数的一阶导数,计算代价小,非常适合训练数据非常大的应用. 梯度下降法的物理意义很好理解,就是沿着当前点的梯度方向进行线搜索,找到下一个迭代点.但是,为什么有会派生出 batch.mini-batch.online这些GD算法呢? 原来,batch.mini-batch.SGD.online的区别在于训练数据的选择上:   batch mini-batch Stochastic Online 训练集 固定 固定 固定

算法8-6:最小生成树研究现状

目前已经介绍了Kruskal和Prim算法,他们的复杂度一个是E logE一个是E logV,那么有没有复杂度为E的算法呢?理论上是可能的,但是目前还没有发现该算法.下图是最小生成树算法的发展过程. 从图中可以看到复杂度越來越接近E. 最小生成树的应用 欧几里德最小生成树 问题描述:给定一系列点的坐标,求包含所有点的最小生成树. 下图是这个问题的一个例子. 解决这个问题的基本思想就是先将每个点都看成一个独立的cluster,每次合并一对距离最近的cluster,直到所有的点都合并在一起为止.这种