Some context: I'm trying to train a model on some data. The input per data point is 12 time-signals, and there are 104 classes.
Using only the mean and variance (mean, var) of each of these signals, and feeding it to LogisticRegression from sklearn, my model predicted 80% correct on the training data itself.
I tried polynomial expansion, so that I feed (mean, mean**2, mean**3, var, var**2, var**3)
to LogisticRegression. Now the correct rate on the training data is only 25%! I also set C = 10**3
, 10**6
and 10**9
, but only 10**3
was slightly better with 27%.
From what I have learned, I really thought that using a more complex model to train the data could improve the predictions on the training data itself, and eventually overfit on the training data (up to 100% correctness) while getting bad results on the test data. But somehow I must have gotten the wrong idea... I anticipated that adding features could not hurt other than causing overfitting. Any idea why adding more features makes it perform so much worse on the training data?