How can I normalize data for Reinforcement Learning when outliers are present?

Viewed 199

I have to train a reinforcement learning agent (represented by a neural network) whose environment has a dataset where outliers are present.

How can I actually deal with the normalization data considering that I want to normalize them in a range [-1,1]?

I need to maintain outliers in the dataset because they're critical, and they can be actually significant in some circumstances despite being out of the normal range.

So the option to completely delete rows is excluded.

Currently, I'm trying to normalize the dataset by using the IQR method.

I fear that with outliers still present, the agent will take some actions only when intercepts them.

I already experimented that a trained agent always took the same actions, excluding others.

What does your experience suggest?

1 Answers

After some tests, I take this road:

  1. Applied a Z-score normalization with the option "Robust"; in this way, I have mean=0 and sd=1.
  2. I calculated the min_range(feature)+max_range(feature)/2
  3. I divided all the feature data with the mean calculated in point 2.

The agent learned pretty well.

Related