<p>What do you mean by "should have"?</p>

<p>In principle you could train a neural network (a multi-layer perceptron, I assume) to perfectly classify the training set (provided that it doesn't contain conflicting examples), however doing so might require a long time (exponential in the size of the training set) and more importantly will usually impair the neural network ability to generalise to unseen data points.</p>

<p>In practice you usually divide your training examples in a training set proper and a validation set: train on the training set and after each epoch you measure accuracy on the validation set, repeat until the accuracy on the validation doesn't increase for a small number of epochs and keep the network with the best accuracy on the validation set. You might also reiterate the whole training process a few times starting from random weights each time, in order to avoid being trapped in local optima.
Moreover, you can experiment varying parameters such as the number of hidden layers, the number of nodes in each hidden layer, and the learning rate, changing the data encoding, and carefully selecting the input features.</p>

<p>Eventually your neural network will reach a maximum accuracy which depends on the problem difficulty.</p>

CC BY-SA 3.0
2012-05-05T21:19:42.687Z
2012-05-05T21:19:42.687Z
Antonio Valerio Miceli-Barone
<p>A baseline against which the performance of a classifier can be compared is a naive classifier that only exploits obvious biases in the data. The idea is that if your classifier doesn't do much better than a random biased guess, it is not a very good one. Or it might be that the data doesn't allow you to extract much information.</p>

<p>In general, the answer as to what is a good test performance is problem and application dependent. A useful approach is therefore to apply one's classifiers and algorithms to well-known problems and benchmarks, so that it's possible to compare one's performance to the current state-of-the-art. An example of such a standard benchmark is for instance the <a href="http://yann.lecun.com/exdb/mnist/" rel="nofollow">MNIST data base of handwritten digits</a>.</p>

CC BY-SA 3.0
2012-06-28T17:09:44.073Z
2012-06-28T17:09:44.073Z
mrig
<p>I've implemented a neural network (using the back-propagation algorithm) in a digital marketing application, where the algorithm classifies words according to quality, price and another characteristics in an AdWord Campaign.  I would like to know if there is a paper or book (preferably free) that discusses the accuracy rate of acceptance that a neural network should have.</p>

CC BY-SA 3.0
2012-06-04T22:22:58.573Z
I think this question would be a better fit for [CS.SE](http://cs.stackexchange.com/) since I am not sure that you are asking a research level question in _theoretical_ computer science.
Artem Kaznatcheev
CC BY-SA 3.0
2012-06-29T06:14:48.530Z
Not clear. Maybe it's an open area of research ?
Suresh Venkat
<ai.artificial-intel><ne.neural-evol>
Accuracy rate in neural networks
fers
# Accuracy rate in neural networks

(Asked by: username_0 on 2012-05-01)

I've implemented a neural network (using the back-propagation algorithm) in a digital marketing application, where the algorithm classifies words according to quality, price and another characteristics in an AdWord Campaign. I would like to know if there is a paper or book (preferably free) that discusses the accuracy rate of acceptance that a neural network should have.

**Tags:** ai.artificial-intel, ne.neural-evol
> **Comments:**
> **username_1**: I think this question would be a better fit for [CS.SE](http://cs.stackexchange.com/) since I am not sure that you are asking a research level question in _theoretical_ computer science.  
> **username_2**: Not clear. Maybe it's an open area of research ?  

---

## 2 answers

### Answer by username_3 on 2012-05-05. Score: 3

What do you mean by "should have"?

In principle you could train a neural network (a multi-layer perceptron, I assume) to perfectly classify the training set (provided that it doesn't contain conflicting examples), however doing so might require a long time (exponential in the size of the training set) and more importantly will usually impair the neural network ability to generalise to unseen data points.

In practice you usually divide your training examples in a training set proper and a validation set: train on the training set and after each epoch you measure accuracy on the validation set, repeat until the accuracy on the validation doesn't increase for a small number of epochs and keep the network with the best accuracy on the validation set. You might also reiterate the whole training process a few times starting from random weights each time, in order to avoid being trapped in local optima.
Moreover, you can experiment varying parameters such as the number of hidden layers, the number of nodes in each hidden layer, and the learning rate, changing the data encoding, and carefully selecting the input features.

Eventually your neural network will reach a maximum accuracy which depends on the problem difficulty.


---

### Answer by username_4 on 2012-06-28. Score: 1

A baseline against which the performance of a classifier can be compared is a naive classifier that only exploits obvious biases in the data. The idea is that if your classifier doesn't do much better than a random biased guess, it is not a very good one. Or it might be that the data doesn't allow you to extract much information.

In general, the answer as to what is a good test performance is problem and application dependent. A useful approach is therefore to apply one's classifiers and algorithms to well-known problems and benchmarks, so that it's possible to compare one's performance to the current state-of-the-art. An example of such a standard benchmark is for instance the [MNIST data base of handwritten digits](http://yann.lecun.com/exdb/mnist/).


---

