This repository contains the following models:
- Sparse CCA (sparseDecom2.py)
- Batch method (mycoption=0)
- learn all components at once, with orthogonality constraints
- Deflation method (mycoption=1)
- learn components one at a time, with matrix deflation after each
- Nonlinear Sparse CCA (kernelDecom2.py)
- Batch or Deflation method
- Passes the projections through some nonlinearity (e.g. sigmoid or relu)
- Deep Feedforward CCA (ffDecom2.py)
- Use feed-forward neural networks to learn components
- Can be hybrid (e.g. deep layers on X and only one sparse layer on Y)
- Deep Convolutional CCA (convDecom2.py)
- Use convolutional neural networks to learn components
There is also a hyper-optimization algorithm using the Tree of Parzen Estimator algorithm for determining optimal hyper-parameters, which can then be passed into any cca function. It is in hyperInit.py
.
Sparse CCA:
CPU:
- Download zipped repository
- Unpack
- cd deepSCCAN-master
- run
python setup.py install
- To use sparseDecom2 function, for instance:
from neuroCombat.sparseDecom2 import sparseDecom2
- Now you can use the function.. e.g. result = sparseDecom2(..)