A. 训练好的神经网络模型怎么用
那是肯定有影响的。你这样理解,就像你让一个复杂的结构构造的机器去学习一个东西,和你用一个构造简单的机器去学习一个东西,它们理解的会一样吗?而且关于隐含层神经元个数还有几个公式来推测它可能的神经元个数,你可以查查看,如果没有影响你觉得谁会花时间在这上面去研究公式呢,你说是吧?
除了你说的这些,另外训练目标和训练次数等也会对训练结果产生影响。
B. MATLAB中BP神经网络的训练算法具体是怎么样的
先用newff函数建立网络,再用train函数训练即可。
1)正向传播:输入样本->输入层->各隐层(处理)->输出层
注1:若输出层实际输出与期望输出(教师信号)不符,则转入2)(误差反向传播过程)
2)误差反向传播:输出误差(某种形式)->隐层(逐层)->输入层
其主要目的是通过将输出误差反传,将误差分摊给各层所有单元,从而获得各层单元的误差信号,进而修正各单元的权值(其过程,是一个权值调整的过程)。
BP算法实现步骤(软件):
1)初始化
2)输入训练样本对,计算各层输出
3)计算网络输出误差
4)计算各层误差信号
5)调整各层权值
6)检查网络总误差是否达到精度要求
满足,则训练结束;不满足,则返回步骤2)
注:改进算法—增加动量项、自适应调整学习速率(这个似乎不错)及引入陡度因子。
C. 关于神经网络的权值训练方法
% 读入训练数据和测试数据
Input = [];
Output = [];
str = {'Test','Check'};
Data = textread([str{1},'.txt']);
% 读训练数据
Input = Data(:,1:end-1);
% 取数据表的前五列(主从成分)
Output = Data(:,end);
% 取数据表的最后一列(输出值)
Data = textread([str{2},'.txt']);
% 读测试数据
CheckIn = Data(:,1:end-1);
% 取数据表的前五列(主从成分)
CheckOut = Data(:,end);
% 取数据表的最后一列(输出值)
Input = Input';
Output = Output';
CheckIn = CheckIn';
CheckOut = CheckOut';
% 矩阵赚置
[Input,minp,maxp,Output,mint,maxt] = premnmx(Input,Output);
D. 如何提高神经网络的外推能力
人工神经网络以其智能性见长,那么神经网络能真的学到一个映射的本质吗?也就是说,对一个映射给出一定的必要的训练样本训练后,网络能否对样本以外的样本给出较为准确的预测。泛化能力也就是神经网络用于对未知数据预测的能力。神经网络对训练样本区间范围内的样本有较好的泛化能力,而对于训练样本确定的范围外的样本不能认为有泛化能力。常规的几种增强泛化能力的方法,罗列如下:
1、较多的输入样本可以提高泛化能力;
但不是太多,过多的样本导致过度拟合,泛化能力不佳;样本包括至少一次的转折点数据。
2、隐含层神经元数量的选择,不影响性能的前提下,尽量选择小一点的神经元数量。隐含层节点太多,造成泛化能力下降,造火箭也只要几十个到几百个神经元,拟合几百几千个数据何必要那么多神经元?
3、误差小,则泛化能力好;误差太小,则会过度拟合,泛化能力反而不佳。
4、学习率的选择,特别是权值学习率,对网络性能有很大影响,太小则收敛速度很慢,且容易陷入局部极小化;太大则,收敛速度快,但易出现摆动,误差难以缩小;一般权值学习率比要求误差稍微稍大一点点;另外可以使用变动的学习率,在误差大的时候增大学习率,等误差小了再减小学习率,这样可以收敛更快,学习效果更好,不易陷入局部极小化。
5、训练时可以采用随时终止法,即是误差达到要求即终止训练,以免过度拟合;可以调整局部权值,使局部未收敛的加快收敛。
E. 如何训练深度神经网络
deeplearinig就是神经网络的一类,就是解决的训练问题的深层神经网络,所以你这问题“深度学习会代替神经网络‘就不对,BP么,BP有自己的优势,也是很成熟的算法,做手写识别等等效果已经商用化了,不会被轻易替代。deeplearning远比BP要复杂,用来解决的问题也不是一个层面,所以也没有替代的必要。Deeplearning所涉及的问题大多数BP都没法解决的。
度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构,通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。深度学习的概念由Hinton等人于2006年提出,基于深信度网(DBN)提出非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,随后提出多层自动编码器深层结构。深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。
系统地论述了神经网络的基本原理、方法、技术和应用,主要内容包括:神经信息处理的基本原理、感知器、反向传播网络、自组织网络、递归网络、径向基函数网络、核函数方法、神经网络集成、模糊神经网络、概率神经网络、脉冲耦合神经网络、神经场理论、神经元集群以及神经计算机。每章末附有习题,书末附有详细的参考文献。神经网络是通过对人脑或生物神经网络的抽象和建模,研究非程序的、适应性的、大脑风格的信息处理的本质和能力。它以脑科学和认知神经科学的研究成果为基础,拓展智能信息处理的方法,为解决复杂问题和智能控制提供有效的途径,是智能科学和计算智能的重要部分。
F. 能不能训练一个神经网络,让它去训练神经网络
你用的是matlab的神经网络工具箱吧。那是因为权值和阈值每次都是随机初始化的,所以结果就会不一样,
你可以把随机种子固定,即在代码前面加上setdemorandstream(pi); 这样每次训练出来的结果都是一样的了。
看来楼主是刚开始学习神经网络的,推荐一些资料给楼主:
神经网络之家 (专讲神经网络的网站,有视频下载)
matlab中文论坛的神经网络专区
数学中国的神经网络专区
较好的书:
MATLAB神经网络原理与实例精解
G. 神经网络中的训练次数是指什么
神经网络中的训练次数是训练时,1个batch训练图像通过网络训练一次(一次前向传播+一次后向传播),每迭代一次权重更新一次;测试时,1个batch测试图像通过网络一次(一次前向传播)的次数。
在机器学习和相关领域,人工神经网络(人工神经网络)的计算模型灵感来自动物的中枢神经系统(尤其是脑),并且被用于估计或可以依赖于大量的输入和一般的未知近似函数。人工神经网络通常呈现为相互连接的“神经元”,它可以从输入的计算值,并且能够机器学习以及模式识别由于它们的自适应性质的系统。
例如,用于手写体识别的神经网络是由一组可能被输入图像的像素激活的输入神经元来限定。后进过加权,并通过一个函数(由网络的设计者确定的)转化,这些神经元的致动被上到其他神经元然后被传递。重复此过程,直到最后,一输出神经元被激活。这决定了哪些字符被读取。
(7)神经网络如何训练扩展阅读
神经网络分类:
1、选择模式:这将取决于数据的表示和应用。过于复杂的模型往往会导致问题的学习。
2、学习算法:在学习算法之间有无数的权衡。几乎所有的算法为了一个特定的数据集训练将会很好地与正确的超参数合作。然而,选择和调整的算法上看不见的数据训练需要显着量的实验。
3、稳健性:如果该模型中,成本函数和学习算法,适当地选择所得到的神经网络可以是非常健壮的。有了正确的实施,人工神经网络,可以自然地应用于在线学习和大型数据集的应用程序。其简单的实现和表现在结构上主要依赖本地的存在,使得在硬件快速,并行实现。