How we should train a CNN model when training dataset contains only limited number of cases, and the trained model is supposed to predict class (label) for several other cases, which has not seen before?
Supposing there was hidden independent features describing the label repeated in previously seen cases of dataset.
For example let's consider we want to train a model to movement time series signals so it can predict some sort of activities (labels), and we have long record of movement signals (e.g. hours) for limited number of persons (e.g. 30) during various type of activities (e.g. 5), we may say these signals carry three type of hidden features:
- Noise-features: Common features between every persons/activities
- Case-features: features mostly correlated with persons
- Class-features: features mostly correlated with activities
We want to train the model such it learn mostly
Class-features and eliminate 1st and 2nd types of features.
In conventional types of supervised-learning CNN learns all features how dataset represents them. In my test the model learned those 30 person activities very well, but on new persons it only predict randomly (i.e. 20% success). Over-fitted?
It seems there are three straight workaround to this:
class-featuresand using a shallow classifier.
- Increasing dataset wideness by recording signal on other persons: it can get so expensive or impossible in some situations.
- Signal augmentation: by augmenting signals such it does not change
Class-features, and making augmented
Case-features. it seems to me harder than 1st workaround.
Is there any other workaround on this type of problem?
For example specific type of training to use, to learn the model how different cases similarly follow
class-features during class changes, eliminating
case-features which varies case by case.
Sorry for very long question!