1

I am working on a project about the feedforward pathway of the ventral stream, and i have 6 images to be recognized at the InferoTemporal Layer.

Please can someone give me images' exmamples showing to me what is the difference between training images and test images. So what i should add to my folder that contain my training images? Does i should add another folder that contain a list of test images ? if yes, what should be these test images?

Does the training images must contains the images to be analysed or recognized and the test images must contains the images in memory? In other words, if we have for example 16 training faces and one or two test faces. So we should analyse what is the face in the training that correspond to the face in test ? Is that true ??

Note: I don't need a code, I am only interested to get a brief explanations about the difference between test ans training images.

Any help will be very appreciated.

Christina
  • 903
  • 16
  • 39
  • The question is not very clear. Are you asking for the nature of the images? or where to put them? maybe you can explain it a bit more? – Pedrom Jan 04 '14 at 17:07
  • I try to implement the HMAX model for object recognition. So i got vectors at the C2 layer. so to recognize an image, I should have a training images and test images, then in the tuned-cell, it analyse each of the test images. – Christina Jan 04 '14 at 18:12
  • 1
    Ohh OK.. you could have started from there :) your questions make more sense in that context. I am not experienced with HMAX and only know the basis, but what I understood from your question is that you would like to test each layer and you need have some examples of the features from that layer to compare with, am I right? You are probably familiar with these slide but just in case I paste it because is a good start: http://www.mit.edu/~9.520/spring10/slides/class15-visualneuroscience/class15-hmax.pdf, also you can check this guys and the datasets they used: http://bit.ly/1dkv2pP – Pedrom Jan 04 '14 at 18:36
  • Yes :) , so I start from the C2 layer (InferoTemporal layer or V4). So finally in the view-tuned layer, I am obligated to use the svm to recognize these results. So I am not interested to use these training images to compute the model parameters as my friends response me below, but I understand the concept, because in HMAX we don't have parameters, we have layers to be computed by all the images (the training and test images). Anyway Thank you, I really appreciate very much your opinion :)). Thank you again. – Christina Jan 04 '14 at 19:48
  • 1
    Good.. I was going to tell you to read lennon310's response but you already did... :) btw me acabo de dar cuenta que eres de argentina, suerte con el proyecto! – Pedrom Jan 04 '14 at 20:15
  • Sinceramente, Gracias! mejor de las suertes Tú también :) – Christina Jan 04 '14 at 20:52

2 Answers2

1

The only difference between training and test images is the fact, that test images are not used for selecting your models parameters. Each model has some kind of paramters, variables, which it fits to the data. This is called a training process. The training/test set separation ensures, that your model (algorithm) can actually do something more that just memorizing images - so you test it on test images, which has not been used during the training phase.

It has been already discussed in detail on SO: whats is the difference between train, validation and test set, in neural networks?

Community
  • 1
  • 1
lejlot
  • 64,777
  • 8
  • 131
  • 164
  • So if I have 20 faces as training, and one face as test. So I will select the corresponding face in the training who responses to the face in test. Does my concept is true ? – Christina Jan 04 '14 at 18:17
  • 1
    It is a little different. The idea is that you will use the 20 training faces to select the "model parameters". In practice, your model could be a classifier (e.g. a neural network, classification tree). After you classifier is trained using the 20 faces, you can use it to predict to which class the test image belongs. – Alceu Costa Jan 04 '14 at 18:20
  • 1
    What do you mean by "select"? The whole training/testing separation applies to the case of some algorithm evaluation. So you need for each image a true "classification" (your task, for example - who is on the picture). During testing you can select the answer, which belongs to the most similar image in the training set, it is called a 1-nearest neighbour classification (the simpliest case of KNN algorithm with k=1) – lejlot Jan 04 '14 at 18:20
0

In HMAX, you use all the data at the input image layer. And garbor filter, max-pooling, radial basis kernel functions on all of them. Only at C2 layer, you start to train a subset of the images (mostly with a linear kernel based SVM). The subset is set to training data. And the rest are test data. In one word, training images are first used to build the SVM and then the test images are assigned to digit classes using the majority-voting method.

But this is in fact equivalent as you put the training images at the image layer at first. After all the layers going through, you then put the test images at the image layer to restart for the recognition. Since both training and test image need scaling, and all the operations at previous layers prior to C2 are the same, you just mix them altogether at the beginning.

Although you use all the training and test images at the image layer, you still need to shuffle the data and pick up some of them as the training, and the others as the testing.

lennon310
  • 12,503
  • 11
  • 43
  • 61
  • this exactly what i need. +1 for your answer. – Christina Jan 04 '14 at 20:17
  • Dear Lennon3, I asked a new question entitled "Use the osusvm to recognize faces after the C2 layer of HMAX model" and i am sure that you can help me according to your answer above. Please I will appreciate your help very much. Gracias!! :):) – Christina Jan 05 '14 at 00:16
  • Dear Lennon, I will be so happy if you can help me on my new question about QIM method :D thanks in advance! – Christina Feb 28 '14 at 14:28