Recently I’ve been playing with a tool set called JOONE. The goal of the JOONE project is to produce a fast prototyping environment for Neural Nets and a series of libraries to training these networks. I have so far ignored the prototyping environment, but I do find the libraries quite useful.
Two years ago I began building a series of base classes in Java that could be used to create neural networks. I managed to get it to a somewhat useable state, but it needed a lot of cleaning up before I could release it or expand it to apply to a larger set of problems. I found JOONE while writing my libraries, but shelved it because my goal was to learn more about machine learning. Just using an existing toolset hides most the important “educational” bits. I returned to JOONE a few months ago, and discovered it shared many of the design elements had built into my own library along with a bunch of really great features I hadn’t even thought of.
It comes pre-packaged with useful example codes to get you started, and an extensive PDF manual (which could use some copy-editing). I ordered a book (that’s also available online) that discusses the basics of neural nets in the context of JOONE. While I’ve found the book useful, I think the examples are written for a slightly older version of JOONE. Some of the method calls suggested in the book are listed as @deprecated in the actual JOONE source. Fortunately, the examples included with the JOONE source code make this easy enough to modify the book’s samples and use the more modern methods.
I like the example based format of the book. There are a series of problems to solve and the JOONE way of solving them is presented. The pace is good and they increase in complexity as more advanced topics are covered. There is an element I dislike about the book: some of the topics covered are not in a JOONE context. Heaton Research, which published the book, seems to have its own basic NN library and some sections of the book use this library instead of JOONE. The lack of consistancy could be a problem for someone trying to use JOONE as an engine and apply it to an actual problem. For simply a learning experience, the subject matter is well described no matter which library is used.
As I continue playing with JOONE, I may post my example codes or describe the process of getting JOONE to play nice with Eclipse.