Package samer.models

Class SparseICA

    • Constructor Detail

      • SparseICA

        public SparseICA(int N)
      • SparseICA

        public SparseICA(Vec input)
    • Method Detail

      • getSize

        public int getSize()
        Description copied from interface: Model
        return size of vector this model expects
        Specified by:
        getSize in interface Model
      • getOutputModel

        public Model getOutputModel()
      • setOutputModel

        public void setOutputModel(Model m)
      • setInput

        public void setInput(Vec input)
        Description copied from interface: Model
        model should begin observing this vector
        Specified by:
        setInput in interface Model
      • infer

        public void infer()
        Description copied from interface: Model
        should infer values latent variables
        Specified by:
        infer in interface Model
      • compute

        public void compute()
        Description copied from interface: Model
        contract is that getEnergy and getGradient must return correct values for current x after infer and compute has been called, but not necessarily before. This is to give model an opportunity to cache values of energy and gradient to avoid repeated computations.
        Specified by:
        compute in interface Model
      • getEnergy

        public double getEnergy()
        Description copied from interface: Model
        return E = -log p(x)
        Specified by:
        getEnergy in interface Model
      • getGradient

        public double[] getGradient()
        Description copied from interface: Model
        return dE/dx
        Specified by:
        getGradient in interface Model
      • functionx

        public Functionx functionx()
        Description copied from interface: Model
        This presents a more functional interface to the model so that it can be driven by an optimiser. See classes Functionx and MinimiserBase in package samer.maths.opt.
        Specified by:
        functionx in interface Model
      • run

        public void run()
        Specified by:
        run in interface Task
      • getCommands

        public void getCommands(Registry r)
      • execute

        public void execute(java.lang.String cmd,
                            Environment env)
      • init1

        public void init1(Matrix R,
                          int M)
        x is an N-dim vector. R is an N by N symmetric similarity matrix. M is number of unit pairs (butterflies) build into ICA model
      • init2

        public void init2(Matrix R)
        This version only builds disjoint butterfly pairs, ie only 2N edges per layer Need a version that builds bigger local modules.