Overfitting in neural network I am a newbie to neural network. i am using TensorFlow + Keras to model my neural network for classification of 12 logos. The model has 5 convolution layers.
I have trained a neural network model and got the following results.
with training,
loss = 0.0877   accuracy = 0.9780

with test data
loss = 0.0976   accuracy = 0.9646



*

*Is this model good or does it overfits the data?

*And how can i find out whether the model overfits the data or not?
after some help from replies i managed to draw two graphs from tensorboard data. and what funny is that,


*

*val_acc is higher than training_acc

*val_loss is lower than training_loss




 A: Without knowing a lot more about the model, nor the data used, it is hard to answer these questions with and rigour. That aside, the values you provide would make the think it is a reasonable model and does not necessarily overfit the training data.
for your second question, my first line of action would always be to plot the training and test accuracy over each epoch (iteration), then look at how the curves develop. I generally hope to see a test curve that shadows the training curve, always a little lower. Here is a diagram with a short explanation taken from the amazing cs231n course from Stanford. 

Image source
Course Homepage
All the material and video lectures are freely available and would be a great place for you to improve your understanding whilst working on Deep Learning topics.
A: Overfitting is something that happens gradually, so it is sometimes hard to say. Also, whether a model is "good" or not depends a lot on context. If you need 99% accuracy for your model to be used in production then the values are not "good".
However, the values you show for train and test loss, accuracy do not indicate a problem with overfitting to me. It is normal to see a slight drop in performance between training values and test values. Not only that, but is often acceptable to have a bigger difference between train and test provided that test performance is still better than any other test performance.
One important detail missing is the size of the test data. The reported accuracy is only an estimate, and the smaller your test set, the less reliable it is for drawing conclusions from.
For better detection of overfitting you can plot a learning graph of your loss metrics versus epoch number. If you see something like this (From Wikipedia page on Overfitting):

where the blue line is your training loss and the red line is your test loss. Then you can see that overfitting has become a problem after the warning sign. 
This kind of learning behaviour, with an optimum number of epochs before overfitting occurs, is one reason why early stopping is a common approach in training.
