The Key to Successful Machine Learning in Developing Products
In the latest episode of #BiteSize, Xavier Amatriain, best known for his work on Machine Learning, explains the key to successful machine learning in building products, whether a mobile or web app.
Xavier Amatriain is VP of engineering at Quora, where he leads the team building the best source of knowledge in the Internet. With over 50 publications in different fields, Xavier is best known for his work on machine learning in general and recommender systems in particular.
Before Quora, he was a research/engineering director at Netflix, where he led the team building the famous Netflix recommendation algorithms.
Previously, Xavier was also a research scientist at Telefonica Research and a research director at UCSB. He has lectured at different universities both in the US and Spain and is frequently invited as a speaker at conferences and companies.
I get that question a lot from people who are starting up and they have a small company or even large company and they are trying to figure out how we can make use of machine learning. The best way to think about it is basically asking the right question.
- What do you need to solve?
- What does your product need?
- What does your application need?
- What does your business need?
And then figure out is there any way I can use all the data around me to interpret and predict things that relate to my business problem or my product problem.
While some people may go the other way round and say – “I am going to apply machine learning and I don’t know what I am solving!” That’s wrong.
You need to understand what you want to solve, what is your business problem, what can you get out of your product and then figure out.
Maybe the initial approach is the very simple approach where you handhold a rule and tell this is what my product needs to do whenever it finds this or that data. But after you handhold your rule the next step should be a more intelligent way to figure this out and not by a hand-coded rule.
That’s when machine learning comes in place.
As you start exploring the world of machine learning you realize that one algorithm is going to be feeding into the next one and you are going to have some complex relations where one algorithm is figuring out the value of a given user and that’s being used as an input for another algorithm that’s figuring out what recommendation to give.
So, it’s not only about one single algorithm. In products like Quora or Netflix, there going to be dozens of different algorithms and there will be many ways to combine them.
The key here is you want to start simple and figure out what’s the essence of the problem you are trying to solve. Eventually, you might need to go into more complex algorithms where several algorithms are feeding into each other.
There is a lot of value for starting simple and only making things complicated if you really need to make things complicated.
What makes a great Machine Learning product?
The seamless integration between the complexity of an algorithm and the product itself. So, at some point it needs to be clear to the users that whatever functionality you have introduced is really useful and it’s not getting in the way.
When we think about machine learning for product design, we are thinking about 3 different things. The essential ones are:
- You have to work on the machine learning algorithm
- You have to work on the product design that is going to make use of that algorithm
- You also need to work on the system that is going to support and scale that algorithm, and large amount of data
Making those 3 things work together and in such a way that the person who is using the product, says, “Hey this actually makes sense. These recommendations are really helpful and it’s actually making me love the product.”
That’s the key to making a successful product learning base, the integration between the machine learning algorithm, the product, and the systems.