Using Machine Learning to Optimize for Teams with a Purpose
The previous article in this series explored how recommending teams of items could increase the quality of recommendation systems. This was particularly noteworthy in the case when an item’s preference was dependent upon other items, as in the case of steak and mashed potatoes vs steak and ice cream. In previous examples, the complicated nature of item relationships led to content-based recommendation systems that relied on confusing and domain-specific heuristics. This article will show how the objective nature of groups enables machine learning to simplify the recommendation system by inferring domain-specific logic from patterns in historical data.
A computer is said to learn if it can improve its performance at a task as it gains experience doing that task. It does this by inferring patterns in big data, and using those patterns to help it make more educated decisions. The learning from patterns is embedded in a model (also sometimes called predictor function), which is like the brain of the system [1]. The model takes input and transforms it into, hopefully educated, output. For example, a common machine learning problem is image recognition, where the input is pictures and the output is the objects in the picture [2]. The difficult part of machine learning is training the model in such a way that it learns the correct patterns, and doesn’t get trapped by stereotypes or bias. This is where the objective nature of groups comes into play.
Organizational Behavior defines a group as “two or more individuals, interacting and interdependent, who have come together to achieve particular objectives” [3]. In other words, groups have a purpose. This purpose will serve as the guiding force when developing a predictor function. Although the logic behind a group’s success may be complex, their purpose is often transparent. Instead of building complex algorithms to simulate the logic behind the creation of a successful group, machine learning finds patterns that relate inputs (the makeup of the group) to outputs (the purpose of the group) as evaluated by a predictor function. In the case of team-creation, the predictor function will be an evaluation of how well-suited a group is to satisfy their purpose.
With this knowledge in hand, the basketball team-creation problem from part 1 can be improved and simplified using machine learning. First, we define a predictor function. In this case, the purpose of a basketball team is to win basketball games, so the predictor function will estimate a team’s chance at winning basketball games. Second, we employ a tactic called supervised learning to train our predictor function using historical data. In this case, leagues around the world (including the NBA) keep track of the matches that teams play in, and the outcome of those matches. We’ll feed our model these matches, each time letting the model be positively influenced by the traits of winning team, and negatively influenced by the traits of the losing team. Third, we start asking our predictor function to predict the outcome of games that haven’t happened yet. Now, the basketball team recommendation system can use this predictor function to recommend the creation of new teams based on successful traits.
Making recommendations in the context of a team opens up recommendation systems to the tricky problem of team-creation. Although teams often have complex selection logic, machine learning can be used to infer this logic based on patterns in historical data. This is both better and simpler than relying on limited heuristics and complicated domain-specific logic. Furthermore, traditional recommendation problems can be rephrased as team-creation problems to benefit from the “many heads are better than one” philosophy. The next article in this series will focus on one such example, a recommendation system for a dating application.
[1] Machine Learning
[2] Image Recognition (Ted Talk)
[3] Organizational Behavior Notes
[Machine Learning Classifiers] http://blog.echen.me/2011/04/27/choosing-a-machine-learning-classifier/