views:

139

answers:

2

I've Googled, StackOverflowed, everything, and I cannot seem to find a tutorial I can understand. I understand the concept of genetic algorithms, and how to implement them, (Though I haven't tried) but I cannot grasp the concept of neural networks.

I know vaguely how they work... And that's about it. Could someone direct me to a tutorial that could help someone who has not even graduated middle school yet? Sure, I'm several years ahead of the majority of people my grade, but I don't understand summation, (which I apparently need if I don't want a simple binary output) vectors, and other things that I apparently should know.

Is there a simple, bare-bones tutorial for neural networks? After I learn the basics, I'll proceed to more difficult ones. Preferably, they would be in Java.

Thanks!

A: 

Well, there is this article in Wikipedia's Simple English, but I think you know already all that it contains.

OscarRyz
I know you mean well, but that's an awfully misleading article. :(
Kylotan
+2  A: 

Summation is just adding up a bunch of things. So,

Summation(1,2,3,4,5) = 1+2+3+4+5 = 15

(note: it's always adding: if you want to subtract, do a summation with negative numbers)

That was easy, right? ;)

A vector is an ordered tuple, which really just means it's bunch of numbers in a specific order. Most often seen in physics to describe position, force, velocity, etc... it's really nothing special, just some ordered numbers, where the ordering is significant:

v = <1,2,3>

If we are talking about geometry, then this vector represents a point in 3-dimensional space where the x coordinate is 1, the y coordinate is 2, and the z coordinate is 3 (See that was easy too, right)?

In neural nets, the vector is usually the vector of inputs to a neuron, so it's really just a list of numeric values. The summation of the vector would be nothing more than adding up all of the values in the vector and getting a single number as a result (which may be referred to as as "scalar" value).

(this was rushed and simplified - I'm sure someone else will help me refine it ;) )

PS. Kudos to you for diving into this stuff at the middle school level! :)

FrustratedWithFormsDesigner
Okay, I'm doing fine so far in a tutorial with your help, but on this page in it, (http://www.ai-junkie.com/ann/evolved/nnt5.html) it talks about a vector containing two values *pointing* to the closest land mine. Does that mean it's a vector containing the coordinates of the closest land mine? And it also mentions a second vector, also containing two values, that represents the direction the minesweeper is pointing. What are these? Wouldn't you need only one value to represent the angle of the minesweeper, just a value in radians? I'm confused.
Stuart
Wait a second, I burrowed through the internet and I think I may have discovered that vectors are angle as well as distance. Is this true? If it is, then it would all make sense.
Stuart
@Stuart: In this context, I think vector is being used slightly differently than what I had said. I think they are talking about two numeric values that represent a vector. This vector is sort of like a line between the minesweeper and the nearest mine, assuming that the minesweeper is at location (0,0) (it isn't but that's OK since the vector is *relative to the minesweeper's position*).
FrustratedWithFormsDesigner
@Stuart: ...The other vector that represents which direction the minesweeper is pointing is ALSO 2 probably numeric values (x and y coordinate), and you are probably right, an angle from the x-axis *probably8 could be used instead - but they chose to use a vector. I didn't read it in too much detail so they might have had a good reason to use a vector rather than an angle. Both methods will probably work fine, and it might just be a matter of preference.
FrustratedWithFormsDesigner
@Stuart: Basically: when I last worked with neural nets, I used the term "vector" to refer to a whole set of inputs to a neuron. In this case, "vector" is actual geomtric data that is input as seperate values into the neuron. Both uses of the word seem correct, though yes, a bit confusing. ;)(In fact, if each input to the neuron was a whole vector rather than a scalar, you would have an input vector made up of vectors!)
FrustratedWithFormsDesigner
@Stuart: The angle between a vector and an axis can be easily found (but a vector is NOT an angle). A vector represents a line to a point at (x,y) from the origin (at (0,0)). The length of the vector is easily calculated (and the other lengths are known), and you can use the properties of a right-angled triangle to calculate the angle between the vector and an axis.
FrustratedWithFormsDesigner