`
tanzek
  • 浏览: 52982 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

JOONE(Java Object-Oriented Network Engine)使用初探

阅读更多
  1 /**/ /*
  2  * JOONE - Java Object Oriented Neural Engine
  3  *  http://joone.sourceforge.net
  4  *
  5  * XOR_using_NeuralNet.java
  6  *
  7   */

  8 package  study;
  9
 10 import  org.joone.engine. * ;
 11 import  org.joone.engine.learning. * ;
 12 import  org.joone.io. * ;
 13 import  org.joone.net. * ;
 14 import  java.util.Vector;
 15
 16 public   class  XOR_using_NeuralNet  implements  NeuralNetListener  {
 17      private  NeuralNet            nnet  =   null ;
 18      private  MemoryInputSynapse  inputSynapse, desiredOutputSynapse;
 19      private  MemoryOutputSynapse outputSynapse;
 20     LinearLayer    input;
 21     SigmoidLayer hidden, output;
 22      boolean  singleThreadMode  =   true ;
 23     
 24      //  XOR input
 25      private   double [][]            inputArray  =   new   double [][]  {
 26          { 0.0 0.0 } ,
 27          { 0.0 1.0 } ,
 28          { 1.0 0.0 } ,
 29          { 1.0 1.0 }
 30     }
;
 31     
 32      //  XOR desired output
 33      private   double [][]            desiredOutputArray  =   new   double [][]  {
 34          { 0.0 } ,
 35          { 1.0 } ,
 36          { 1.0 } ,
 37          { 0.0 }
 38     }
;
 39     
 40      /** */ /**
 41      *  @param  args the command line arguments
 42       */

 43      public   static   void  main(String args[])  {
 44         XOR_using_NeuralNet xor  =   new  XOR_using_NeuralNet();
 45         
 46         xor.initNeuralNet();
 47         xor.train();
 48         xor.interrogate();
 49     }

 50     
 51      /** */ /**
 52      * Method declaration
 53       */

 54      public   void  train()  {
 55         
 56          //  set the inputs
 57         inputSynapse.setInputArray(inputArray);
 58         inputSynapse.setAdvancedColumnSelector( " 1,2 " );
 59          //  set the desired outputs
 60         desiredOutputSynapse.setInputArray(desiredOutputArray);
 61         desiredOutputSynapse.setAdvancedColumnSelector( " 1 " );
 62         
 63          //  get the monitor object to train or feed forward
 64         Monitor monitor  =  nnet.getMonitor();
 65         
 66          //  set the monitor parameters
 67         monitor.setLearningRate( 0.8 );
 68         monitor.setMomentum( 0.3 );
 69         monitor.setTrainingPatterns(inputArray.length);
 70         monitor.setTotCicles( 5000 );
 71         monitor.setLearning( true );
 72         
 73          long  initms  =  System.currentTimeMillis();
 74          //  Run the network in single-thread, synchronized mode
 75         nnet.getMonitor().setSingleThreadMode(singleThreadMode);
 76         nnet.go( true );
 77         System.out.println( " Total time=  " + (System.currentTimeMillis()  -  initms) + "  ms " );
 78     }

 79     
 80      private   void  interrogate()  {
 81          //  set the inputs
 82         inputSynapse.setInputArray(inputArray);
 83         inputSynapse.setAdvancedColumnSelector( " 1,2 " );
 84         Monitor monitor = nnet.getMonitor();
 85         monitor.setTrainingPatterns( 4 );
 86         monitor.setTotCicles( 1 );
 87         monitor.setLearning( false );
 88         MemoryOutputSynapse memOut  =   new  MemoryOutputSynapse();
 89          //  set the output synapse to write the output of the net
 90         
 91          if (nnet != null {
 92             nnet.addOutputSynapse(memOut);
 93             System.out.println(nnet.check());
 94             nnet.getMonitor().setSingleThreadMode(singleThreadMode);
 95             nnet.go();
 96             
 97              for ( int  i = 0 ; i < 4 ; i ++ {
 98                  double [] pattern  =  memOut.getNextPattern();
 99                 System.out.println( " Output pattern # "   +  (i + 1 +   " = "   +  pattern[ 0 ]);
100             }

101             System.out.println( " Interrogating Finished " );
102         }

103     }

104     
105      /** */ /**
106      * Method declaration
107       */

108      protected   void  initNeuralNet()  {
109         
110          //  First create the three layers
111         input  =   new  LinearLayer();
112         hidden  =   new  SigmoidLayer();
113         output  =   new  SigmoidLayer();
114         
115          //  set the dimensions of the layers
116         input.setRows( 2 );
117         hidden.setRows( 3 );
118         output.setRows( 1 );
119         
120         input.setLayerName( " L.input " );
121         hidden.setLayerName(</s
分享到:
评论

相关推荐

    joone-engine-1.1.2.zip_joone_joone-engine_joone-engine.jar_神经网络

    Joone Engine是一款基于Java开发的神经网络框架,其版本为1.1.2,封装在名为"joone-engine-1.1.2.zip"的压缩文件中。这个工具专为那些希望在Java环境中构建和训练神经网络模型的开发者设计。Joone Engine的核心组件...

    joone-engine-2.0.0RC1

    Joone Engine 2.0.0RC1 是一个基于Java的开源神经网络框架,专为在Java环境中构建和训练神经网络模型提供强大的支持。这个工具因其易用性和灵活性而受到开发者的欢迎,使得非专业AI背景的程序员也能轻松地进行神经...

    joone-engine-0.8.3.zip_Java 8_joone_神经网络 java

    Joone这个名字是“Java Object Oriented Neural Engine”的缩写,表明其核心设计理念是面向对象编程,以实现对神经网络的灵活控制。 在神经网络领域,Joone Engine允许开发者构建各种类型的神经网络,包括前馈型...

    joone-engine.jar

    java运行依赖jar包

    joone1.2.1-java包

    2. `joone-engine-1.2.1`:这是一个编译后的二进制包,包含了Joone引擎的jar文件和其他必要的类库,可以直接在Java环境中使用。开发者可以通过引入这个包到他们的项目中,快速开始构建神经网络模型。这个包包含了...

    Java开源神经网络框架JOONE,Maven

    &lt;artifactId&gt;joone-engine 版本号 ``` 这里的`版本号`应替换为JOONE当前可用的最新版本。Maven会自动从中央仓库或本地仓库(如果已经复制进去)下载该依赖并将其包含在项目的类路径中。 使用JOONE进行神经网络...

    joone JAVA中的开源神经网络框架

    Joone-ext.zip 和 joone-engine-2.0.0RC1.zip 可能分别包含了Joone的扩展库和引擎库,提供了更多的功能和特定版本的实现。而joone-engine-src-2.0.0RC1.zip 则包含了引擎部分的源代码,对于想要深入理解其工作原理或...

    joone-editor-0.5.2.zip_JooneEdit_joone editor.zip_joone-distrib_

    这个压缩包包含的是JooneEdit的0.5.2版本,以及可能的其他相关文件,如joone-distrib,这可能是指Joone的发行版。 Joone库是Java编程语言中的一个核心组件,它提供了用于构建和训练人工神经网络的框架。这个库的...

    joone框架 java实现神经网络 模式识别

    而`joone-engine-2.0.0RC2-20070314.zip`则是Joone引擎的具体实现,包含了库文件和可能的示例代码,供开发者在项目中引入和使用。 总的来说,Joone框架为Java开发者提供了一个强大的工具,可以用于构建复杂的神经...

    LTSM需要的jar包joone

    而“joone”则可能是Java Object Oriented Neural Engine的缩写,这是一个基于Java的神经网络框架。描述中提到joone是LTSM可能需要的jar包,但没有明确说明它们之间如何结合使用。此外,joone带有API文档和完整的...

    人工智能-神经网络工具包JOONE

    JOONE(Java Object Oriented Neural Network)是sourceforge上一个用java语言迅速开发神经网络的最新工具包

    开源java神经网络组件Joone、Encog和Neuroph的简单使用

    1. **导入库**:将对应的jar包添加到项目类路径中,例如,Joone的joone-engine.jar,Encog的encog-core.jar等。 2. **网络定义**:根据问题需求创建神经网络架构,设定输入、隐藏和输出层的节点数量。 3. **数据准备...

    joone 源码 附:外部所有外部jar

    Joone是一个开源项目,它的全称是"Java Object Oriented Neural Engine",即面向对象的Java神经引擎。它提供了一套灵活的API,可以构建和操作多层前馈神经网络(feedforward neural networks),包括简单的感知器...

    joone-javadoc.zip

    "joone-javadoc.zip" 文件是一个包含Joone库API文档的压缩包,通常这样的文档是Javadoc格式,用于详细介绍库中的类、方法和接口,便于开发人员理解和使用。 通过解压"joone-javadoc.zip",你可以获得"doc"目录,...

    joone 开源源码

    JOONE(Java Object Oriented Neural Network)是sourceforge上一个用java语言迅速开发神经网络的开源项目。JOONE支持很多的特性,比如多线程和分布式计算,这意味着可以JOONE可以利用多处理器或是多计算机来均衡附载

    Joone的源码

    Joone,全称为Java Object-Oriented Neural Engine,是一个用Java语言编写的人工神经网络开源框架。这个项目在2000年代初由Luca Massarelli发起,目的是为Java开发者提供一个强大、灵活且易于使用的神经网络实现。...

    joone.jar更合适于Java的机器学习jar包

    joone-engine:joone的核心模块。 joone-editor:joone的gui开发环境。不用编写一行代码就建立神经网络模型,并可以进行训练和验证。Joone中提供了一个用joone-editor建立xor网络模型的例子 joone-distributed-...

    用Java开源项目JOONE实现人工智能编程.doc

    JOONE(Java Object Oriented Neural Engine)是一个遵循LGPL许可的开源项目,允许开发者免费使用和修改源代码,无需支付版权费用。该项目可以从SourceForge官网获取。 神经网络是模拟生物神经元工作原理的计算模型...

    Joone源码和jar包

    Joone官方所有资源在这里:https://sourceforge.net/projects/joone/files/?source=typ_redirect,源码和jar包在这里:https://sourceforge.net/projects/joone/files/joone-engine/

    jooneDTE-src-0.8.1.zip

    JOONE(Java Object Oriented Neural Network)是sourceforge上一个用java语言迅速开发神经网络的开源项目。JOONE支持很多的特性,比如多线程和分布式计算,这意味着可以JOONE可以利用多处理器或是多计算机来均衡附载...

Global site tag (gtag.js) - Google Analytics