How to handle data collecting bias in machine model training In many ML problems we collect data and train models using the collected data. Using recommendation as an example, data collected could be biased for various reasons:


presentation bias. For example, on web one may have pagination; for mobile one may need to scroll down to see items beyond a few.
bias from existing recommendation system: usually data is collected on a running production recommendation system, this introduces bias. For example, due to personalization, a male consumer may have little chance to see female products, etc.


What are approaches to handle this when training a model?
In the world of Big data, the data is already there and there are more than enough ML models currently but constantly there are improvements and applications, the main reason for that is how the features are defined from the raw data.

In your case, introduce a new feature as penalty for the bias present in the data. For ex. in the presentation bias, high penalty is given to the top items and low penalty is given to the items farther down. similarly, introduce weight feature with less weight for men products when most of the products are male products and vice versa.

ML still needs human intuition in the form of features ;-)