
www.Usenet.com
| <-- __Chronological__ --> | <-- __Thread__ --> |
"AngleWyrm" <[EMAIL PROTECTED]> wrote: > Which brings up a point: Is it possible for such networks to continue > learning? Does the word Traditional apply to these algorithms? OK, baylor's little rant on neural networks Neural networks is a stupid term and everyone who knows better and uses it should be shot. Or marketing people, 'cause i just plain don't like marketing people (just kidding, i worked at Best Buy and we had some nice marketing types) Neural network is the "doesn't that sound cool?" term for any algorithm that uses linked lists. And the nodes in the list might have to be floating point numbers (not sure). That's pretty much it Traditionally, ANN referred to a feed-forward back-propagated network. You had a few nodes that took floats (0-1) linked to some other nodes that had no value linked to the output nodes (normally one, could be more if you're doing fixed-set classification, which is all a normal ANN can do). And the output node is normally 0-1. Actually, almost every node except the inputs is 0 or 1, not really a number inbetween. It's what happens when you use a sigmoid transformation function. As my teacher said when i showed how an ANN was just a function where the constants are stored in a linked list, if you aren't using sigmoids it probably isn't/shouldn't be a NN So you plug in a number b/w 0-1. It gets multiplied by some number stored with the link to the next node and the result is stored in that node. It's linked to the output node so you multiply the node number by another number and you have your output If you had a NN with 1 node in each of three layers, and the "weight" of each link is 2, plugging in .5 results in: 0.5*2 = 1 (middle node value; the "hidden" layer) 1*2 = 2 (output node value; the answer) We have now written a neural network to solve x*4. Whee. Of course, in a "Real" neural network, we'd use sigmoid functions that basically just round numbers - 0.4 gets pushed down towards 0, 0.6 gets pushed up towards 1, 0.5 normally stays 0.5. It's those pushes that makes the network "fuzzy" So a traditional feed forward NN is just a wierd way of writing a math function (2*x, x^2+4y+1/2z, etc.) using a linked list. Given that it represents a single, specific function, learning here just means learning what numbers to multiply (and it's always multiply) the inputs by to get the right answer. There's no adaptation (you don't continue to learn) because 2+2 doesn't change (technically, neural networks can't solve problems as simple as 2+2; it has to be a logic-gated function that can be solved with multiplication; this assumes you're using sigmoid functions or whatever and not simple pass thrus) So is it possible for an ANN to continue to learn? The question doesn't really make sense - there's nothing to continue learning. It's just a math function But, if you remember that people are calling anything that uses a linked list a neural network (and yes, it's just a name, it has no relationship to the neural networks in the brain), then you're free to write whatever you want In the spirit of discovering math functions, there's the SVM (support vector machine), which is an ANN that uses "kernel functions". You have tons of grouping algorithms (which are nothing at all like feed-forward nets) with names like SOM (self-organizing map) and Boltzman machines. You have feature extractors (basically, trilinear filtering applied to data) such as LeNet. And there's a bunch of other stuff, all of which share the marketing name "neural networks" So could you make something that adapted and then call it a neural network? Sure. The question is, why would you want to -b, the eternal optimist
| <-- __Chronological__ --> | <-- __Thread__ --> |
Please check out one of the premium Usenet Newsgroup Service Providers below for access to Usenet.