eegproc.model_explainability.model_agnostic.optimizer module

Gradient counterfactuals over the small CounterfactualAdapter contract.

class eegproc.model_explainability.model_agnostic.optimizer.ModelAgnosticCounterfactualOptimizer(adapter, *, target_probability=0.8, learning_rate=0.01, max_steps=200, gradient_clip_norm=5.0, target_weight=1.0, state_weight=None, signal_weight=None, constraint_weights=None, report_constraints=(), stop_on_success=False)[source]

Bases: object

Optimize adapter state while leaving all model parameters unchanged.

Parameters:
  • adapter (CounterfactualAdapter)

  • target_probability (float, default: 0.8)

  • learning_rate (float, default: 0.01)

  • max_steps (int, default: 200)

  • gradient_clip_norm (float | None, default: 5.0)

  • target_weight (float, default: 1.0)

  • state_weight (float | None, default: None)

  • signal_weight (float | None, default: None)

  • constraint_weights (Mapping[str, float] | None, default: None)

  • report_constraints (Iterable[str], default: ())

  • stop_on_success (bool, default: False)

optimize(inputs, *, target_class=None, progress=None)[source]
Parameters:
  • target_class (int | None, default: None)

  • progress (Callable[[dict], None] | None, default: None)

Return type:

dict