神经网络NN
神经网络基本模型:
1.前向神经网络:无圈的有向图N=(V,E,W),其中,V为神经元集合,E为连结权值集合,W为每一连结赋予一实值的权重。
神经元集V可以被分成无接受域的输入结点集V1,无投射域的输出结点集V0和既有接受域又有投射域的隐结点集VH。
一般的前向神经网络包括一个输入层、一个输出层和若干隐单元。
隐单元可分层也可以不分层。若分层,则成为多层前向神经网络。
网络的输入、输出神经元的激励函数一般取线性函数,而隐单元则为非线性函数。
前向神经网络的输入单元从外部环境中接受信号,经处理将输出信号加权后传给其投射域中的神经元,网络中的隐含单元或输出单元从其接受域中接受净输入,然后向它的投射域发送输出信号。上述过程一直持续到所有的输出单元得到输出为止,它们的输出作为网络的输出。
BP神经网络和RBF网络是应用最为广泛的两种前向型神经网络。
2.反馈型神经网络
所有结点都是计算单元,同时既可接受输入,又可向外界输出。
闭合反馈环的本质是通过yj能够控制输出yi。
Hopfield神经网络是反馈型网络的代表。已在联想记忆和优化计算中得到成功应用。
前向型和反馈型神经网络都是确定性的网络,组成它们的神经元均为确定性的,即给定神经元的输入,其输出时确定的。
3.随机型神经网络
由于生物神经元中各种各样的干扰,同时,人工神经元的硬件实现也会有各种各样的干扰,从而带来某些不确定性,因此引入了随机神经元。
具有随机性取值的模拟退火算法是针对优化计算中陷入局部极小这一难题提出的。
Boltzmann机是具有随机输入值单元的随机神经网络,它按照概率曲线的能量分布进行状态的转移。串行的Boltzmann机可以看做对二次组合优化问题的模拟退火算法的具体实现。
4.自组织竞争型神经网络
根据人脑的特定细胞对特定信号的特别反映能力提出了自组织映射理论。
自组织竞争型神经网络的功能就是,通过自组织方法用大量的训练样本数据来调整权值,使得网络的输出能够反映样本数据的分布情况,即这种网络能识别环境的特征,并自动聚类。
在特征抽取盒大规模数据处理中已有极为成功的应用。
神经网络学习方法分类:
在神经网络的结构确定后,关键的问题是设计一个学习速度快、收敛性好的学习算法。神经网络的学习问题就是网络权值的调整问题,随着网络结构和功能的不同,网络权值的学习算法也不同。
按照学习过程的组织与管理方法进行分类,可分为死记式学习、有监督学习、无监督学习和混合学习。
按照学习过程的推理和决策方式可分为确定性学习、随机学习和模糊学习。
常用神经网络:
1.感知机:感知机模型由输入层和输出层两层构成。
2.BP神经网络:(error Back Propagation Neural Network,BPNN)
误差反向传播(error Back Propagation,BP)算法为多层前向神经网络的研究奠定了基础。多层前向神经网络能逼近任意非线性函数。
传统的BP神经网络将误差反向传播算法应用于多层感知器模型,它的网络结构由感知层(输入层)、联想层(隐含层)和响应层(输出层)构成。隐含层和输出层结点的激励函数采用sigmoid函数,利用梯度搜索技术将一组样本的输入输出问题转化为一个非线性优化问题。
为了获得好的学习效果,BPNN的隐含层结点通常不少于输入层结点数与输出层结点数。
BP神经网络的输入可以为连续值或布尔值。
3.径向基函数网络:径向基函数(Radial Basis Function,RBF)
RBF神经网络是一种三层前向型神经网络,第一层为输入层,由信号源节点组成;第二层为隐含层,隐单元数视所描述的问题而定;第三层为输出层,它对输入模式的作用做出响应。
RBF神经网络与BP神经网络的结构类似,但是它只有一个隐含层,而且从输入空间到隐含层空间的变换是非线性的,而从隐含层空间到输出层空间的变换是线性的。RBF网络的输入单元到隐单元的权重固定为1,只有隐单元到输出单元的权值可调。
最常用的径向基函数形式是高斯函数,它的可调参数有两个:中心位置和方差。
对各RBF的中心及方差的选择有三种方式:根据经验选择中心、聚类法选择中心、监督学习法。
4.Hopfield网络
Hopfield网络可以用一个加权无向图表示,图的每条边都附有一个权值,图的每个结点(神经元)都附有一个阈值,网络的阶数相应于图中的结点数。
Hopfield网络有两种实用形式:离散型Hopfield网络和连续型Hopfield网络。
Hopfield提出了人工神经网络能量函数(李雅普诺夫函数)的概念,使得对网络运行稳定性的判断有了可靠而简便的依据。
Hopfield网络的一个显著优点:与电子电路存在明显的对应关系。
5.玻尔兹曼机:玻尔兹曼机(Boltzmann Machine,BM)
它采用了模拟退火算法(simulated annealing)的思想。
玻尔兹曼机网络由可见单元和隐单元构成,每个单元只取1或0两种状态,1代表接通或接受,0代表断开或拒绝,神经元之间的连接为双向连接,具有对称的连接权系数。对于分类问题,可见单元又可分为输入单元和输出单元。其中输入单元接受二值化的样本特征信息,输出单元采用m选1的方式,表示输出为m种类别的哪一个。
6.自组织特征映射网络:自组织特征映射网络(Self-Organizing Feature map,SOFM)亦成为Kohonen网络。
该网络上层为输出结点,按某种形式排成了一个邻域结构。对输出层中的每个神经元规定它的邻域结构。输入结点处于下方,若输入向量有m个元素,则输入端有m个结点,所有的输入结点都有权值连接,而输出结点相互之间也有可能是局部连接的。
自组织特征映射网络通过自组织方法,利用大量的训练样本来调整网络的值,网络的输出反映了样本数据的分布情况。Kohonen网络可以用于样本排序、样本分类及样本特征检测等。
在自组织特征映射网络中,网络训练的过程就是某个输出结点对某一类样本做出特别反应以代表该类别。
BPNN的快速学习算法:
1.动量项学习算法:是加快BP学习速度最常用的方法,属于全局学习算法。即所有权重采用相同的学习速率与动量系数。
该方法在每个权重调节量上加上一项正比于前次权重变化量的值。一定程度上改善了BP学习算法的学习过程,但是该方法收敛速度慢,且存在震荡。
2.RPROP算法:是一种非常有效地局部自适应学习算法。
局部自适应指的是每个权重都有自己的学习速率,在学习过程中根据每个权重的偏导数对其学习速率进行动态修改。
RPROP算法思想是消除偏导数的大小对权重调节量的影响,权重调节量的符号与偏导数的符号相反,但大小由其他方式决定,与偏导数的大小无关。
神经网络NN的更多相关文章
- 人工神经网络NN
[面向代码]学习 Deep Learning系列 http://blog.csdn.net/coolluyu/article/details/20214617 正则化的最小二乘法 深入浅出LSTM神经 ...
- 神经网络NN笔记
参考:http://www.cnblogs.com/subconscious/p/5058741.html 俗话说,好记性不如烂笔头~~~~ 边学边记,方便以后查找~~~~~ 一.介绍一下经典的神经网 ...
- 【基础知识五】神经网络NN
常用模型:BP神经网络,RBF神经网络 一.神经元模型 | 连接权,阈值,激活函数 1. 输入信号通过带权重的连接(connection)进行传递,神经元接收到的总输入值将与神经元的阈值进行比较, ...
- 神经网络(NN)+反向传播算法(Backpropagation/BP)+交叉熵+softmax原理分析
神经网络如何利用反向传播算法进行参数更新,加入交叉熵和softmax又会如何变化? 其中的数学原理分析:请点击这里.
- 神经网络(NN)实现多分类-----Keras实现
IRIS数据集介绍 IRIS数据集(鸢尾花数据集),是一个经典的机器学习数据集,适合作为多分类问题的测试数据,它的下载地址为:http://archive.ics.uci.edu/ml/machi ...
- 神经网络作业: NN LEARNING Coursera Machine Learning(Andrew Ng) WEEK 5
在WEEK 5中,作业要求完成通过神经网络(NN)实现多分类的逻辑回归(MULTI-CLASS LOGISTIC REGRESSION)的监督学习(SUOERVISED LEARNING)来识别阿拉伯 ...
- ex3多类问题和NN中的前向传播
昨日去了趟无锡,前天下了暴雨,所以昨天给我的感觉天气很好,天蓝云白的,以后在这边学习估计也是一件很爽的事情,且昨日通知书业寄到学校了,附赠了一份研究生数学建模的传单,我搜了搜近几年的题目,感觉统计 ...
- OpenCV 之 神经网络 (一)
人工神经网络(ANN) 简称神经网络(NN),能模拟生物神经系统对真实物体所作出的交互反应,是由具有适应性的简单单元(称为神经元)组成的广泛并行互连网络. 1 神经元 1.1 M-P 神经元 如下 ...
- 神经网络6_CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)概念区分理解
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程,QQ:231469242) https://study.163.com/course/introduction.htm?courseId ...
随机推荐
- 2016大连网络赛 Function
Function Time Limit: 7000/3500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Probl ...
- 设计一个 iOS 控件
转载自:http://blog.csdn.net/zhangao0086/article/details/45622875 代码的等级:可编译.可运行.可测试.可读.可维护.可复用 前言 一个控件从外 ...
- C++异常机制的实现方式和开销分析
C++异常机制的实现方式和开销分析 白杨 http://baiy.cn http://baiy.cn/doc/cpp/inside_exception.htm 在我几年前开始写<C++编码规范与 ...
- Byte数组和Int的互相转换
public static int bytesToInt(byte[] bytes) { int addr = bytes[0] & 0xFF; addr |= ((bytes[1] < ...
- linux系统下c程序分多文件实现
对于一个整数数组排序,按从小到大排序,数组元素个数不定.要求多文件实现 1,排序的函数作为一个文件 输出结果作为一个程序 主函数作为一个文件 运行程序 gcc -o main main.c paixu ...
- 谈谈java的BlockingQueue
http://www.cnblogs.com/archy_yu/archive/2013/04/19/3018479.html 博客园 首页 新随笔 联系 管理 随笔- 92 文章- 0 评论- ...
- 为什么无论你怎么设置自定义的外层div的高度,easyui的动态添加的tab的高度还是不变高
由以下代码可知,easyui自动将panel的height设置为了固定的150px高度!
- Java运行内存结构分析
- 初始化时查看combox的文本内容
string sql = string.Format("select field_name from pt_temp_field where pt_name = '{0}' and temp ...
- BigDecimal 高精度计算 熟悉扩展,java除法保留小数问题
java保留两位小数问题: 方式一: 四舍五入 double f = 111231.5585; BigDecimal b = new BigDecimal(f); d ...