当前位置: 首页 > news >正文

建站公司建的网站能改动吗室内设计风格

建站公司建的网站能改动吗,室内设计风格,世界500强中国排名一览表,黑龙江省建设教育信息网站文章目录 概述一、神经元模型二、感知机与多层网络三、误差逆传播算法四、全局最小与局部最小五、BP算法的改进1.引入动量法2.尺度变换法3.自适应学习率调整法 六、BP神经网络的训练1.产生数据样本集2.确定网络的类型和结构3.训练和测试 七、项目实战 概述 神经网络的定义神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应”。 神经网络中最基本的成分是神经元(neuron)模型,即上述定义中的“简单单元”。 一、神经元模型 神经元是神经网络中最基本的结构也可以说是神经网络的基本单元它的设计灵感完全来源于生物学上神经元的信息传播机制。神经元有两种状态兴奋和抑制。一般情况下大多数的神经元是处于抑制状态但是一旦某个神经元收到刺激导致它的电位超过一个阈值那么这个神经元就会被激活处于“兴奋”状态进而向其他的神经元传播化学物质其实就是信息。 1943年McCulloch和Pitts将上图的神经元结构用一种简单的模型进行了表示构成了一种人工神经元模型也就是我们现在经常用到的“M-P神经元模型”如下图所示 图中 θ θ θ是神经元的激活阈值函数 f ( ⋅ ) f(⋅) f(⋅)被称为激活函数。 函数 f ( ⋅ ) f(⋅) f(⋅)可以用一个阶跃方程表示大于阈值激活,否则则抑制。理想中的激活函数阶跃函数然而阶跃函数具有不连续、不光滑等不好的性质因此我们更常用的方法是用sigmoid函数来表示函数函数 f ( ⋅ ) f(⋅) f(⋅)。 把许多个这样的神经元按-定的层次结构连接起来,就得到了神经网络。 二、感知机与多层网络 感知机(Perceptron)由两层神经元组成如图所示输入层接收外界输入信号后传递给输出层输出层是M-P神经元亦称“阈值逻辑单元”(threshold logic unit)。 感知机能容易地实现逻辑与、或、非运算。更一般地,给定训练数据集,权重 w i ( i 1 , 2 , … , n ) w_i (i1, 2, …,n) wi​(i1,2,…,n)以及阈值 θ θ θ可通过学习得到。 感知机学习规则非常简单,对训练样例 ( x , y ) (x,y) (x,y),若当前感知机的输出为y,则感知机权重将这样调整: 其中 η ∈ ( 0 , 1 ) η∈(0,1) η∈(0,1) 称为学习率(learning rate)。从式可看出若感知机对训练样例 ( x , y ) (x,y) (x,y)预测正确,即 y ^ y \hat{y}y y^​y,则感知机不发生变化否则将根据错误的程度进行权重调整。 需注意的是,感知机只有输出层神经元进行激活函数处理,即只拥有一层功能神经元(functional neuron),其学习能力非常有限. 事实上上述与、或、非问题都是线性可分(linearly separable)的问题.可以证明若两类模式是线性可分的,即存在一个线性超平面能将它们分开,如图5.4(a)-©所示则感知机的学习过程一定会收敛(converge)而求得适当的权向量 w ( w 1 ; w 2 ; … ; w n 1 ) w (w_1;w_2;…;w_{n1}) w(w1​;w2​;…;wn1​)否则感知机学习过程将会发生振荡(fuctuation), w难以稳定下来,不能求得合适解,例如感知机甚至不能解决如图5.4(d)所示的异或这样简单的非线性可分问题. 要解决非线性可分问题,需考虑使用多层功能神经元.例如下图中这个简单的两层感知机就能解决异或问题. 在图中,输出层与输入层之间的一层神经元被称为隐层或隐含层(hidden layer),隐含层和输出层神经元都是拥有激活函数的功能神经元. 更一般的,常见的神经网络是形如图5.6所示的层级结构每层神经元与下-层神经元全互连神经元之间不存在同层连接也不存在跨层连接.这样的神经网络结构通常称为“多层前馈神经网络”(multi-layer feedforward neural networks), 其中输入层神经元接收外界输入隐层与输出层神经元对信号进行加工,最终结果由输出层神经元输出; 换言之,输入层神经元仅是接受输入不进行函数处理,隐层与输出层包含功能神经元.因此,图5.6(a)通常被称为“两层网络”。 为避免歧义,这里称其为“单隐层网络”。只需包含隐层,即可称为多层网络。 神经网络的学习过程,就是根据训练数据来调整神经元之间的“连接权”(connection weight)以及每个功能神经元的阈值;换言之神经网络“学”到的东西蕴涵在连接权与阈值中。 三、误差逆传播算法 多层网络的学习能力比单层感知机强得多.需要更强大的学习算法. 误差逆传播(error BackPropagation,简称BP)算法就是其中最杰出的代表它是迄今最成功的神经网络学习算法. 现实任务中使用神经网络时,大多是在使用BP算法进行训练.值得指出的是BP算法不仅可用于多层前馈神经网络,还可用于其他类型的神经网络,例如训练递归神经网络[Pineda, 1987]. 但通常说“BP网络”时,一般是指用BP算法训练的多层前馈神经网络. 给定训练集 D { ( x 1 , y 1 ) , ( x 1 , y 1 ) , … … ( x m , y m ) } , y i ∈ R d D\{(x_{1},y_{1}),(x_{1},y_{1}),……(x_{m},y_{m})\},y_{i}\in R^{d} D{(x1​,y1​),(x1​,y1​),……(xm​,ym​)},yi​∈Rd即输入示例由d个属性描述,输出l维实值向量. 对训练例 ( x k , y k ) (x_k, y_k) (xk​,yk​),假定神经网络的输出为 y ^ k ( y ^ 1 k , y ^ 2 k , … … y ^ l k ) \hat{y}_{k}(\hat{y}_{1}^k,\hat{y}_{2}^k,……\hat{y}_{l}^k) y^​k​(y^​1k​,y^​2k​,……y^​lk​),即 则网络在 ( x k , y k ) (x_k, y_k ) (xk​,yk​)上的均方误差为: 图5.7的网络中有 ( d l 1 ) q l (dl1)ql (dl1)ql个参数需确定:输入层到隐层的 d × q d×q d×q个权值、隐层到输出层的 q × l q×l q×l个权值、 q q q个隐层神经元的阈值、 l l l个输出层神经元的阈值. BP是一个迭代学习算法,在迭代的每一轮中采用广义的感知机学习规则对参数进行更新估计,即与式类似任意参数v的更新估计式为: 如何求每一个节点的梯度 链式法则-反向传播 BP算法基于梯度下降(gradient descent)策略以目标的负梯度方向对参数进行调整.对式的误差E_k,给定学习率η,有: 注意到 W h j W_{hj} Whj​先影响到第 j j j个输出层神经元的输入值 B j B_j Bj​,再影响到其输出值 y ^ j k \hat{y}_j^k y^​jk​,然后影响到 E k E_k Ek​,有 根据 B j B_j Bj​的定义,显然有: Sigmoid函数有一个很好的性质: 于是有 于是得到了BP算法中关于 W h j W_{hj} Whj​的更新公式: 类似可得 学习率 η ∈ ( 0 , 1 ) η∈(0,1) η∈(0,1)控制着算法每一轮迭代中的更新步长若太大则容易振荡,太小则收敛速度又会过慢。 BP算法的工作流程.对每个训练样例 需注意的是BP算法的目标是要最小化训练集D上的累积误差 但我们上面介绍的“标准BP算法”每次仅针对一个训练样例更新连接权和阈值也就是说算法的更新规则是基于单个的E_k推导而得. 如果类似地推导出基于累积误差最小化的更新规则就得到了累积误差逆传播(accumulated error backpropagation)算法. 损失函数中求和并不影响单个求导所以是多个样例的求和 两种方法的比较 标准BP算法每次更新只针对单个样例,参数更新得非常频繁,而且对不同样例进行更新的效果可能出现“抵消”现象.为了达到同样的累积误差极小点标准BP算法往往需进行更多次数的迭代.累积BP算法直接针对累积误差最小化,它在读取整个训练集D 一遍后才对参数进行更新其参数更新的频率低得多.但在很多任务中,累积误差下降到一定程度之后进一步下降会非常缓慢,这时标准BP往往会更快获得较好的解尤其是在训练集D非常大时更明显. 两种方法的缺点 标准BP震荡 累积BP大样本时速度慢 Hornik 在1989年已经证明,只需一个包含足够多神经元的隐层多层前馈网络就能以任意精度逼近任意复杂度的连续函数。然而如何设置隐层神经元的个数仍是个未决问题实际应用中通常靠“试错法”(trial-by-error)调整. 试错法为了追求达到理想目标而通过不断试验和消除误差探索具有黑箱性质的系统的方法。统称为试错法 有两种策略常用来缓解BP网络的过拟合 第一种策略是“早停”(early stopping):将数据分成训练集和验证集,训练集用来计算梯度、更新连接权和阈值,验证集用来估计误差若训练集误差降低但验证集误差升高,则停止训练,同时返回具有最小验证集误差的连接权和阈值。第二种策略是“正则化”(regularization) [Barron, 1991; Girosi et al, 1995],其基本思想是在误差目标函数中增加一个用于描述网络复杂度的部分例如连接权与阈值的平方和。 仍令 E k E_k Ek​表示第 k k k个训练样例上的误差, w i w_i wi​表示连接权和阙值,则误差目标函数改变为: 其中 λ ∈ ( 0 , 1 ) λ∈(0,1) λ∈(0,1)用于对经验误差与网络复杂度这两项进行折中常通过交叉验证法来估计。 四、全局最小与局部最小 若用 E E E表示神经网络在训练集上的误差则它显然是关于连接权 w w w和阈值 θ θ θ的函数。此时神经网络的训练过程可看作一个参数寻优过程即在参数空间中寻找一组最优参数使得 E E E最小。 两种“最优”:“ 局部极小”(local minimum)和“全局最小”(global minimum)。对 w ∗ w^* w∗和θ ∗ ^* ∗若存在 ϵ gt; 0 ϵgt;0 ϵ0使得: 都有 E ( w ; θ ) ≥ E ( w ∗ ; θ ∗ ) E(w;θ)≥E(w^*;θ^*) E(w;θ)≥E(w∗;θ∗) 成立,则 ( w ∗ ; θ ∗ ) (w^*;θ^*) (w∗;θ∗)为局部极小解;若对参数间中的任意 ( w ; θ ) (w;θ) (w;θ)都有 E ( w ; θ ) ≥ E ( w ∗ ; θ ∗ ) E(w;θ)≥E(w^*;θ^*) E(w;θ)≥E(w∗;θ∗),则 ( ( w ∗ ; θ ∗ ) ((w^*;θ^*) ((w∗;θ∗)为全局最小解。两者对应的 E ( w ∗ ; θ ∗ ) E(w^*;θ^*) E(w∗;θ∗) 分别称为误差函数的局部极小值和全局最小值。 基于梯度的搜索是使用最为广泛的参数寻优方法.在此类方法中我们从某些初始解出发迭代寻找最优参数值.每次迭代中我们先计算误差函数在当前点的梯度,然后根据梯度确定搜索方向。 如果误差函数具有多个局部极小,则不能保证找到的解是全局最小.对后一种情形,我们称参数寻优陷入了局部极小这显然不是我们所希望的. 在现实任务中人们常采用以下策略来试图“跳出”局部极小从而进一步接近全局最小: 以多组不同参数值初始化多个神经网络,按标准方法训练后取其中误差最小的解作为最终参数。使用模拟退火技术。模拟退火在每一步都以一定的概率接受比当前解更差的结果从而有助于“跳出”局部极小。在每步迭代过程中接受“次优解”的概率要随着时间的推移而逐渐降低从而保证算法稳定。使用随机梯度下降.与标准梯度下降法精确计算梯度不同,随机梯度下降法在计算梯度时加入了随机因素选取训练数据中的特例.于是,即便陷入局部极小点它计算出的梯度仍可能不为零,这样就有机会跳出局部极小继续搜索。 此外,遗传算法也常用来训练神经网络以更好地逼近全局最小。 五、BP算法的改进 1.引入动量法 标准BP算法实质上是一种简单的最速下降静态寻优算法 在修正权值w(k)时只是按k时刻的负梯度方向进行修正 没有考虑积累的经验即以前的梯度方向从而使学习过程振荡收敛缓慢。 附加动量法使网络在修正权值时不仅考虑误差在梯度上的 作用而且考虑在误差曲面上变化趋势的影响。 其中 D ( k ) D(k) D(k)为 k k k时刻的负梯度 D ( k − 1 ) D(k-1) D(k−1)为 k − 1 k-1 k−1时刻的负梯度。 α α α为学习率 α gt; 0 αgt;0 α0 η η η为动量项因子 $0≤η1 $ 所加入的动量项实质上相当于阻尼项它减小了学习过程 的振荡趋势改善了收敛性是一种应用比较广泛的改进 算法。 2.尺度变换法 标准BP学习算法采用的是一阶梯度法因而收敛较慢。若 采用二阶梯度法则可以大大提高收敛性。 虽然二阶梯度法具有较好的收敛性但是需要计算 E E E对 w w w的 二阶导数这个计算量很大。所以一般不直接采用二阶梯度法而常常采用变尺度法或共轭梯度法它们具有如二阶梯度法收敛较快的优点又无需直接计算二阶梯度。 3.自适应学习率调整法 在BP算法中网络权值的调整取决于学习速率和梯度。 自适应学习率调整准则是检查权值的修正是否真正降低了误差函数如果确实如此则说明所选的学习率小了可对其增加一个量若不是则说明产生了过调那么就应减小学习速率的值。 当连续两次迭代其梯度方向相同时表明下降太慢这时可使步长加倍当连续两次迭代其梯度方向相反时表明下降过头这时可使步长减半。 六、BP神经网络的训练 1.产生数据样本集 包括原始数据的收集、数据分析、变量选择和数据的预处理 首先要在大量的原始测量数据中确定出最主要的输入模式。在确定了最重要的输入量后需进行尺度变换和预处理。 尺度变换常常将它们变换到[-1,1]或[0,1]的范围。 在进行尺度变换前必须先检查是否存在异常点或称野点这些点必须删除。 通过对数据的预处理分析还可以检验其是否存在周期性、固定变换趋势或其它关系。 对数据的预处理就是要使得经变换后的数据对于神经网络更容易学习和训练。 对于一个问题应该选择多少数据这也是一个很关键的问题。 系统的输入输出关系就包含在数据样本中。一般来说取的 数据越多学习和训练的结果便越能正确反映输入输出关系。 但选太多的数据将增加收集、分析数据以及网络训练付出的代价选太少的数据则可能得不到正确的结果。 事实上数据的多数取决于许多因素如网络的大小、网络 测试的需要以及输入输出的分布等。 其中网络的大小最关键。通常较大的网络需要较多的训练数据。 在神经网络训练完成后需要有另外的测试数据来对网络加以检验测试数据应是独立的数据集合。 最简单的方法是交叉验证将收集到的可用数据随机地分成两部分比如其中三分之二用于网络的训练。另外三分之一 用于将来的测试。随机选取的目的是为了尽量减小这两部分数据的相关性。 影响数据大小的另一个因素是输入模式和输出结果的分布 对数据预先加以分类可以减小所需的数据量。相反数据 稀薄不匀甚至覆盖则势必要增加数据量。 2.确定网络的类型和结构 神经网络的类型很多需根据问题的性质和任务的要求来 合适地选择网络类型。 一般从已有的网络类型中选用一种比较简单而又能满足要求的网络新设计一个网络类型来满足问题的要求往往比 较困难。 若主要用于模式分类尤其是线性可分的情况则可采用 较为简单的感知器网络。 若主要用于函数估计则可应用BP网络。 在网络的类型确定后需要选择网络的结构和参数。 以BP网络为例需选择网络的层数、每层的节点数、初始 权值、阈值、学习算法、学习率等参数。 有些项的选择有一些指导原则但更多的是靠经验和试凑。 对于网络层数的选取 增加层数主要可以更进一步降低误差提高精度但同时也使网络复杂化从而增加了网络权值的训练时间。 而误差精度的提高实际上也可以通过增加隐含层中的神经元数目来获得其训练效果也比增加层数更容易观察和调整。所以一般情况下应优先考虑增加隐含层中的神经元数。 对于每层节点数的选取 对于具体问题若确定了输入和输出变量后网络输入层和输出层的节点个数也便随之确定了。 隐层节点数对网络的泛化能力有很大的影响。节点数太多倾向于记住所有的训练数据包括噪声的影响反而降低了泛化能力节点数太少不能拟和样本数据没有较好的泛化能力。 原则选择尽量少的节点数以实现尽量好的 泛化能力。 具体选择可采用如下方法先设较少的节点对网络进行训练并测试网络的逼近误差然后逐渐增加节点数直到测试的误差不再有明显的减少为止。 初始权值的选取 由于系统是非线性的初始值对于学习是否达到局部最小、是否能够收敛以及训练时间的长短关系很大。 如果初始值太大使得加权后的输入落到激活函数的饱和区从而导致其导数非常小而在计算权值的修正公式中修正量正比与其导数从而使调节过程几乎停顿下来。 一般总是希望经过初始加权后的每个神经元的输出值都接近于零这样可以保证每个神经元的权值都能够在他们的S 型激活函数变化最大之处进行调节。所以一般取初始权 值在(-1,1)之间的随机数。 学习速率的选取 学习速率决定每一次循环训练中所产生的权值变化量。大的学习速率可能导致系统的不稳定 小的学习速率会导致训练较长收敛速度很慢。不过能保证网络的误差值不跳出表面的低谷而最终趋于最小误差值。 一般情况下倾向于选取较小的学习速率以保证系统的稳 定性。学习速率一般的选取范围为 0.01 0.8 0.010.8 0.010.8 和初始权值的选取过程一样在一个神经网络的设计中网络要经过几个不同的学习速率的训练。通过观察每一次训练后的误差平方和的下降速率来判断选定的学习速率是否合适。 如果下降很快说明学习速率合适。若出现振荡则说明学习速率过大。 对于较复杂的网络为了减小寻找学习速率的训练次数以及训练时间比较合适的方法是采用自适应学习速率。 3.训练和测试 对所有样本数据正向运行一次并反向修改连接权一次称为一 次训练(或一次学习) 。 通常训练一个网络需要成百上千次。 并非训练的次数越多越能得到正确的输入输出的映射关系。 训练网络的目的在于找出蕴含在样本数据中的输入和输出之间的本质联系从而对于未经训练的输入也能给出合适的输出即局部泛化能力。 网络的性能主要是用它的泛化能力来衡量它不是用对训练数据的拟和程度来衡量而是用一组独立的数据来加以测试和检验。 由于所收集的数据都是包含噪声的训练的次数过多网络将包含噪声的数据都记录了下来在极端情况下训练后的网络可以实现相当于查表的功能。但是对于新的输入数据却不能给出合适的输出即并不具备很好的泛化能力。 实际操作时应该训练和测试交替进行即每训练一次同时用测试数据测试一遍画出均方误差随训练次数的变换曲线 。 在用测试数据检验时均方误差开始逐渐减小当训练次数再增加时测试检验误差反而增加误差曲线上极小点所对应的即为恰当的训练次数若再训练即为“过度训练”了。 七、项目实战 项目实战请转至 [1] tensorflow学习笔记三利用BP线性回归 [2] tensorflow学习笔记四利用BP手写体(MNIST)识别 系列相关论文 1.卷积神经网络CNN模块化剖析 2.用于图像分类的经典的卷积神经网络CNN 3.神经⽹络可以计算任何函数的可视化证明
http://www.tj-hxxt.cn/news/218975.html

相关文章:

  • 自己做的网站别人查看温州市建设局网站
  • 阳江市住房和城乡规划建设局网站创新的营销型网站
  • 非官方网站建设网站策划书案例展示
  • 帝国cms 网站地图 自定义租赁模板建站 网站的名称归属
  • 软工毕设做网站wordpress宝塔安装
  • 网站域名可以自己做吗在线设计平台市场分析
  • 爱做网站网址广东省建设教育协会是什么网站
  • 邦邻网站建设韩国封号事件网站建设
  • 简要叙述如何规划建设一个企业网站网站建设修饰商品
  • 网站免费推广策划方案马鞍山天立建设网站
  • 深圳营销网站建设公司哪家好网页游戏开发语言
  • 商城网站开发流程深圳公司注册多少钱
  • 长沙百度网站制作国际阿里巴巴官网首页
  • 广告视频素材网站wordpress漫画网站
  • 长沙企业网站建设价格电商定制开发
  • 网站开发主要语言成都定制网站设
  • 张家港网站关键词优化下载app平台
  • 农业信息网站建设概念个人婚礼网站模板
  • 怎么做简单的企业网站如何做网站主题
  • 网站建设需要交文化建设税吗徐州城乡建设网站
  • 模仿建设银行网站上海网站建设哪个平台好
  • 关于开展网站建设工作的通知成全视频免费观看在线看城南
  • 帮忙做网站川汇网站建设
  • jsp可以做网站首页吗漳州seo建站
  • 长治专业做网站虚拟主机免费云服务器
  • 下载建设网站软件培训中心网站建设论文
  • 彩票网站建设哪里嘉兴网站建设优化
  • 网站源码如何优化只做网站的
  • 高端企业网站开发wordpress 淘宝客 采集
  • 西安网站开发公司地址房地产基础知识300问