- 浏览: 52568 次
- 性别:
- 来自: 湖南
最新评论
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
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
发表评论
-
项目开发日志杂记
2009-05-04 13:05 966开发日志 0:32 2008-9-18 1、中文 ... -
笔记本维护故障一则
2007-03-18 23:40 706唉呀,今天真的是羞死 ... -
多Web服务器的80端口访问
2007-03-23 11:42 1466写这篇文章,源自于自己的一个需求。这几天一校园WEB站点因为域 ... -
[转]Windows系统文件详细解说
2007-04-02 23:38 621详细的介绍了WINDOWS系统文件的用途,我想各位保存一份以后 ... -
关于Windows文件共享服务的一些问题
2007-04-02 23:44 2514[问题引出]:我刚安装windows2003时,Compute ... -
MS Project 2003的一个问题
2007-04-03 18:04 1047[问题引出]:刚装完MS Project 2003,一运行就出 ... -
IBM xSeries服务器安装内存一则
2007-04-04 00:55 818部门进购IBM xSeries 225服务器已经达三年之久了, ... -
JAVA与蓝牙起步(Getting Started with Java and Bluetooth)
2007-04-26 00:39 1506栈初始化在你做任何事之前,你需要初始化你的栈。记住,栈是一个用 ... -
Windows 2000下的远程桌面工具
2007-04-28 18:10 1031在Windows XP之后的系统中都会在“系统”属性中可以设置 ... -
最近在看的书
2007-06-25 03:17 6531、JSP网络开发技术与整合应用 ... -
想看的书---<<开发自己的搜索引擎---Lucene 2.0 + Heritrix>>
2007-06-26 21:47 1728开发自己的搜索引擎---Lucene 2.0 + Heritr ... -
数据挖掘相关
2007-06-27 08:43 752什么是规则?就是一个条件和一个结果的和:If con ... -
不要用浏览器来测试
2007-07-03 11:02 918进行B/S系统编程,大概浏览器就是最直接的测试程序是否正确的方 ... -
Big-Endian And Little-Endian
2007-07-07 11:32 875今天老师给我们复习单片机,出了一个题目,就这个字节存储顺序搞得 ... -
MySQL的中文问题
2007-07-08 21:12 721唉,看到网上这么多的关于MySQL中文编码的问题。今天自己碰到 ... -
[转]RAW FileSystem Recovery
2007-07-11 09:09 993To know ho ... -
关于人工神经网络中的M-P模型的一点疑问
2007-08-08 22:31 932人工神经网络M-P模型构成一个逻辑非模型,从书中抄下来的,如下 ... -
OpenGL in VC++
2008-01-19 00:30 1003首先看一个简单的例子: 1 #include <wind ... -
VC++中的ON_COMMAND_RANGE宏
2008-01-26 13:51 1777VC++中的ON_COMMAND_RANGE宏 ... -
[转] 软件企业以人为本的16项措施
2008-05-25 09:19 725软件企业以人为本的16项措施 ...
相关推荐
Joone Engine是一款基于Java开发的神经网络框架,其版本为1.1.2,封装在名为"joone-engine-1.1.2.zip"的压缩文件中。这个工具专为那些希望在Java环境中构建和训练神经网络模型的开发者设计。Joone Engine的核心组件...
Joone Engine 2.0.0RC1 是一个基于Java的开源神经网络框架,专为在Java环境中构建和训练神经网络模型提供强大的支持。这个工具因其易用性和灵活性而受到开发者的欢迎,使得非专业AI背景的程序员也能轻松地进行神经...
Joone这个名字是“Java Object Oriented Neural Engine”的缩写,表明其核心设计理念是面向对象编程,以实现对神经网络的灵活控制。 在神经网络领域,Joone Engine允许开发者构建各种类型的神经网络,包括前馈型...
java运行依赖jar包
2. `joone-engine-1.2.1`:这是一个编译后的二进制包,包含了Joone引擎的jar文件和其他必要的类库,可以直接在Java环境中使用。开发者可以通过引入这个包到他们的项目中,快速开始构建神经网络模型。这个包包含了...
<artifactId>joone-engine 版本号 ``` 这里的`版本号`应替换为JOONE当前可用的最新版本。Maven会自动从中央仓库或本地仓库(如果已经复制进去)下载该依赖并将其包含在项目的类路径中。 使用JOONE进行神经网络...
这个压缩包包含的是JooneEdit的0.5.2版本,以及可能的其他相关文件,如joone-distrib,这可能是指Joone的发行版。 Joone库是Java编程语言中的一个核心组件,它提供了用于构建和训练人工神经网络的框架。这个库的...
Joone-ext.zip 和 joone-engine-2.0.0RC1.zip 可能分别包含了Joone的扩展库和引擎库,提供了更多的功能和特定版本的实现。而joone-engine-src-2.0.0RC1.zip 则包含了引擎部分的源代码,对于想要深入理解其工作原理或...
而“joone”则可能是Java Object Oriented Neural Engine的缩写,这是一个基于Java的神经网络框架。描述中提到joone是LTSM可能需要的jar包,但没有明确说明它们之间如何结合使用。此外,joone带有API文档和完整的...
而`joone-engine-2.0.0RC2-20070314.zip`则是Joone引擎的具体实现,包含了库文件和可能的示例代码,供开发者在项目中引入和使用。 总的来说,Joone框架为Java开发者提供了一个强大的工具,可以用于构建复杂的神经...
JOONE(Java Object Oriented Neural Network)是sourceforge上一个用java语言迅速开发神经网络的最新工具包
1. **导入库**:将对应的jar包添加到项目类路径中,例如,Joone的joone-engine.jar,Encog的encog-core.jar等。 2. **网络定义**:根据问题需求创建神经网络架构,设定输入、隐藏和输出层的节点数量。 3. **数据准备...
"joone-javadoc.zip" 文件是一个包含Joone库API文档的压缩包,通常这样的文档是Javadoc格式,用于详细介绍库中的类、方法和接口,便于开发人员理解和使用。 通过解压"joone-javadoc.zip",你可以获得"doc"目录,...
JOONE(Java Object Oriented Neural Network)是sourceforge上一个用java语言迅速开发神经网络的开源项目。JOONE支持很多的特性,比如多线程和分布式计算,这意味着可以JOONE可以利用多处理器或是多计算机来均衡附载
Joone,全称为Java Object-Oriented Neural Engine,是一个用Java语言编写的人工神经网络开源框架。这个项目在2000年代初由Luca Massarelli发起,目的是为Java开发者提供一个强大、灵活且易于使用的神经网络实现。...
joone-engine:joone的核心模块。 joone-editor:joone的gui开发环境。不用编写一行代码就建立神经网络模型,并可以进行训练和验证。Joone中提供了一个用joone-editor建立xor网络模型的例子 joone-distributed-...
JOONE(Java Object Oriented Neural Engine)是一个遵循LGPL许可的开源项目,允许开发者免费使用和修改源代码,无需支付版权费用。该项目可以从SourceForge官网获取。 神经网络是模拟生物神经元工作原理的计算模型...
Joone官方所有资源在这里:https://sourceforge.net/projects/joone/files/?source=typ_redirect,源码和jar包在这里:https://sourceforge.net/projects/joone/files/joone-engine/
Joone是一个开源项目,它的全称是"Java Object Oriented Neural Engine",即面向对象的Java神经引擎。它提供了一套灵活的API,可以构建和操作多层前馈神经网络(feedforward neural networks),包括简单的感知器...
JOONE(Java Object Oriented Neural Network)是sourceforge上一个用java语言迅速开发神经网络的开源项目。JOONE支持很多的特性,比如多线程和分布式计算,这意味着可以JOONE可以利用多处理器或是多计算机来均衡附载...