A good learning algorithm should be able to handle noise and uncertainty in the data effectively.
The more specific you are, the more universal you become.
The only strategy that is guaranteed to fail is not taking risks.