Training and Testing deep CNN with same piece of data [closed] - machine-learning

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 5 years ago.
Improve this question
I have created a deep CNN from a research paper (using tensorflow) and am now curious if I have done everything correctly. Eventually I want to train and test the CNN on many images, but at the moment I only have one image on hand. If I was to use this one image as training and testing data, should the CNN always have 100% accuracy

Yes, with only one image to match, you will have a trivial case of perfect accuracy (1-for-1). However, this is only a "breath of life" test for your model. All you'll know is that you are functionally capable of running one image through that model; this will tell you nothing (or very little) about your topology's effectiveness with that type of image.

Related

Should the data preparation phase for ML include both: fitting data to right distribution followed by Scaling? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 1 year ago.
Improve this question
I have used distfit library to find the best distribution that will fit my data to avoid skewness. Let us say, I have transformed my data into Normal distribution using the boxcox method.
After this, shall I scale my data, for example, using Robust Scaler that handles outliers very well.
I am confused that I should be following both the steps or just one.
Not sure, if I am heading in the right direction in the data prep phase. please share your thoughts on this. Thanks!
You might or might have to do scaling after Normalization.
Answer depends on what are we doing to this data.
e.g. Are we planing to fit some model? or anything else?
One concrete example is:
If want to train our model for Neural Networks, then let see:
For faster convergence of training: We should have mean= 0 and sigma=1 (Normalization needed)
For effective regularization, you mush have all the data features at similar scale. (Scaling needed)
On contrast, if you want to fit say Decision Tree, then neither of these things are needed.
So, it all boils down to what we have to do after processing the data.

How to choose which model to fit to data? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 2 years ago.
Improve this question
My question is given a particular dataset and a binary classification task, is there a way we can choose a particular type of model that is likely to work best? e.g. consider the titanic dataset on kaggle here: https://www.kaggle.com/c/titanic. Just by analyzing graphs and plots, are there any general rules of thumb to pick Random Forest vs KNNs vs Neural Nets or do I just need to test them out and then pick the best performing one?
Note: I'm not talking about image data since CNNs are obv best for those.
No, you need to test different models to see how they perform.
The top algorithms based on the papers and kaggle seem to be boosting algorithms, XGBoost, LightGBM, AdaBoost, stack of all of those together, or just Random Forests in general. But there are instances where Logistic Regression can outperform them.
So just try them all. If the dataset is >100k, you're not gonna lose that much time, and you might learn something valuable about your data.

What are the good practices to building your own custom facial recognition? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
I am working on building a custom facial recognition for our office.
I am planning to use Google FaceNet,
Now my question is that you can find or create your own version of facenet model in keras or pytorch there's no issue in that, but regarding creating dataset ,I want to know what are the best practices to capture photo of person when I don't have any prior photo of that person,all I have is a camera and a person ,should I create variance in by changing lightning condition or orientation or face size ?
A properly trained FaceNet model should already be somewhat invariant to lighting conditions, pose and other features that should not be a part of identifying a face. At least that is what is claimed in a draft of the FaceNet paper. If you only intend to compare feature vectors generated from the network, and intend to recognize a small group of people, your own dataset likely does not have to be particulary large.
Personally I have done something quite similar to what you are trying to achieve for a group of around ~100 people. The dataset consisted of 1 image per person and I used a 1-N-N classifier to classify the generated feature vectors. While I do not remember the exact results, it did work quite well. The pretrained network's architecture was different from FaceNet's but the overall idea was the same though.
The only way to truly answer your question though would be to experiment and see how well things work out in practice.

Is it a good idea to train a Neural Network on continiously randomly generated training data? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
Hello everyone I'm building a license plate detection model in Tensorflow. I built a function that chooses a license plate at random from a collection of ~5000 plates and puts it in a random place in on a random background and saves the coordinates. At first I thought to generate about 40K images this way and train the network on with the generated data. But wouldn't it be a good idea to just continiously keep generating new data to feed to the network and basically eliminate any chance of it getting overfitted?
This is an excellent way to train it on how to spot the discontinuities around a superimposed yellow / white / blue rectangle, but maybe not such a great way of teaching it to spot a real license plate. If you've got a good way of procedurally generating images then great! but be warned.
It might spot the wrong pattern.

Why are there no dropout layers in inception net? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 2 years ago.
Improve this question
I recently was implementing the InceptionNet and came across the scenario where the dropout layer was not implemented in the network at all in the early or mid stages. Any particular reason for this?
You can see this paper posted model:
It actually has a slight regularization effect which is similar to dropout.
Think like that we are choosing every node with a certain possibility for that
layer so we creating our NN architecture with a possibilities. Similar
situation is valid also in here but this time we apply the all possibilities.
Hence, inception network helps to prevent over fitting the parameters so that
learning is happening for more deeper understanding please check out the
original paper but that is just an observation not a prove.

Resources