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?