Home > March, 2010

Mar 26

Archived in the category: neural networks

Duration : 0:0:0

Read more »

I can understand the concepts behind them, but I don’t quite get the big picture. What jobs are they being used for? Could anyone please tell me and elaborate a little as well.

Artificial neural networks are essentially interpolators that are well suited to complex functions for calculating output values from input values where there is a lot of noise in the data. Here, I am taking to mean to usual feed-forward back-propagation artificial neural network, not the Kohonen self-organising ones. Think of an artifical neural network as a heavy duty form of curve fitting in multiple dimensions. Multi-dimension curve fitting methods are also referred to as response surface methods.

Artificial neural networks map a (possibly large) set of input values to a (possibly large) set of output values via a series of (usually large) internal calculations whose parameters are determined as some sort of best fit using training data for which both input values and output values are already known. This is exactly the same as curve fitting: take a set on known input/output values (say, x and y pairs), guess a function that maps input to outputs (say y=mx + c), determine the best values for the variables using your known input/output values (i.e. the best values for the constants m and c, however you choose to define best), and then use the resulting equation to predict the likely value of the outputs for new input values. It is perfectly possible, although hugely tedious for anything other than tiny artificial neural networks, to write down the single equation which is the function that relates one output to the inputs, in which there will be variables (the input values) and parameters (the weights and biases). The classic back-propagation algorithm used to train an artificial neural network involves minimising the sum of the squares of the differences between the output values predicted by the network for the training input values and the known output values for those input values, using a mathematical procedure called gradient descent. This is just the same as non-linear least squares regression.

In some of the original work done for artificial neural networks, they were called parallel adaptive filters. Once they were renamed as artificial neural networks, by analogy to the action of neurons in the brain, they became linked with artificial intelligence and subsequently dressed up in a lot of pseudo-spiritual waffle by people who used them as black-boxes but didn’t understand what they actually did - i.e. marketing departments and popular science journalists. Some of the terminology encourages this, for example the use of "training" to describe the optimisation process whereby the internal function parameters are determined. The word makes sense in its context, but encourages people to think rather loosely. For example, I’ve seen published papers in which the network is so large there are two to three times as many adjustable parameters (the biases and weights) as there are training pairs. Not surprisingly, it was a good fit. Fitting a cubic to two data points would also be a good fit, but would probably be wildly off between the original data points. Fortunately, artificial neural networks are less sensitive to this over-determined problem than other interpolators such as polynomial methods. I think this is because the sigmoidal function often used in artificial neural networks becomes less sensitive at extreme input values and because the parallel nature of the network tends to dampen out large swings.

powered by Yahoo Answers

Mar 13

Archived in the category: neural networks

Duration : 0:0:0

Read more »

Mar 06

Archived in the category: neural networks

Duration : 0:0:0

Read more »