Ask HN: How do you approach a problem that can potentially be solved using ML
I am asking this because not all developers have done enough machine learning to be able to apply to some problem for which it could be useful. In that case, do you typically try to solve it with some rule based approach? Or ask product manager to bring a data scientist to team or try to put together a machine learning algorithm yourself or find some api that can solve it? One such problem could be ranking feed in social app.
3 comments
[ 3.1 ms ] story [ 21.3 ms ] threadIf it's low value, just slap something together (or don't do it).
If it's potentially high value, figure out how to validate the value.
Eventually you get to "do I hire someone or train someone or what" but if it's a big enough project you want to do some upfront research.
1. Come up with a way to measure improvement (e.g. number of clicks or something), and make sure it can be measured.
2. Make sure there is infrastructure for A/B tests so some subset of users can be tested with different algorithm. Technically optional, so skip if it will take too long to implement... but having that is much more likely to give you meaningful results.
3. Spend sometime looking at what users do, and try to figure out what their logic is. Try to think what a oracle algorithm that could magically guess what they wanted would do.
4. Figure out if it can be approximated with stupid rule-based system.
5. If not, skim Machine Learning intro, then see what ML stuff is available within cloud my service is running on. If not in cloud, look into open source libraries.
6. Deploy to 10% of users, at random. Wait N days, depending on how big site is. Compare metric for 10% who got new ranking vs. 90% who didn't.