当前位置:首页 > 思想汇报 > 面向对象 算法【面向对象的编程方式在网络神经元算法中的应用】
 

面向对象 算法【面向对象的编程方式在网络神经元算法中的应用】

发布时间:2019-06-22 04:31:16 影响了:

  摘要: 网络神经元算法是一个建立非线性模型的算法,在自动化控制领域得到了较高的评价。但同时应用起来较为困难的算法。在建立一个实际的自动化控制模型时,必须根据控制对象采用合适的网络及合适训练方法,因此在研发过程中需要不断的调整程序和算法。在这个繁琐的过程中,一个好的设计和编程方法是非常重要的。该文章通过一个实践中网络神经元算法开发过程的案例,对比采用面向对象方法编程的过程,分析了这种编程方式的得失。
  Abstract: Network neuron is the algorithm of establishing nonlinear model, which has been gotten higher evaluation in field of automation control. However, its application is relatively difficult. When establishing a practical automation control model, we must adopt appropriate network and proper training method according to the control object, therefore, it needs to constantly adjust procedures and algorithm in process of R&D, and in this cumbersome process, a good design and programming method is very important. In this paper, through the practical case of development of network neuron algorithm and the comparison of the process of using object-oriented programming, the gain and loss of this programming were analyzed.
  关键词: 面向对象;网络神经元
  Key words: object-oriented;network neurons
  中图分类号:TP2 文献标识码:A 文章编号:1006-4311(2012)24-0023-02
  1 概述
  面向对象(Object Oriented,OO)的编程方法从20世纪90年代以来,逐渐成为计算机软件的主流。但并非所有人都能熟练掌握这一方法。本文通过一个工作中的实例,讨论面向对象编程的优势。
  2 面向对象的编程方式
  面向对象的编程方式,主要特点有以下几方面。
  2.1 唯一性 每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。
  2.2 抽象性 抽象性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都必须与具体的应用有关。
  2.3 继承性 继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类时,可以在一个已经存在的类的基础之上,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新内容。
  2.4 多态性 多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果。多态性允许每个对象以适合自身的方式去响应共同的消息。
  一旦理解和把握好面向对象的方法,可以给设计和编程带来极大的方便,并且程序的可维护性也得到了极大的提高。虽然,面向对象的方法,给软件设计和编程带来了极大的好处,但是掌握起来并不容易,下面这个实例,就是我们在网络神经元算法中一个尝试和体会的过程。
  3 网络神经元算法
  我们在自动化实践中,需要用网络神元算法进行测试。网络神经元算法的结构图如图1。
  隐含层可为多层。
  具体算法如下:正向计算
  3.1 隐含层中第i个节点神经元输出
  a1i=f1(■w1ijpj+b1i)
  r——输入神经元个数,j——输入层神经元编号,i——隐含层神经元编号,f1——S型激活函数或双曲正切激活函数。
  3.2 输出层中第k个神经元的输出
  a2k=f2(■w2kia1i+b2k) s1——隐含层神经元个数,k——输出层神经元节点编号,f2——线形激活函数。
  3.3 误差函数
  E(W,B)=■■(tk-a2k)2 s2——输出层神经元节点个数。图2为单个神经元节点结构。
  4 探索的过程与得失
  网络神经元算法最初在测试时,数据结构采用了简单数组结构,算法包括正相计算和反相计算。但是随着实际工作的推进发现很多混乱,影响了整体工作的进展,大致如下。
  数据结构的不确定性。由于需要对算法进行测试,隐含层的层数需要变化,隐含层的节点数需要调整。输入节点数量发生变化,输出节点发生变化。整个网络结构的不确定性需要一个能适应这种变化的数据结构。
  多个网络造成存储混乱。训练过的网络需存储,可能有多个网络存在,需要随时调用不同的网络,在程序内,不同的网络结构不一样,算法有差异,函数调用不同。为了适应多个网络同时存在,需要每个网络之间具有独立性。
  不同算法之间造成的混乱。不同的网络需要不同的算法,同一个网络不同的需求下需要不同的算法。在训练时,需要根据不同的状况处理训练样本。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3