Alchemy is a software tool designed for a wide range of users. Anyone with a need for a knowledge base with uncertainty will find Alchemy useful and this is the target audience of this tutorial. It assumes the reader has general knowledge of classical machine learning algorithms and tasks and is familiar with first-order and Markov logic and some probability theory.
Markov logic serves as a general framework which can not only be used for the emerging field of statistical relational learning, but also can handle many classical machine learning tasks which many users are familiar with. Instead of addressing only certain domains or adding ad hoc features to deal with anomalies, Markov logic presents a language to handle machine learning problems intuitively and comprehensibly. With this in mind, this tutorial looks to serve two purposes:
This tutorial is not meant to be exhaustive in terms of the capabilities of Alchemy. Many more learning tasks, both classical and emerging, can be handled by Alchemy in an elegant and intuitive manner. In addition, many new tasks have not been considered in the Markov logic framework; Alchemy is a work in progress and is continually being extended to meet these needs. The best catalyst for this progress is user feedback, so please tell us about any problems or limitations with Alchemy and wishes for the next version.
We start with the basics of Alchemy in the next section before moving on to more interesting tasks which can be accomplished. All of the datasets used in this tutorial are available at http://alchemy.cs.washington.edu in the ``Datasets'' section.