If you were talking about doing academic research in Machine Learning (ML), I would strongly recommend your way of approaching ML, i.e. exploring and learning different algorithms/models then trying to find a problem that can be used as a case for the model in hand. By doing this you're focusing more on the algorithm, which could lead to some advancement in the algorithm, but not necessarily leads to better products.
For a startup, I believe that you would get better results if you started by looking for a problem that you're passionate about or that you think it needs more development, and then you could apply the (right/best) ML algorithm/model to it.
1. Journey through Genius
2. Principles of Uncertainty by Kadane
3. The Golden Ticketprint