Lets assume we have a simple audio processing flow with preprocessing, feature-extraction and classification.

Where and why do we normalize the data?

I know the purpose of normalizing the data in the preprocession-step. But as I implemented some feature-extracrion methods like spectral flux, I have read about normalization of the extracted features.

Do we need to normalize the extracted features, when we normalized the data in the preprocessing step and vice versa?


There is no definite answer to that question since different workflows are applied to different tasks. For example in some applications you might want to normalize your input data samples or perform some kind of Automatic Gain Control (i.e. you work in fixed point and even for some low signal values you want your FFT to have good resolution). On the contrary you might be using some energy features, such as very simple energy based Activity Detection, thus normalisation of your input samples will mess your results. Therefore you must use your common sense and think (or test) whether your features are dependent on input amplitude.

Other thing that you probably had in mind, is to normalize the features itself. This is called a whitening and is used for example in speech recognition for removal of channel effects. It is done by removing mean of your features and (if you wish) normalizing by the variance. This make your features to be in the same space.

To wrap up, it's up to you. Train/test both systems with and without any type of normalization and observe the performance.

  • $\begingroup$ I am a little bit late, but thank you, this cleared it up a little bit for me. $\endgroup$ – Gwenselah Mar 1 '15 at 15:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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