UTCS ML Group MLN Learning Code Repository
The code posted on this page builds on the Alchemy system.
Quick links: TAMAR | BUSL | SR2LR | Data Sets
TAMAR (see paper)
is a system for transfer learning using MLNs by performing mapping
and revision of previously learned MLNs.
Code
An alpha version of the code is available for download [.tar.gz]*. The code duplicates and
modifies an older version of Alchemy.
Instructions for Running
After unpacking, modify the makefile so that the BASEDIR variable
points to the correct location. Run make depend
and
make transfered-learnstruct
.
Suppose you would like to transfer acad.mln, a source MLN, learned in the UW-CSE
domain, to the IMDB domain. You could issue the following command:
transfered-learnstruct -sourceMLN acad.mln -outMappingMLN
imdb-mappingOnly.1.1 -o imdb-revision.1.1 -targetPredicate
imdb-predicates.mln -t imdb.1.db -minWt 0.1 -maxVars 5 -penalty
0.01 -percentageVotes 0.1
Some of the options in this command are from the original Alchemy
source. The remaining are:
- -sourceMLN: specify the MLN learned in the source domain
- -outMappingMLN: specify the name of a file to which the
source MLN, mapped to the target domain using the best mapping
is output.
- -targetPredicate: a list of the predicate names in the
target domain, e.g imdb-predicates.mln
- -percentageVotes: The percentage of votes a clause should get
from a "bad" bins in order to be considered for the
corresponding revision.
* Thanks to Jesse Davis for identifying and fixing a memory problem.
BUSL (see paper)
is an algorithm for bottom-up learning of MLNs.
Code
Version 24-Oct-2007 is available for download [.tar.gz].
Instructions for Running
- Download and install Alchemy. These
instructions refer to incorporating BUSL into the version of
Alchemy as of Oct. 22, 2007.
- Download the BUSL code, unpack it, and copy all source
files (excluding the makefile) to the src/learnstruct folder of
the Alchemy source.
- Copy the makefile to the src folder of
Alchemy and edit the BASEDIR variable so it points to the correct place.
- Type
make depend; make busl
BUSL uses many of the options used by structure learning in
Alchemy, and just like in Alchemy, if you run the executable
with no parameters, you will get a list of the available
arguments.
Learned Sources from Experiments in Paper
The models learned by BUSL for the experments presented in the paper can be downloaded from here. There is a directory for each dataset. Each file name has the extension .x.y where x and y are numbers. x is the id of the training example reserved for testing, and y is the number of training examples, excluding the test one, that were provided to the learner.
SR2LR is an algorithm for transferring across relational domains when target domain data is very limited.
The sources used in our experiments are available for download from here.
We have tested the above algorithms on three datasets:
Contact:Lilyana Mihalkova
Last modified: Sun Apr 5 21:11:50 CDT 2009