Package samer.models
Class DiffScaler
- java.lang.Object
-
- samer.tools.AnonymousTask
-
- samer.models.DiffScaler
-
public class DiffScaler extends AnonymousTask implements Model
Differential scaler: scales and offsets each element of a vector independently aiming to match a given prior model. This is like ICA using a diagonal weight matrix, with a 'zero-mean' normalisation built in, though it doesn't actually the mean to do this, but some statistic based on the prior model.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description class
DiffScaler.OffsetTrainer
class
DiffScaler.ScaleTrainer
class
DiffScaler.TensionedTrainer
class
DiffScaler.Trainer
-
Constructor Summary
Constructors Constructor and Description DiffScaler(int N)
DiffScaler(Vec input)
DiffScaler(Vec input, Model M)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description void
compute()
contract is that getEnergy and getGradient must return correct values for current x after infer and compute has been called, but not necessarily before.void
dispose()
Functionx
functionx()
This presents a more functional interface to the model so that it can be driven by an optimiser.double
getEnergy()
return E = -log p(x)double[]
getGradient()
return dE/dxModel.Trainer
getOffsetTrainer()
Model
getOutputModel()
Model.Trainer
getScaleTrainer()
int
getSize()
return size of vector this model expectsModel.Trainer
getTensionedTrainer()
Model.Trainer
getTrainer()
void
infer()
should infer values latent variablesVVector
offsets()
VVector
output()
void
reset()
void
reset(double k)
void
run()
void
setInput(Vec in)
model should begin observing this vectorvoid
setOutputModel(Model m)
void
starting()
void
stopping()
java.lang.String
toString()
VVector
weights()
-
-
-
Constructor Detail
-
DiffScaler
public DiffScaler(int N)
-
DiffScaler
public DiffScaler(Vec input)
-
-
Method Detail
-
getSize
public int getSize()
Description copied from interface:Model
return size of vector this model expects
-
output
public VVector output()
-
weights
public VVector weights()
-
offsets
public VVector offsets()
-
getOutputModel
public Model getOutputModel()
-
setOutputModel
public void setOutputModel(Model m)
-
setInput
public void setInput(Vec in)
Description copied from interface:Model
model should begin observing this vector
-
reset
public void reset()
-
reset
public void reset(double k)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
dispose
public void dispose()
-
infer
public void infer()
Description copied from interface:Model
should infer values latent variables
-
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.
-
getEnergy
public double getEnergy()
Description copied from interface:Model
return E = -log p(x)
-
getGradient
public double[] getGradient()
Description copied from interface:Model
return dE/dx- Specified by:
getGradient
in interfaceModel
-
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.
-
starting
public void starting()
- Specified by:
starting
in interfaceTask
- Overrides:
starting
in classAnonymousTask
-
stopping
public void stopping()
- Specified by:
stopping
in interfaceTask
- Overrides:
stopping
in classAnonymousTask
-
getTrainer
public Model.Trainer getTrainer()
-
getOffsetTrainer
public Model.Trainer getOffsetTrainer()
-
getScaleTrainer
public Model.Trainer getScaleTrainer()
-
getTensionedTrainer
public Model.Trainer getTensionedTrainer()
-
-