文档详情

面向对象编程方式在网络神经元算法中应用.doc

发布:2017-08-11约2.36千字共4页下载文档
文本预览下载声明
面向对象编程方式在网络神经元算法中应用摘要: 网络神经元算法是一个建立非线性模型的算法,在自动化控制领域得到了较高的评价。但同时应用起来较为困难的算法。在建立一个实际的自动化控制模型时,必须根据控制对象采用合适的网络及合适训练方法,因此在研发过程中需要不断的调整程序和算法。在这个繁琐的过程中,一个好的设计和编程方法是非常重要的。该文章通过一个实践中网络神经元算法开发过程的案例,对比采用面向对象方法编程的过程,分析了这种编程方式的得失。 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 RD, 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为单个神经元节点结构。
显示全部
相似文档