Home :: Books :: Computers & Internet  

Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet

Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
Object-Oriented Neural Networks in C++

Object-Oriented Neural Networks in C++

List Price: $39.95
Your Price: $39.95
Product Info Reviews

<< 1 2 3 >>

Rating: 5 stars
Summary: Excellent book for beginners to the NN field
Review: After returning Practical Neural Network Recipies, I decided to throw the dice once more and try this text. I found it to be an excellent explanation of what NNs are and how to implement them in an OO fashion. The book is lucid and can be read from cover to cover much like a novel.

Rating: 5 stars
Summary: Libro útil si se desea implementar una red neural en C++ !
Review: El libro de Joey Rogers lo utilicé el año pasado como material de apoyo para construir una red neural artificial en C++ que reconociera patrones (BAM Network), previa opción a mi grado de Ingeniero en Sistemas Computacionales de la Universidad Tecnológica Centroamericana. Además de la breve introducción que el autor hace a los conceptos de cada uno de los modelos de redes neurales, el autor muestra de manera muy exquisita la conceptualización de cada una de las clases y objetos que describen a las redes neurales en un lenguaje orientado a objetos. Los códigos fuentes en C++ contenidos en el texto están muy claros y entendibles. Definitivamente este libro lo puedo recomendar siempre y cuando se desee IMPLEMENTAR una red neural en C++. Conocimientos previos de los conceptos que rigen a las redes neurales y ciertos conocimientos en programación orientada a objetos son recomendables.

Rating: 1 stars
Summary: Book* b = this->book; delete b;
Review: His approach for making reusable classes is a good one but Errors in the Header files make it annoying especially since there is no support site for correction's.

Also should have made more use of the STL he states that not all compiler's support it.

Some of the explanation's were confusing in spots mainly due to poor sentance structure.

None of the header files seem to be copywrighted which suggests it might not be his , but in the GNU.

If you Know About C++ and Neural Networks this book should get you off and Running. Since most who would use this Book are probably using one of various Window's framework's I would not let errors scare you off. Since some re-wrighting would be necessary .

Rating: 3 stars
Summary: A little more planning could have went a long way !!
Review: His approach for making reusable classes is a good one but Errors in the Header files make it annoying especially since there is no support site for correction's.

Also should have made more use of the STL he states that not all compiler's support it.

Some of the explanation's were confusing in spots mainly due to poor sentance structure.

None of the header files seem to be copywrighted which suggests it might not be his , but in the GNU.

If you Know About C++ and Neural Networks this book should get you off and Running. Since most who would use this Book are probably using one of various Window's framework's I would not let errors scare you off. Since some re-wrighting would be necessary .

Rating: 1 stars
Summary: Book* b = this->book; delete b;
Review: I am a scientist and an experienced software developer. This book kind of skims the surface of four basic neural network architectures, and provides a plethora of horribly written source code as a sort of "tool kit" for ANN development. After reading the book and trying to make use of the source (which I basically threw out and wrote my own, truly object-oriented tool kit), it's not clear just how much the author really knows about ANNs and OO programming (e.g., Lots of necessary details are sometimes skipped or glossed over; I've never seen so much non-template implementation in header files before: this is not the way to write OO code). I became so disgusted with this book that I decided to write this review. I would not recommend this book to anyone who wishes to delve into ANNs.

Rating: 2 stars
Summary: Does not teach neural networks!
Review: I bought this book under the idea that it was a beginners book that would teach me neural network concepts, and then it would cover the proper way to implement them in an object oriented enviroment. When I read this book I got something completely different...

In this book, the author covers in great detail his implementation of 4 neural network topographies. He takes great care in explaining his choices in object oriented design, and reasons he chose to subclass things certain ways, etc.. etc.. I feel like the title of this book should have been: "Object Oriented Programming, a case study in Neural Networks."

After reading this book I did not have the tools to even slightly modify any of his neural network topographies, I did not really have to tools to explain why certain topographies would be advantageous over others in certain situations. What I did know however was how Joey Rogers had programmed 4 neural networks, and how he belived Object Oriented Programming should be practied. If you are interested in learning Neural Networks, a bit of theory, or even why you would use them, this book is certainly NOT for you.

Rating: 4 stars
Summary: Instructive to have some source code
Review: I use the source code from this book for a two weeks practical course in
neural networks for biology students. There is much to criticize about C++
style, OO-design, and even about the implementation of some networks (In the
backpropagation algorithm corrections to the weights should be made only after
the backpropagated error has been computed for all units in the
network).

However, I think it is great to have some reasonably well documented code to
play with. Within a day or so the students manage to run the first networks
without being C++ experts. In my view, it is extremely instructive to have
some source code, even if it is not the best. A nasty fact, though, is that
the code does not compile from the scratch (I have a little perl script that
replaces some errors in the sources, such that the code complies nicely using
g++ under Linux: look for it on my webpages under the
topic "teaching"; I don't give the address here, because it might change).

Summarizing, I like the book for what it is, an example of OO implemented
neural networks. I would not use the code for a "real" project nor expect to
learn from the book why networks work the way they do.

Rating: 5 stars
Summary: Awesome book that is very easy to follow!
Review: I've always wanted to learn about neural network programming, but have been disappointed with the books on the subject in the past. This book presents the reader with a complete object-oriented approach to neural network programming, and provides a basis upon which any new neural network design may be based.

The example programs are short and easy to follow, and the entire source code for the class libraries are listed in the back of the book for reference (and also included on the disk).

What I'm most fascinated with is image and pattern recognition, and this is the path I plan to take with this library. It is certainly robust enough to handle any neural network concept, and extensible. The source code was written with straight ANSI C++ (or standard template library, as I recall), so it is portable to almost any platform.

Rating: 2 stars
Summary: Bad code. Bad book.
Review: If you're trying to learn neural nets, this book gives you a fairly decent overview of four different types. It doesn't go into much depth, but it's easy for a beginner to pick up. If you're trying learn object-oriented programming and/or c++, _don't_buy_this_book_. The code is buggy, bloated, poorly designed, inefficient and just plain bad. To list some of the problems I encountered with it:

___________________________________________________________________________________________________________________________________________________________________________________________________ 1) The Base_Link::Save function corrupts object and writes corrupted data to a file. 2) No const, *anywhere*. 3) Repeatedly attempts to inline virtual functions. Virtual functions *can't* be inlined because they aren't evaluated until runtime. 4) Most function implementations placed in header files. Maybe due to the use of those magical "inline virtual" functions. 5) Never uses STL containers even where they would be optimal. Creates arrays with new where std::vector would work better, and defines custom linked-list class (very ugly). 6) Uses ofstream/ifstream where ostream/istream would be preferable. The whole point of c++ streams is to have a single set of interfaces for handling io from any origin. Using the fstreams just creates an unnecessary restriction. 7) Creates an array in base class interfaces for use by subclasses as a variable container, as opposed to just creating variables in the subclasses. In my opinion, this is his most egregious offense. It defeats the whole purpose of inheritance. 8) Use of static data in classes. Don't bother using this code in a multithreaded app. Neural nets are usually well suited for multithreading, but certainly not this implementation. 9) Non-virtual destructor in interface classes. Doesn't matter in this case, because he stored all implementation-specific data in the interface class, but is generally poor practice because it can lead to memory leaks. 10) Too few comments that aren't completely redundant, for example: "Base_Link(); // Constructor" 11) The classes are unnecessarily general. Just about every function is virtual, even ones that should never be overridden. The inheritance heirarchy of his objects also suggests that nodes and links can vary implementation within a single network, but never do. In fact, link, node, and neural-network (link/node container) objects all make explicit assumptions about each others' implementations. The examples will crash if you try to use objects of varying implementations together. 12) There are functions in the interface classes that vary *usage* depending on implementation. This means you cannot use them without knowing the exact implementation you are dealing with. The whole point of virtual functions is to provide a single function with a consistent usage even though the implementation may vary. ___________________________________________________________________________________________________________________________________________________________________________________________________ To sum up, if you want a simple overview of a few neural network types and love a fixer-upper, this is the book for you. Otherwise don't bother.

Rating: 2 stars
Summary: Bad code. Bad book.
Review: If you're trying to learn neural nets, this book gives you a fairly decent overview of four different types. It doesn't go into much depth, but it's easy for a beginner to pick up. If you're trying learn object-oriented programming and/or c++, _don't_buy_this_book_. The code is buggy, bloated, poorly designed, inefficient and just plain bad. To list some of the problems I encountered with it:

___________________________________________________________________________________________________________________________________________________________________________________________________ 1) The Base_Link::Save function corrupts object and writes corrupted data to a file. 2) No const, *anywhere*. 3) Repeatedly attempts to inline virtual functions. Virtual functions *can't* be inlined because they aren't evaluated until runtime. 4) Most function implementations placed in header files. Maybe due to the use of those magical "inline virtual" functions. 5) Never uses STL containers even where they would be optimal. Creates arrays with new where std::vector would work better, and defines custom linked-list class (very ugly). 6) Uses ofstream/ifstream where ostream/istream would be preferable. The whole point of c++ streams is to have a single set of interfaces for handling io from any origin. Using the fstreams just creates an unnecessary restriction. 7) Creates an array in base class interfaces for use by subclasses as a variable container, as opposed to just creating variables in the subclasses. In my opinion, this is his most egregious offense. It defeats the whole purpose of inheritance. 8) Use of static data in classes. Don't bother using this code in a multithreaded app. Neural nets are usually well suited for multithreading, but certainly not this implementation. 9) Non-virtual destructor in interface classes. Doesn't matter in this case, because he stored all implementation-specific data in the interface class, but is generally poor practice because it can lead to memory leaks. 10) Too few comments that aren't completely redundant, for example: "Base_Link(); // Constructor" 11) The classes are unnecessarily general. Just about every function is virtual, even ones that should never be overridden. The inheritance heirarchy of his objects also suggests that nodes and links can vary implementation within a single network, but never do. In fact, link, node, and neural-network (link/node container) objects all make explicit assumptions about each others' implementations. The examples will crash if you try to use objects of varying implementations together. 12) There are functions in the interface classes that vary *usage* depending on implementation. This means you cannot use them without knowing the exact implementation you are dealing with. The whole point of virtual functions is to provide a single function with a consistent usage even though the implementation may vary. ___________________________________________________________________________________________________________________________________________________________________________________________________ To sum up, if you want a simple overview of a few neural network types and love a fixer-upper, this is the book for you. Otherwise don't bother.


<< 1 2 3 >>

© 2004, ReviewFocus or its affiliates