#### Archived

This topic is now archived and is closed to further replies.

# Component based ML

## Recommended Posts

Over the summer, I''ll begin work on my dissertation, which is mainly about ML components. The components I''m talking about is sort of like VB/Delphi timer controls that you can drag onto a form. So if you write an app that needs a neural network, you just drag it onto the form, set some properties, and voila. Same goes for GAs. These are the 2 types of ML techniques that I''m familiar with. As the year progresses, I''ll probably add more. It''ll be written mainly in Delphi, but seeing as I''m not too good at Delphi, its something I''ve got to brush up on. Anyway, my question is, what do you guys think about this idea? Think theres any commercial value there? Should I try persuading my tutor to allow me to write this stuff in another language (I''m much more familiar with C++ and Java)?

##### Share on other sites
I suppose it depends what you can really get out of a neural network, or genetic algorithm, just by setting some properties.
Not currently a forte of mine however so i won''t say much more on it. However, i think getting your tutor to allow you to use a language you''re more familiar with is a go-er. I''m guessing your tutor would prefer you to use delphi because that''s what your tutor is more familiar with? I think you''ll need all the time you can get working on the actual project without having to spend time working on re-learning languages.

##### Share on other sites
Sounds interesting. And not too difficult, to be honest. By the way, if Delphi is a problem, consider C++ Builder. It''s basically a visual version of C++ but which uses a modified version of the Delphi libraries. It even includes a Pascal compiler.

[ MSVC Fixes | STL | SDL | Game AI | Sockets | C++ Faq Lite | Boost | Asking Questions ]

##### Share on other sites
C++ Builder isn''t something that I''d like to go near, anytime in the future. But it is a good suggestion, though.

I think the project is interesting, and not too hard to implement. Wouldn''t want to start a project that I can''t finish for my dissertation now, would I?

Thanks for the input. Glad to know that I''m not planning on doing a pointless project.

##### Share on other sites
sorry mate, beaten you to it!!!

I did that in second year at uni, I developed a Multi-Layer Perceptron in Delphi, and encompassed it all into a component. And dragging it onto the form is exactly what you do! Once there, you can go into the object inspector, adjust the learning rate, desired number of learning iterations, error value at which you want it to stop learning (should it reach this value before the maximum number of iterations), then choose an activation function (Sigmoid, linear, identity). Once done, somewhere in the code, you assign a Network Description File (script), and a Network Training File (script). (this could easily be added into the component properties too), then all you do is call:

MLP1.Learn;

And the perceptron learns for the desired time or whatever. I believe that even though there may not be such a use for it commercially, it is extremely helpful to me to use, as I simply drag and drop the component. I''ll be creating new components this summer such as Kohonen networks, and functionality to find the optimum MLP topology based on a genetic algorithm.

In terms of commercial viability, you may get interest off amateur programmers who want a free copy of the component to play with, but I doubt you could really sell it?

good luck anyway.

Matt

##### Share on other sites
$£$"
And I thought that was such an original idea. When did you come up with it? Its exactly what I had in mind.

Gimme a year. it''ll be interesting to see how similar the project gets.

##### Share on other sites
I had to do it as a uni assignment, it took one month of spare time coding, basically, we had to develop a generic neural network program that could load in scripts to dictate the operation, then load in training data to learn. When I started coding, I just built everything in an Object Orientated Manner, with separate files for file loading etc. Then I thought, well, why not build my own component, so I read a book with an article on packages and omponents, and I just did it, it''s not too hard, just make a few adjustments to the code an compile it as a package, then install it.

I hope to clean up the code this summer, and add a lot more error handling, and the ability to use the component either on-line or off-line, add event hadnling for things such as :

OnCompletedLearning
OnLocalMinima

and other stuff to make it more user friendly, then I''ll build design tools etc allow use of a GUI package to draw out the layout of the NN, and a GA to select the most optimum format for the Network.

Cheers

• ### Forum Statistics

• Total Topics
628320
• Total Posts
2982072

• 21
• 9
• 9
• 13
• 11