Version 0.1, 27 October 2007
AMIL is an integrated set of Java code for learning probabilistic models for Multiple Instance (MI) classification problems. It implements basic data structures for managing bags and instances, data read/write methods, and a general framework for learning probabilistic classifiers based on a generalization of Diverse Density (Maron & Lozano-Perez, NIPS 1998) including MI Logistic Regression (Ray & Craven, ICML 2005). Additionally, it implements instance-query selection strategies for MI Active Learning and modifications to the training algorithm to learn from multiple levels of granularity (Settles et al., NIPS 2008).
AMIL was written by Burr Settles, with a few elements based on prior code by Soumya Ray.
Research related to the development of AMIL was supported by NSF grant IIS-0093016 and NIH grants T15-LM07359 and R01-LM07050-05.
Java source code for AMIL is in the directory src/. To compile it, execute either of the following commands on any Unix system:
% make % make jar
The first will create a class/ directory containing all the Java classes, the second packs all the classes into amil.jar, which is simpler to include in your classpath to gain access to all objects and methods.
For example driver programs that learn and evaluate MI models, see the files in the src/amil/ui/ directory. For more detailed documentation, see the AMIL project website or run the following command to create javadoc documentation:
% make javadoc
You are free to use AMIL in your own work. However, please cite one (or both!) of the following in any publications:
To my knowledge, there have been only two other public distributions of MI learning algorithms: