how to train a bag of words for pattern recognition problems in neural network

1 次查看(过去 30 天)
hello I am using bag of words concept to encode images as 500 visual words to represent as feature vector.
I was partitioning the data set using 70 /30 percent criteria for training and testing. I was creating two bag of words and for training and testing and also encoding them with their respective results.This I think is a fundamental mistake as the vocabulary encoding has to be done from the whole image data set that is 400 images and not 320 and 80 or 280 and 120 images (70/30).
So I created an entire bag of words for 400 images total and with a default vocabulary of 500 visual words.And then I encoded 280 images for the training set from it and then 20 query images for testing phase from it (from the testing partition).
Is it method correct or do i need to separately create two bag of words?
  1 个评论
circuit_designer5172
What is the goal here? The input is the picture and you are trying to encode it as the BoW vector? You mention the feature vector is the BoW, so what is your output? You need to have a target in order to train the network. Thanks.

请先登录,再进行评论。

回答(1 个)

Greg Heath
Greg Heath 2016-7-7
编辑:Greg Heath 2016-8-14
The general assumptions are
1. training and nontraining (i.e., validation, test and unseen data)
have the same summary statistics
2. Statistics of the training set are used to design the net.
3. Investigations of nonstationary statistics are implemented to
explain significant differences between performances
on training and nontraining data.
Hope this helps
Thank you for formally accepting my answer
Greg
  2 个评论
Newman
Newman 2016-7-8
Dear Sir are you saying this :
%creating a imageset of 400 faces of 40 individuals (10 images per image)
facedatabase=imageSet(imdataloc,'recursive');
%extracting SURF features fromeach image of the training data
extractorFcn = @exampleBag;
bagofall= bagOfFeatures(facedatabase,'CustomExtractor',extractorFcn );
% split the database in according to the user split
[training,testing]=partition(facedatabase,[0.7 (1-0.7)]);
%
featureVectortraining =(encode(bagofall,training))';
%creating the test feature vector
featureVectortest =(encode(bagofall,testing))';
The featureVectortest will the test set
Is this correct?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Pattern Recognition and Classification 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by