This is a short example of using Restricted Boltzmann Machines for learning internal structure of data. Corresponding slides may be found here
-
Install Julia. I used stable v0.3, didn't test on other versions (did you? let me know).
-
Install libraries. In Julia prompt type:
Pkg.add("DataFrames") Pkg.add("HDF5") Pkg.clone("git@github.com:faithlessfriend/Boltzmann.jl.git")
-
Download dataset from here.
-
Update
DATA_DIR
indata.jl
to reflect path to the dataset (one day I'll re-work this stuff... one day...). -
Prepare data. From Julia prompt, load
prepare.jl
and then call:prepare()
-
Fit model. From Julia prompt, load
fit.jl
and call:fit_and_save()
-
Load model and analyse. From Julia prompt, load
analysis.jl
and type:model, artists = load_fitted() W = components(model) # do analysis
Julia is a wonderful programming language, but it's still on its way up. If you want to use something more stable and mature, Pandas and SciKit Learn (e.g. see BernoulliRBM) should work as well. Also see Pylearn2 for more deep learning oriented library.
Found an error in this README? Report an issue!