Recommendation systems are all around us. Ecommerce companies like Amazon recommend goods that we are likely to buy based on our past behavior. Netflix suggests what videos we should watch. Pandora even builds personalized music streams, based on what we are likely to listen to. Almost every website has a recommendation system based on user browsing history, past purchases, past searches, and preferences.
It turns out most existing recommendation systems are based on three paradigms: collaborative filtering (CF) and its variants, content-based recommendation engines, and hybrid recommendation engines that combine content-based and CF or exploit more information about users in content-based recommendation. Recommendation systems must be accurate, able to handle sparse data, able to recommend items that have never been rated (cold start), and scalable. The memory-based CF systems are highly scalable but may suffer from cold start and data sparsity problems. Model-based CF systems such as the Naïve Bayes recommendation engine often outperform memory-based CF systems with respect to accuracy. Matrix factorization-based recommendation systems (the most advanced systems) have the best accuracy but may suffer from performance degradation issues at extreme scale. So what’s the solution?
Abhishek Kumar and Vijay Srinivas Agneeswaran offer an introduction to deep learning-based recommendation and learning-to-rank systems using TensorFlow, including model management and scaling. You’ll learn how to build a recommender system based on intent prediction using deep learning that is based on a real-world implementation for an ecommerce client. When users search for products, the system ranks search results based on purchase behavior and other possible sources of data, such as browsing history, domain catalog, and social traits/behavior analysis of the user.
Abhishek Kumar is a manager of data science in Sapient’s Bangalore office, where he looks after scaling up the data science practice by applying machine learning and deep learning techniques to domains such as retail, ecommerce, marketing, and operations. Abhishek is an experienced data science professional and technical team lead specializing in building and managing data products from conceptualization to deployment phase and interested in solving challenging machine learning problems. Previously, he worked in the R&D center for the largest power-generation company in India on various machine learning projects involving predictive modeling, forecasting, optimization, and anomaly detection and led the center’s data science team in the development and deployment of data science-related projects in several thermal and solar power plant sites. Abhishek is a technical writer and blogger as well as a Pluralsight author and has created several data science courses. He is also a regular speaker at various national and international conferences and universities. Abhishek holds a master’s degree in information and data science from the University of California, Berkeley.
Vijay Srinivas Agneeswaran is a senior director of technology at SapientRazorfish. Vijay has spent the last 10 years creating intellectual property and building products in the big data area at Oracle, Cognizant, and Impetus, including building PMML support into Spark/Storm and implementing several machine learning algorithms, such as LDA and random forests, over Spark. He also led a team that build a big data governance product for role-based, fine-grained access control inside of Hadoop YARN and built the first distributed deep learning framework on Spark. Earlier in his career, Vijay was a postdoctoral research fellow at the LSIR Labs within the Swiss Federal Institute of Technology, Lausanne (EPFL). He is a senior member of the IEEE and a professional member of the ACM. He holds four full US patents and has published in leading journals and conferences, including IEEE Transactions. His research interests include distributed systems, cloud, grid, peer-to-peer computing, machine learning for big data, and other emerging technologies. Vijay holds a bachelor’s degree in computer science and engineering from SVCE, Madras University, an MS (by research) from IIT Madras, and a PhD from IIT Madras.
Comments on this page are now closed.
©2018, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org