achine learning is the science of teaching computers how to accurately discover, contextualize and act on data through experience. This ACM Selects highlights several resources to build an understanding of the ideas, challenges and ways to get started in the field.
Understanding the Concepts
The Five Tribes of Machine Learning with Pedro Domingos
First published as an ACM Tech Talk, November 24, 2015.
What are the philosophies behind machine learning? In his ACM Tech Talk, Professor of Computer Science and Engineering at the University of Washington Pedro Domingos introduces five schools of thought in machine learning. He presents key "philosophers" for each school of thought as well as how these approaches and algorithms can be applied in real-world scenarios. [Watch the Tech Talk]
A few useful things to know about machine learning
First published in Communications of the ACM, Vol. 55, No. 10, October 2012.
Effectively applying machine learning in the field requires a substantial amount of understanding and experience that is often not found in textbooks. In his article for the Communications of the ACM, Professor Pedro Domingos presents 12 heard-learned lessons that machine learning researchers and practitioners have picked up over the years, with his recommendations on the challenges, issues and questions that professionals should focus on. [Read more]
"A dumb algorithm with lots and lots of data beats a clever one with modest amounts of it."
-- Pedro Domingos,
Professor in the Department of Computer Science and Engineering,
The University of Washington, Seattle
An Introduction to APIs
Large-Scale Deep Learning with TensorFlow with Jeff Dean
First published as an ACM Tech Talk, July 16, 2016.
TensorFlow is a platform for machine learning research and product deployment, and was released as an open-source project in November, 2015. In his ACM Tech Talk, Google Senior Fellow Jeff Dean discusses the ways in which Google have applied TensorFlow to a variety of problems in Google's products. While TensorFlow has received significant updates since this Tech Talk, the underlying principles presented by Jeff helps give a good overview of both machine learning by way of neural networks and the intentions behind TensorFlow. [Watch the Tech Talk]
PyTorch: A Modern Library for Machine Learning with Adam Paszke
First published as an ACM Tech Talk, December 16, 2019.
Machine learning frameworks such as PyTorch and TensorFlow fueled machine learning advancements by making machine learning easily applicable by computing practitioners. This ACM tech talk by Adam Paszke, an author and maintainer of the popular PyTorch machine learning framework, shows how you can utilize this popular machine learning framework in a large variety of cases in research and production. [Watch the Tech Talk]
Books to Get Started
Grokking Artificial Intelligence Algorithms
Having a strong understanding of AI algorithms is a must to effectively apply AI to a wide range of real-world problems. “Grokking Artificial Intelligence Algorithms” is a recently published primer on AI algorithms, with illustrations and hands-on examples to help guide learners from concept to application. “Grokking Artificial Intelligence Algorithms” is not intended to replace fundamental textbooks or coursework that provide comprehensive materials for the field. Rather, the book could serve as a supplementary resource and as an alternative approach to getting up to speed on machine learning. [Read more]
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow (2nd Edition)
Through a series of recent breakthroughs, deep learning has boosted the entire field of machine learning. Now, even programmers who know close to nothing about this technology can use simple, efficient tools to implement programs capable of learning from data. Aurélien Géron's "Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition" guides computing professionals interested in machine learning on how to get started using existing APIs. By using Scikit-Learn, Keras, and TensorFlow by way of Python, one can parse and analyze datasets, test machine learning models such as deep neural networks, and observe these models' outcomes. [Read more]
Deeper Dives with Free Online Education
CS299 - Machine Learning
First published on Stanford Engineering Everywhere.
Understanding the concepts of the field helps one pick the right approach and algorithms for a given problem. In his free online course, Adjunct Professor of Computer Science at Stanford University Andrew Ng teaches the varying theories and applications of machine learning. This course includes lecture hangouts and hands-on assignmments. Please note that there are existing prerequisites towards getting immediately up to speed on the materials in the course - these are listed on the site. [Explore the Course]