<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8"><meta name="generator" content="pdf2htmlEX"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><link rel="stylesheet" href="https://csdnimg.cn/release/download_crawler_static/css/base.min.css"><link rel="stylesheet" href="https://csdnimg.cn/release/download_crawler_static/css/fancy.min.css"><link rel="stylesheet" href="https://csdnimg.cn/release/download_crawler_static/5701137/raw.css"><script src="https://csdnimg.cn/release/download_crawler_static/js/compatibility.min.js"></script><script src="https://csdnimg.cn/release/download_crawler_static/js/pdf2htmlEX.min.js"></script><script>try{pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});}catch(e){}</script><title></title></head><body><div id="sidebar" style="display: none"><div id="outline"></div></div><div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://csdnimg.cn/release/download_crawler_static/5701137/bg1.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">Matlab神经网络工具箱应用简介 <span class="_"> </span> </div><div class="t m0 x2 h3 y2 ff1 fs1 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y3 ff1 fs2 fc2 sc2 ls2 ws0">第一章 介绍<span class="fc1 sc1 ls1"> </span></div><div class="t m0 x2 h4 y4 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y5 ff1 fs2 fc1 sc1 ls3 ws0"> <span class="fc0 sc0 ls2">1.神经网络</span><span class="ls1"> </span></div><div class="t m0 x2 h4 y6 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>神经网络是单个并行处理元素的集合,<span class="_ _0"></span>我们从生物学神经系统得到启发。<span class="_ _0"></span>在自然界,<span class="_ _0"></span>网</div><div class="t m0 x2 h4 y7 ff1 fs2 fc1 sc1 ls1 ws0">络功能主要由神经节决定,我们可以通过改变连接点的权重来训练神经网络完成特定的功</div><div class="t m0 x2 h4 y8 ff1 fs2 fc1 sc1 ls1 ws0">能。</div><div class="t m0 x3 h4 y9 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 ya ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>一般的神经网络都是可调节的,<span class="_ _1"></span>或者说可训练的,<span class="_ _1"></span>这样一个特定的输入便可得到要求的</div><div class="t m0 x2 h4 yb ff1 fs2 fc1 sc1 ls1 ws0">输出。如下图所示。这里,网络根据输出和目标的比较而调整,直到网络输出和目标匹配。</div><div class="t m0 x2 h4 yc ff1 fs2 fc1 sc1 ls4 ws0">作为典型,许多输入/目标对应的方法已被用在有监督模式中来训练神经网络。 </div><div class="t m0 x4 h4 yd ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 ye ff1 fs2 fc1 sc1 ls3 ws0"> </div><div class="t m0 x5 h4 yf ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y10 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>神经网络已经在各个领域中应用,以实现各种复杂的功能。这些领域包括:模式识别、</div><div class="t m0 x2 h4 y11 ff1 fs2 fc1 sc1 ls1 ws0">鉴定、分类、语音、翻译和控制系统。</div><div class="t m0 x6 h4 y12 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y13 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>如今神经网络能够用来解决常规计算机和人难以解决的问题。<span class="_ _2"></span>我们主要通过这个工具箱</div><div class="t m0 x2 h4 y14 ff1 fs2 fc1 sc1 ls1 ws0">来建立示范的神经网络系统,并应用到工程、金融和其他实际项目中去。</div><div class="t m0 x7 h4 y15 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y16 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>一般普遍使用有监督训练方法,<span class="_ _2"></span>但是也能够通过无监督的训练方法或者直接设计得到其</div><div class="t m0 x2 h4 y17 ff1 fs2 fc1 sc1 ls1 ws0">他的神经网络。<span class="_ _1"></span>无监督网络可以被应用在数据组的辨别上。<span class="_ _1"></span>一些线形网络和Hopfield网络是</div><div class="t m0 x2 h4 y18 ff1 fs2 fc1 sc1 ls1 ws0">直接设计的。总的来说,有各种各样的设计和学习方法来增强用户的选择。</div><div class="t m0 x8 h4 y19 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y1a ff1 fs2 fc1 sc1 ls5 ws0"> <span class="_"> </span> <span class="_"> </span>神经网络领域已经有<span class="_ _3"> </span>50<span class="_ _3"> </span>年的历史了,<span class="_ _1"></span>但是实际的应用却是在最近<span class="_ _3"> </span>15<span class="_ _3"> </span>年里,<span class="_ _1"></span>如今神经网</div><div class="t m0 x2 h4 y1b ff1 fs2 fc1 sc1 ls1 ws0">络仍快速发展着。<span class="_ _4"></span>因此,<span class="_ _4"></span>它显然不同与控制系统和最优化系统领域,<span class="_ _4"></span>它们的术语、<span class="_ _4"></span>数学理论</div><div class="t m0 x2 h4 y1c ff1 fs2 fc1 sc1 ls1 ws0">和设计过程都已牢固的建立和应用了好多年。<span class="_ _2"></span>我们没有把神经网络工具箱仅看作一个能正常</div><div class="t m0 x2 h4 y1d ff1 fs2 fc1 sc1 ls1 ws0">运行的建好的处理轮廓。<span class="_ _0"></span>我们宁愿希望它能成为一个有用的工业、<span class="_ _0"></span>教育和研究工具,<span class="_ _0"></span>一个能</div><div class="t m0 x2 h4 y1e ff1 fs2 fc1 sc1 ls1 ws0">够帮助用户找到什么能够做什么不能做的工具,<span class="_ _2"></span>一个能够帮助发展和拓宽神经网络领域的工</div><div class="t m0 x2 h4 y1f ff1 fs2 fc1 sc1 ls1 ws0">具。<span class="_ _0"></span>因为这个领域和它的材料是如此新,<span class="_ _0"></span>这个工具箱将给我们解释处理过程,<span class="_ _0"></span>讲述怎样运用</div><div class="t m0 x2 h4 y20 ff1 fs2 fc1 sc1 ls1 ws0">它们,<span class="_ _0"></span>并且举例说明它们的成功和失败。<span class="_ _0"></span>我们相信要成功和满意的使用这个工具箱,<span class="_ _0"></span>对范例</div><div class="t m0 x2 h4 y21 ff1 fs2 fc1 sc1 ls1 ws0">和它们的应用的理解是很重要的,<span class="_ _2"></span>并且如果没有这些说明那么用户的埋怨和质询就会把我们</div><div class="t m0 x2 h4 y22 ff1 fs2 fc1 sc1 ls1 ws0">淹没。<span class="_ _0"></span>所以如果我们包括了大量的说明性材料,<span class="_ _0"></span>请保持耐心。<span class="_ _0"></span>我们希望这些材料能对你有帮</div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div></body></html>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://csdnimg.cn/release/download_crawler_static/5701137/bg2.jpg"><div class="t m0 x2 h4 y23 ff1 fs2 fc1 sc1 ls1 ws0">助。 </div><div class="t m0 x2 h4 y24 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>这个章节在开始使用神经网络工具箱时包括了一些注释,<span class="_ _2"></span>它也描述了新的图形用户接口</div><div class="t m0 x2 h4 y25 ff1 fs2 fc1 sc1 ls1 ws0">和新的运算法则和体系结构,<span class="_ _2"></span>并且它解释了工具箱为了使用模块化网络对象描述而增强的机</div><div class="t m0 x2 h4 y26 ff1 fs2 fc1 sc1 ls1 ws0">动性。<span class="_ _2"></span><span class="ls6">最后这一章给出了一个神经网络实际应用的列表并增加了一个新的文本--神经网络设</span></div><div class="t m0 x2 h4 y27 ff1 fs2 fc1 sc1 ls1 ws0">计。<span class="_ _1"></span>这本书介绍了神经网络的理论和它们的设计和应用,<span class="_ _1"></span>并给出了相当可观的MATLAB和神经</div><div class="t m0 x2 h4 y28 ff1 fs2 fc1 sc1 ls1 ws0">网络工具箱的使用。</div><div class="t m0 x9 h4 y29 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y2a ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y2b ff1 fs2 fc1 sc1 ls3 ws0"> <span class="fc0 sc0 ls2">2.准备工作</span><span class="ls1"> </span></div><div class="t m0 x2 h4 y2c ff1 fs2 fc1 sc1 ls3 ws0"> <span class="fc3 sc3 ls7">基本章节</span><span class="ls1"> </span></div><div class="t m0 x2 h4 y2d ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>第一章是神经网络的基本介绍,<span class="_ _2"></span>第二章包括了由工具箱指定的有关网络结构和符号的基</div><div class="t m0 x2 h4 y2e ff1 fs2 fc1 sc1 ls8 ws0">本材料以及建立神经网络的一些基本函数,例如new、init、<span class="ls9">adapt和train。第三章以反向</span></div><div class="t m0 x2 h4 y2f ff1 fs2 fc1 sc1 ls1 ws0">传播网络为例讲解了反向传播网络的原理和应用的基本过程。</div><div class="t m0 xa h4 y30 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y31 ff1 fs2 fc1 sc1 ls3 ws0"> <span class="fc3 sc3 ls7">帮助和安装</span><span class="ls1"> </span></div><div class="t m0 x2 h4 y32 ff1 fs2 fc1 sc1 lsa ws0"> <span class="_"> </span> <span class="_"> </span>神经网络工具箱包含在nnet目录中,键入help nnet可得到帮助主题。<span class="ls1"> </span></div><div class="t m0 x2 h4 y33 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>工具箱包含了许多示例。<span class="_ _1"></span>每一个例子讲述了一个问题,<span class="_ _1"></span>展示了用来解决问题的网络并给</div><div class="t m0 x2 h4 y34 ff1 fs2 fc1 sc1 ls1 ws0">出了最后的结果。显示向导要讨论的神经网络例子和应用代码可以通过键入<span class="lsb">help nndemos</span></div><div class="t m0 x2 h4 y35 ff1 fs2 fc1 sc1 ls1 ws0">找到。</div><div class="t m0 xb h4 y36 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y37 ff1 fs2 fc1 sc1 lsc ws0"> <span class="_"> </span> <span class="_"> </span>安装神经网络工具箱的指令可以在下列两份MATLAB<span class="lsd">文档中找到:the Installation </span></div><div class="t m0 x2 h4 y38 ff1 fs2 fc1 sc1 lse ws0">Guide for MS-Windows and Macintosh 或者the Installation Guide for<span class="lsb"> UNIX。</span></div><div class="t m0 xc h4 y39 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y3a ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y3b ff1 fs2 fc2 sc2 lsf ws0">第二章 神经元模型和网络结构<span class="fc1 sc1 ls1"> </span></div><div class="t m0 x2 h4 y3c ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y3d ff1 fs2 fc1 sc1 ls3 ws0"> <span class="fc0 sc0 ls10">1.符号</span><span class="ls1"> </span></div><div class="t m0 x2 h4 y3e ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>数学符号 </div><div class="t m0 x2 h4 y3f ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span>下面给出等式和数字中用到的基本符号: </div><div class="t m0 x2 h4 y40 ff1 fs2 fc1 sc1 ls11 ws0"> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span>标量--小写的斜体字.....</div><div class="t m1 xd h5 y40 ff1 fs3 fc1 sc1 ls12 ws0">a,b,c</div><div class="t m0 x6 h4 y40 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y41 ff1 fs2 fc1 sc1 ls13 ws0"> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span>向量--小写加粗的非斜体字.....<span class="sc4 ls14">a,b,c</span><span class="ls1"> </span></div><div class="t m0 x2 h4 y42 ff1 fs2 fc1 sc1 ls15 ws0"> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span>矩阵 - 大写加粗的非斜体字.....<span class="sc4 ls14">A,B,C</span><span class="ls1"> </span></div><div class="t m0 x2 h4 y43 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span>向量表示一组数字 </div><div class="t m0 x2 h4 y44 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>数学符号和字符的等价 </div><div class="t m0 x2 h4 y45 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span>从数学符号到字符的转换或者反过来可以遵循一些规则,<span class="_ _2"></span>为了便于今后引用我们将这</div><div class="t m0 x2 h4 y46 ff1 fs2 fc1 sc1 ls16 ws0">些规则列出。为了从数学符号变为MATLAB符号用户需要:</div><div class="t m0 xe h4 y47 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y48 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span>变上标为细胞数组标号 </div><div class="t m0 x2 h4 y49 ff1 fs2 fc1 sc1 ls3 ws0"> 例<span class="_ _5"></span>如<span class="_ _5"></span> <span class="_ _6"> </span><span class="ls1"> </span></div><div class="t m0 x2 h4 y4a ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span>变下标为圆括号标号 </div><div class="t m0 x2 h4 y4b ff1 fs2 fc1 sc1 ls3 ws0"> 例<span class="_ _5"></span>如<span class="_ _5"></span> <span class="_ _7"> </span><span class="ls1">和 <span class="_ _8"> </span> </span></div><div class="t m0 x2 h4 y4c ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span>变圆括号标号为二维数组标号 </div><div class="t m0 x2 h4 y4d ff1 fs2 fc1 sc1 ls3 ws0"> 例<span class="_ _5"></span>如<span class="_ _5"></span> <span class="_ _9"> </span><span class="ls1"> </span></div><div class="t m0 x2 h4 y4e ff1 fs2 fc1 sc1 ls17 ws0"> <span class="_"> </span> <span class="_"> </span> <span class="_"> </span>变数学运算符为MATLAB 运算符和工具箱函数<span class="ls1"> </span></div><div class="t m0 x2 h4 y4f ff1 fs2 fc1 sc1 ls3 ws0"> 例<span class="_ _5"></span>如<span class="_ _5"></span> <span class="_ _a"> </span><span class="ls1"> </span></div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://csdnimg.cn/release/download_crawler_static/5701137/bg3.jpg"><div class="t m0 x2 h4 y23 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y24 ff1 fs2 fc1 sc1 ls3 ws0"> <span class="fc0 sc0 ls18">2.神经元模型</span><span class="ls1"> </span></div><div class="t m0 x2 h4 y50 ff1 fs2 fc1 sc1 ls3 ws0"> <span class="fc3 sc3 ls7">单神经元</span><span class="ls1"> </span></div><div class="t m0 x2 h4 y51 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>下图所示为一个单标量输入且无偏置的神经元。 </div><div class="t m0 x2 h4 y52 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y53 ff1 fs2 fc1 sc1 ls3 ws0"> </div><div class="t m0 x5 h4 y54 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y37 ff1 fs2 fc1 sc1 ls4 ws0">这个输入标量通过乘以权重为标量w的连结点得到结果</div><div class="t m1 xf h5 y37 ff1 fs3 fc1 sc1 ls12 ws0">wp</div><div class="t m0 x10 h4 y37 ff1 fs2 fc1 sc1 ls1 ws0">,这仍是一个标量。这里,加权的</div><div class="t m0 x2 h4 y38 ff1 fs2 fc1 sc1 ls1 ws0">输入</div><div class="t m1 x3 h5 y39 ff1 fs3 fc1 sc1 ls12 ws0">wp</div><div class="t m0 xb h4 y39 ff1 fs2 fc1 sc1 ls4 ws0">仅仅是转移函数f的参数,函数的输入是标量</div><div class="t m1 x11 h5 y39 ff1 fs3 fc1 sc1 ls1 ws0">a</div><div class="t m0 x12 h4 y39 ff1 fs2 fc1 sc1 ls1 ws0">。右边的神经元有一个标量偏置</div><div class="t m1 x13 h5 y39 ff1 fs3 fc1 sc1 ls1 ws0">b</div><div class="t m0 x14 h4 y39 ff1 fs2 fc1 sc1 ls1 ws0">,你</div><div class="t m0 x2 h4 y3a ff1 fs2 fc1 sc1 ls1 ws0">既可以认为它仅仅是通过求和节点加在结果 </div><div class="t m1 x15 h5 y55 ff1 fs3 fc1 sc1 ls12 ws0">wp</div><div class="t m0 x16 h4 y55 ff1 fs2 fc1 sc1 ls1 ws0">上,也可以认为它把函数</div><div class="t m1 x17 h5 y55 ff1 fs3 fc1 sc1 ls1 ws0">f</div><div class="t m0 x7 h4 y55 ff1 fs2 fc1 sc1 ls1 ws0">左移了</div><div class="t m1 x4 h5 y55 ff1 fs3 fc1 sc1 ls1 ws0">b</div><div class="t m0 x18 h4 y55 ff1 fs2 fc1 sc1 ls1 ws0">个单位,</div><div class="t m0 x2 h4 y56 ff1 fs2 fc1 sc1 ls1 ws0">偏置除了有一个固定不变的输入值<span class="_ _3"> </span>1<span class="_ _3"> </span>以外,其他的很像权重。标量</div><div class="t m1 x19 h5 y3b ff1 fs3 fc1 sc1 ls1 ws0">n</div><div class="t m0 x1a h4 y3b ff1 fs2 fc1 sc1 ls1 ws0">是加权输入</div><div class="t m1 x1b h5 y3b ff1 fs3 fc1 sc1 ls12 ws0">wp</div><div class="t m0 x18 h4 y3b ff1 fs2 fc1 sc1 ls1 ws0">和偏置</div><div class="t m1 x1c h5 y3b ff1 fs3 fc1 sc1 ls1 ws0">b</div><div class="t m0 x2 h4 y57 ff1 fs2 fc1 sc1 ls19 ws0">的和,<span class="_ _4"></span>它作为转移函数f的参数。<span class="_ _4"></span>函数</div><div class="t m1 x1d h5 y57 ff1 fs3 fc1 sc1 ls1 ws0">f</div><div class="t m0 x1e h4 y57 ff1 fs2 fc1 sc1 ls1 ws0">是转移函数,<span class="_ _4"></span>它可以为阶跃函数或者曲线函数,<span class="_ _4"></span>它接</div><div class="t m0 x2 h4 y58 ff1 fs2 fc1 sc1 ls1 ws0">收参数</div><div class="t m1 xb h5 y3d ff1 fs3 fc1 sc1 ls1 ws0">n</div><div class="t m0 x1f h4 y3d ff1 fs2 fc1 sc1 ls4 ws0">给出输出a,<span class="_ _1"></span>下一节将给出各种不同的转移函数。<span class="_ _1"></span>注意神经元中的</div><div class="t m1 x17 h5 y3d ff1 fs3 fc1 sc1 ls1 ws0">w</div><div class="t m0 x7 h4 y3d ff1 fs2 fc1 sc1 ls1 ws0">和</div><div class="t m1 x8 h5 y3d ff1 fs3 fc1 sc1 ls1 ws0">b</div><div class="t m0 x20 h4 y3d ff1 fs2 fc1 sc1 ls1 ws0">都是可调整的</div><div class="t m0 x2 h4 y59 ff1 fs2 fc1 sc1 ls1 ws0">标量参数。神经网络的中心思想就是参数的可调整使得网络展示需要和令人感兴趣的行为。</div><div class="t m0 x2 h4 y5a ff1 fs2 fc1 sc1 ls1 ws0">这样,<span class="_ _1"></span>我们就可以通过调整权重和偏置参量训练神经网络做一定的工作。<span class="_ _1"></span>或者神经网络自己</div><div class="t m0 x2 h4 y5b ff1 fs2 fc1 sc1 ls1 ws0">调整参数以得到想要的结果。</div><div class="t m0 x21 h4 y40 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y41 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>在这个工具箱里所有的神经元都提供偏置,<span class="_ _2"></span>我们的许多例子中都用到了偏置并且假定它</div><div class="t m0 x2 h4 y5c ff1 fs2 fc1 sc1 ls1 ws0">在这个工具箱的大多数情况下都要用到。<span class="_ _0"></span>可是,<span class="_ _0"></span>如果你愿意的话,<span class="_ _0"></span>你也可以在一个神经元中</div><div class="t m0 x2 h4 y5d ff1 fs2 fc1 sc1 ls1 ws0">省略偏置。</div><div class="t m0 x22 h4 y43 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y44 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>正如上面所提到的,在神经元中,标量</div><div class="t m1 x23 h5 y44 ff1 fs3 fc1 sc1 ls1 ws0">b</div><div class="t m0 x15 h4 y44 ff1 fs2 fc1 sc1 ls1 ws0">是个可调整的参数。它不是一个输入。可是驱</div><div class="t m0 x2 h4 y5e ff1 fs2 fc1 sc1 ls1 ws0">动偏置的常量<span class="_ _3"> </span>1<span class="_ _3"> </span>却是一个输入而且当考虑线性输入向量时一定要这样认为。</div><div class="t m0 x8 h4 y45 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y47 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>转移函数 </div><div class="t m0 x2 h4 y48 ff1 fs2 fc1 sc1 ls5 ws0"> <span class="_"> </span> <span class="_"> </span>在这个工具箱里包括了许多转移函数。你能在"Transfer <span class="_ _1"></span>Func<span class="ls1">tion <span class="_ _1"></span>Graphs"中找到它们</span></div><div class="t m0 x2 h4 y5f ff1 fs2 fc1 sc1 ls1 ws0">的完全列表。下面列出了三个最常用的函数。</div><div class="t m0 x24 h4 y60 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y61 ff1 fs2 fc1 sc1 ls3 ws0"> <span class="_ _b"> </span><span class="ls1"> </span></div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>
<div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://csdnimg.cn/release/download_crawler_static/5701137/bg4.jpg"><div class="t m0 x2 h4 y23 ff1 fs2 fc1 sc1 ls4 ws0"> <span class="_"> </span> <span class="_"> </span>上图所示的阶跃转移函数限制了输出,使得输入参数小于<span class="_ _3"> </span>0<span class="_ _3"> </span>时输出为<span class="_ _3"> </span>0,大于或等于<span class="_ _3"> </span>0</div><div class="t m0 x2 h4 y62 ff1 fs2 fc1 sc1 ls4 ws0">时输出为<span class="_ _3"> </span>1,在第三章中我们将用它来进行分类。</div><div class="t m0 x25 h4 y24 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y50 ff1 fs2 fc1 sc1 ls1a ws0"> <span class="_"> </span> <span class="_"> </span>工具箱中有一个函数hardlim来数学上的阶跃,如上图所示。我们可以输入以下代码<span class="ls1"> </span></div><div class="t m0 x2 h4 y51 ff1 fs2 fc1 sc1 lsb ws0"> <span class="_"> </span> <span class="_"> </span>n = -5:0.1:5;<span class="ls1"> </span></div><div class="t m0 x2 h4 y63 ff1 fs2 fc1 sc1 lsb ws0"> <span class="_"> </span> <span class="_"> </span>plot(n,hardlim(n),'c+:');<span class="ls1"> </span></div><div class="t m0 x2 h4 y29 ff1 fs2 fc1 sc1 ls6 ws0"> <span class="_"> </span> <span class="_"> </span>它产生一张在-5<span class="_ _3"> </span>到<span class="_ _3"> </span>5<span class="_ _3"> </span>之间的阶跃函数图。<span class="ls1"> </span></div><div class="t m0 x2 h4 y64 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>所有在工具箱中的数学转移函数都能够用同名的函数实现。 </div><div class="t m0 x2 h4 y2b ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>线性转移函数如下图所示 </div><div class="t m0 x2 h4 y65 ff1 fs2 fc1 sc1 ls3 ws0"> <span class="_ _c"> </span><span class="ls1"> </span></div><div class="t m0 x2 h4 y37 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>这种类型的神经元将在第四章的自适应线性滤波中用作线性拟合。 </div><div class="t m0 x2 h4 y39 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>下图显示的曲线转移函数的输入参数是正负区间的任意值,而将输出值限定于<span class="_ _3"> </span>0<span class="_ _3"> </span>到<span class="_ _3"> </span>1</div><div class="t m0 x2 h4 y3a ff1 fs2 fc1 sc1 ls1 ws0">之间。</div><div class="t m0 xb h4 y55 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y66 ff1 fs2 fc1 sc1 ls3 ws0"> <span class="_ _d"> </span><span class="ls1"> </span></div><div class="t m0 x2 h4 y47 ff1 fs2 fc1 sc1 ls6 ws0"> <span class="_"> </span> <span class="_"> </span>这种传递函数通常用于反向传播(BP)网络,这得益于函数的可微性。<span class="ls1"> </span></div><div class="t m0 x2 h4 y48 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>在上面所示的每一个转移函数图的右边方框中的符号代表了对应的函数,<span class="_ _2"></span>这些图表将替</div><div class="t m0 x2 h4 y5f ff1 fs2 fc1 sc1 ls4 ws0">换网络图的方框中的f来表示所使用的特定的转移函数。</div><div class="t m0 x10 h4 y60 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y67 ff1 fs2 fc1 sc1 ls6 ws0"> <span class="_"> </span> <span class="_"> </span>第<span class="_ _3"> </span>13<span class="_ _3"> </span>章列出了所有的转移函数和图标。你能够定义自己的传递函数,你可以不限于使</div><div class="t m0 x2 h4 y68 ff1 fs2 fc1 sc1 ls1a ws0">用第<span class="_ _3"> </span>13<span class="_ _3"> </span>章所列的转移函数。你能够通过运行示例程序nn2n1<span class="_ _3"> </span>来试验一个神经元和各种转移</div><div class="t m0 x2 h4 y69 ff1 fs2 fc1 sc1 ls1 ws0">函数。</div><div class="t m0 xb h4 y6a ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y6b ff1 fs2 fc1 sc1 ls1 ws0">带向量输入的神经元 </div><div class="t m0 x2 h4 y4c ff1 fs2 fc1 sc1 ls4 ws0"> <span class="_"> </span> <span class="_"> </span>一个有R个元素输入向量的神经元如下图所示。这里单个输入元素<span class="ls1"> </span></div><div class="t m0 x2 h4 y6c ff1 fs2 fc1 sc1 ls3 ws0"> <span class="_ _e"> </span><span class="ls1"> </span></div><div class="t m0 x2 h4 y4e ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>乘上权重 </div><div class="t m0 x2 h4 y6d ff1 fs2 fc1 sc1 ls3 ws0"> <span class="_ _f"> </span><span class="ls1"> </span></div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>
<div id="pf5" class="pf w0 h0" data-page-no="5"><div class="pc pc5 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://csdnimg.cn/release/download_crawler_static/5701137/bg5.jpg"><div class="t m0 x2 h4 y23 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>得到加权值输入求和节点。它们的和是<span class="sc4 ls14">Wp</span>,单行矩阵<span class="sc4">W</span>和向量<span class="sc4">p</span>的点乘。 </div><div class="t m0 x2 h4 y6e ff1 fs2 fc1 sc1 ls3 ws0"> <span class="_ _10"> </span><span class="ls1"> </span></div><div class="t m0 x2 h4 y32 ff1 fs2 fc1 sc1 ls1b ws0"> <span class="_"> </span> <span class="_"> </span>这个神经元有一个偏置b,<span class="_ _1"></span>它加在加权的输入上得到网络输入n,<span class="_ _1"></span>和值n是转移函数f的参</div><div class="t m0 x2 h4 y6f ff1 fs2 fc1 sc1 ls1c ws0">数。表达式自然可用MATLAB代码表示为: n =W*p + b</div><div class="t m0 xf h4 y33 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y70 ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>可是,<span class="_ _1"></span>用户很少要写如此底层的代码,<span class="_ _1"></span>因为这些代码已经被建立到函数中来定义和模拟</div><div class="t m0 x2 h4 y71 ff1 fs2 fc1 sc1 ls1 ws0">整个网络。<span class="_ _1"></span>上面所示的图包括了许多细节。<span class="_ _1"></span>当我们考虑有许多神经元和可能是许多神经元组</div><div class="t m0 x2 h4 y72 ff1 fs2 fc1 sc1 ls1 ws0">成的多层网络时,<span class="_ _0"></span>我们可能会漏掉许多细节。<span class="_ _0"></span>因此,<span class="_ _0"></span>作者设计了一个简洁的符号代表单个神</div><div class="t m0 x2 h4 y73 ff1 fs2 fc1 sc1 ls1 ws0">经元。这个符号如下图中所示,它将会在以后的多重神经元电路中用到。</div><div class="t m0 x7 h4 y39 ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y74 ff1 fs2 fc1 sc1 ls3 ws0"> <span class="_ _11"> </span><span class="ls1"> </span></div><div class="t m0 x2 h4 y45 ff1 fs2 fc1 sc1 ls4 ws0"> <span class="_"> </span> <span class="_"> </span>这里输入向量p用左边的黑色实心竖条代表,<span class="_ _12"></span><span class="ls1a">p的维数写在符号p下面,<span class="_ _12"></span><span class="ls1d">在图中是Rx1。<span class="_ _13"></span><span class="ls7">(注</span></span></span></div><div class="t m0 x2 h4 y46 ff1 fs2 fc1 sc1 ls4 ws0">意我们用的是大写字母,<span class="_ _4"></span>正如在以前句子里R用来表示向量大小时一样。<span class="_ _4"></span>)<span class="_ _4"></span>因此,<span class="_ _4"></span>p是一个有</div><div class="t m0 x2 h4 y75 ff1 fs2 fc1 sc1 ls6 ws0">R个输入元素的向量。这个输入列向量乘上R列单行矩阵W。和以前一样,常量<span class="_ _3"> </span>1<span class="_ _3"> </span>作为一个输</div><div class="t m0 x2 h4 y76 ff1 fs2 fc1 sc1 ls1e ws0">入乘上偏置标量b,<span class="_ _0"></span>给转移函数的网络输入是n,<span class="_ _0"></span>它是偏置与乘积Wp的和。<span class="_ _0"></span>这个和值传给转移</div><div class="t m0 x2 h4 y77 ff1 fs2 fc1 sc1 ls4 ws0">函数f得到网络输出a,<span class="_ _0"></span>在这个例子中它是一个标量。<span class="_ _0"></span>注意如果我们有超过一个神经元,<span class="_ _0"></span>网络</div><div class="t m0 x2 h4 y78 ff1 fs2 fc1 sc1 ls1 ws0">输出就有可能是一个向量。</div><div class="t m0 x26 h4 y4a ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y6a ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>上面图中定义了神经网络的一层。<span class="_ _0"></span>一层包括权重的组合,<span class="_ _0"></span>乘法和加法操作<span class="_ _0"></span>(这里就是向</div><div class="t m0 x2 h4 y79 ff1 fs2 fc1 sc1 ls1b ws0">量乘积Wp),偏置b和转移函数f。输入数组,即向量p不包括在一层中。</div><div class="t m0 x17 h4 y6b ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y4c ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>这个简洁的网络符号每一次都会被用到,<span class="_ _1"></span>向量的大小会显示在矩阵变量名字的下面。<span class="_ _1"></span>我</div><div class="t m0 x2 h4 y7a ff1 fs2 fc1 sc1 ls1 ws0">们希望这个符号会让你理解神经网络的结构以及与之相关的矩阵数学。</div><div class="t m0 x27 h4 y7b ff1 fs2 fc1 sc1 ls1 ws0"> </div><div class="t m0 x2 h4 y7c ff1 fs2 fc1 sc1 ls1 ws0"> <span class="_"> </span> <span class="_"> </span>正如前面所讨论的,<span class="_ _1"></span>当特定的转移函数在一张图中被使用时,<span class="_ _1"></span>转移函数将用上面所示的</div><div class="t m0 x2 h4 y7d ff1 fs2 fc1 sc1 ls1 ws0">符号代替。下面是几个例子:</div><div class="t m0 x21 h4 y4e ff1 fs2 fc1 sc1 ls1 ws0"> </div></div><div class="pi" data-data='{"ctm":[1.611639,0.000000,0.000000,1.611639,0.000000,0.000000]}'></div></div>