Low-rank second-order MNE models can be constructed and optimized using the mner
python package. Second-order MNE models have conditional probability distribution of the form
P(y=1|s) = 1/[1 + exp(-a - hTs - sTJs)]
where y is a reponse in the domain [0, 1], s is a D-dimensional feature vector (independent variables), and the unknown weights are the scalar a, vector h, and matrix J. Low-rank second-order MNE models decrease the number of weights in the model by substituting J with the bilinear factorization J = UVT where U and V are D by r matrices of maximum rank r.
After downloading and unzipping the source code, find the directory containing the setup.py file. Then enter the command:
python setup.py install
into your terminal. If setuptools
is installed, this should also install the dependencies. If not, the dependencies are:
numpy >= 1.7.1
scipy >= 0.11
theano >= 0.8.2
and the git repositories located at
http://github.com/jkaardal/GPyOpt/
http://github.com/jkaardal/pyipm/
See the doc strings in the source code for more information about how to construct and solve low-rank second-order MNE problems.