I have two classes in the training set: one that has images with a feature and the other of images without that feature. Can there be a LOT more images with "no feature" so I can fit in all possible false positives?
2 Answers
Your question is very general so therefore, in this case, my answer will be too:
The answer is "sometimes": it depends on the data.
There can be a lot more images in one class than the other, and you can still get reasonable results. It highly depends on how much data you have of the "feature class".
If this is the case, we say that the classes are heavily unbalanced, and you need to do "class balancing". You do not want to do overfitting on this one class, and preferably you want the feature-class to be the biggest.
Another approach for CNNs is to use "dropout". Well, for CNN's you can go a bit further: you can remove parts of the image to generate "new" images. This way you prevent overfitting of the "feature" class, whilst generating more data.
I suspect that training all possible false positives is impossible without overfitting the network somehow.
Hope it helps, and give you some google pointers :)
Just FYI: You basically, in the tech term, want to know whether it works to do binary CNN classification using a heavily imbalanced dataset.
I think you are actually working on one class classification as the other class is feature less. So you will end up classifying an input data as it belongs to that single class or not.
If you are ok with considering your problem as one class classification then i would say you actually DON'T need a feature less data set at all. You can just directly run your featured data(say cat pictures) using an autoencoder and figure out threshold value at the bottle neck(this is a bit challenging). Later during the test time you can verify that input data belongs to the desired class by just looking at the threshold value produced by the encoding part of autoencoder.
If this answer doesn't satisfy you. you can just google keywords like "One class classification" or "out lier detection". I guess from there you can follow up easily.