Exponential Machines implementation
Jupyter Notebook Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
experiments add results (binaries) Jan 14, 2017
src add TF implementtion of ExM (sgd only) Nov 10, 2016
LICENSE Fix copyright string May 3, 2016
Readme.md Typo fix May 14, 2016


This is an implementation of Exponential Machines from the paper "Tensor Train polynomial models via Riemannian optimization" [1605.03795].

The main idea is to use a full exponentially-large polynomial model with all interactions of every order. To deal with exponential complexity we represent and learn the tensor of parameters in the Tensor Train (TT) format.



The interface is the same as of Scikit-learn models. To train a model with logistic loss, TT-rank equal 4 using the Riemannian solver for 10 iteration use the following code:

model = TTRegression('all-subsets', 'logistic', rank=4, solver='riemannian-sgd', max_iter=10, verbose=2)
model.fit(X_train, y_train)

Experiments from the paper

The code to reproduce the experiments is in the experiments folder, one Jupyter Notebook per each experiment.