Poolmate provides a command-line interface to algorithms for searching teaching sets among a candidate pool. Poolmate is designed to work with any learner which can be communicated with through a file-based API.
Developed by Ara Vartanian (firstname.lastname@example.org), Scott Alfeld (email@example.com), Ayon Sen (firstname.lastname@example.org) and Jerry Zhu (email@example.com), poolmate details can be found on aravart or github
If machine learning is to discover knowledge, then machine teaching is to pass it on.
Machine teaching is an inverse problem to machine learning. Given a learning algorithm and a target model, machine teaching finds an optimal (e.g. the smallest) training set. For example, consider a “student” who runs the Support Vector Machine learning algorithm. Imagine a teacher who wants to teach the student a specific target hyperplane in some feature space (never mind how the teacher got this hyperplane in the first place). The teacher constructs a training set D=(x1,y1) … (xn, yn), where xi is a feature vector and yi a class label, to train the student. What is the smallest training set that will make the student learn the target hyperplane? It is not hard to see that n=2 is sufficient with the two training items straddling the target hyperplane. Machine teaching mathematically formalizes this idea and generalizes it to many kinds of learning algorithms and teaching targets. Solving the machine teaching problem in general can be intricate and is an open mathematical question, though for a large family of learners the resulting bilevel optimization problem can be approximated.
Machine teaching can have impacts in education, where the “student” is really a human student, and the teacher certainly has a target model (i.e. the educational goal). If we are willing to assume a cognitive learning model of the student, we can use machine teaching to reverse-engineer the optimal training data — which will be the optimal, personalized lesson for that student. We have shown feasibility in a preliminary cognitive study to teach categorization. Another application is in computer security where the “teacher” is an attacker and the learner is any intelligent system that adapts to inputs. More details are from this research overview: Machine Teaching
Machine teaching, the problem of finding an optimal training set given a machine learning algorithm and a target model. In addition to generating fascinating mathematical questions for computer scientists to ponder, machine teaching holds the promise of enhancing education and personnel training.
Jerry Zhu is a LUCID faculty member and CS professor, Ayon Sen is a LUCID trainee and CS graduate student.
Poolmate is based upon work supported by the National Science Foundation under Grant No. IIS-0953219. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.