nlgm.optimizers Module#

class nlgm.optimizers.RandomWalkOptimizer(graph, signatures, start, criterion)[source]#

Random-walk optimizer over a graph of candidate signatures.

Parameters:
graphnumpy.ndarray

Square adjacency matrix.

signatureslist

Signature values indexed by graph node.

startint

Starting node index.

criterionstr

Optimization criterion label.

Methods

normalize_graph()

Normalize transition weights row-wise.

optimize(objective, max_iters[, callback])

Optimize objective with random-neighbor traversal.

optimize_with_backtracking(objective, max_iters)

Optimize objective using random walk with path backtracking.

normalize_graph()[source]#

Normalize transition weights row-wise.

optimize(objective, max_iters, callback=None)[source]#

Optimize objective with random-neighbor traversal.

Parameters:
objectivecallable

Function taking a signature and returning (metric, loss).

max_itersint

Maximum number of walk iterations.

callbackcallable, optional

Callback invoked as callback(signature, (metric, loss)).

Returns:
tuple

Best result as (signature, metric, loss).

optimize_with_backtracking(objective, max_iters, callback=None)[source]#

Optimize objective using random walk with path backtracking.

Parameters:
objectivecallable

Function taking a signature and returning (metric, loss).

max_itersint

Maximum number of walk iterations.

callbackcallable, optional

Callback invoked as callback(signature, (metric, loss)).

Returns:
tuple

Best result as (signature, metric, loss).