MaximizationStep#

class MaximizationStep(blocks, optimizer)[source]#

Bases: PipelineStep

A pipeline step that performs the Maximization (M-step).

This step updates the parameters of each component in the mixture model, as well as the mixture weights, based on the responsibility matrix H calculated in the Expectation-step. The update process is configured through a sequence of OptimizationBlock objects, each defining a specific optimization task.

Parameters:
  • blocks (Sequence[OptimizationBlock]) – A sequence of configuration blocks that define the optimization tasks. Each block specifies a component, its parameters to optimize, and the maximization strategy to use.

  • optimizer (Optimizer) – A numerical optimizer instance used to find the optimal parameters when an analytical solution is not available for a given strategy.

Variables:
  • blocks (list[OptimizationBlock]) – The list of optimization tasks to be performed.

  • optimizer (Optimizer) – The numerical optimizer used for parameter estimation.

Methods

run(state)

Executes the M-step.