0
$\begingroup$

I have a dataset with 608 inputs and I'm trying to output a single 1 or 0 result. My validation data has 69.12% 0's. When ran, my model always returns 69.12% accuracy, presumably because it's "good enough" given the imbalance in the validation set. I've added an input normalization layer, but it has no effect. I've been told its not a good idea to normalize the validation data. I feel like I'm missing something fundamental here. Advise?

$\endgroup$
2
  • $\begingroup$ NN love this trick. Sometimes this can be caused by the NN not having enough wits to find the answer and it falls back to not trying. Maybe add some more hidden layers or make the layers a bit wider. I don't know if this is the answer, just speaking from limited experience. Normalization MAY reduce the amount of wits the NN needs to find the generalization but it's not a cure all. $\endgroup$
    – foreverska
    Jan 19 at 5:34
  • $\begingroup$ Thanks. I've tried both more layers and less and more nodes. Same result. ;( $\endgroup$
    – n3uralio
    Jan 19 at 19:39

1 Answer 1

1
$\begingroup$

I do not think that the normalization is causing the problem. The fact that you have 69.12% samples of class zero and 69.12% accuracy is very suspicious. This means that if the model classifies every sample as class zero, that would give you an accuracy of 69.12%, as it would correctly classify all of class 0 and incorrectly classify all of class 1. This can happen if there is a really strong overfitting effect. You can try rebuilding the neural net with a different shape or try using more classical binary classification models that do not involve NN. Keep in mind that there is a possibility that your problem is unsolvable with the features you have, experimenting with different models will give you an idea of whether you are doing something wrong or the features do not determine the class.

$\endgroup$
1
  • $\begingroup$ Thanks for your reply. I have tried quite a few models leaving only input and output layers alone. All very quickly converge to this result. I had read somewhere there might be a method to punish for wrong answers via back propagation verses pure reinforcement, but I'm not sure how that would work. It seems very strange to me given the number of inputs and variation in layers, nodes, and loss functions, it always lands here. Seems like it might be something very fundamental thats wrong. $\endgroup$
    – n3uralio
    Jan 19 at 19:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.