MixtureOptimizer

Constructors

this
this(size_t k, size_t maxLength)

Constructor

Members

Functions

eval
void eval(scope bool delegate(T a, T b) @nogc nothrow findRootTolerance = null)

Perform k (1) iterations of coordinate (gradient or EM) descent optimization algorithm.

evaluate
void evaluate(size_t itersCount, scope bool delegate(T a, T b) @nogc nothrow findRootTolerance = null)

Perform itersCount iterations of eval.

evaluate
Tuple!(TickDuration, "duration", size_t, "itersCount") evaluate(TickDuration time, scope bool delegate(T a, T b) @nogc nothrow findRootTolerance = null)

Perform eval during time.

features
Matrix!(const(T)) features()
length
size_t length()
maxLength
size_t maxLength()
mixture
const(T)[] mixture()
optimize
void optimize(scope T delegate(in T[] mixture) objectiveFunction, scope bool delegate(T objectiveFunctionValuePrev, T objectiveFunctionValue, in T[] weightsPrev, in T[] weights) tolerance, scope bool delegate(T a, T b) @nogc nothrow findRootTolerance = null)

Performs optimization.

optimize
void optimize(scope T delegate(in T[] mixture) objectiveFunction, scope bool delegate(T objectiveFunctionValuePrev, T objectiveFunctionValue) tolerance, scope bool delegate(T a, T b) @nogc nothrow findRootTolerance = null)

Performs optimization.

optimize
void optimize(scope bool delegate(in T[] weightsPrev, in T[] weights) tolerance, scope bool delegate(T a, T b) @nogc nothrow findRootTolerance = null)

Performs optimization.

popFront
void popFront()

Remove one front feature for each component.

popFrontN
void popFrontN(size_t n)

Remove n front features for each component.

put
void put(Range features)

Puts back new feature for each components.

put
void put(RangeOfRanges featuresROR)

Puts back new features for each components.

reset
void reset()

Reset length of features to zero.

update
void update()

update method is called when mixture changes occur.

weights
const(T)[] weights()
weights
void weights(Range _weights)

Set the mixture weights and calls update.

Meta