nlgm.optimizers
Module#
- class nlgm.optimizers.RandomWalkOptimizer(graph, signatures, start, criterion)[source]#
RandomWalkOptimizer class for optimizing a given objective function using random walk algorithm.
- Args:
graph (numpy.ndarray): The adjacency matrix of the graph. signatures (list): List of signatures corresponding to each node in the graph. start (int): The starting node for the random walk. criterion (str): The criterion for optimization.
- Attributes:
graph (numpy.ndarray): The adjacency matrix of the graph. start (int): The starting node for the random walk. signatures (list): List of signatures corresponding to each node in the graph. criterion (str): The criterion for optimization.
- Methods:
optimize(objective, max_iters, callback=None): Optimizes the objective function using random walk algorithm. normalize_graph(): Normalizes the graph by dividing each row by its sum. optimize_with_backtracking(objective, max_iters, callback=None): Optimizes the objective function using random walk algorithm with backtracking.
- optimize(objective, max_iters, callback=None)[source]#
Optimizes the objective function using random walk algorithm.
- Args:
objective (function): The objective function to be optimized. max_iters (int): The maximum number of iterations for the optimization. callback (function, optional): A callback function to be called after each iteration. Defaults to None.
- Returns:
tuple: A tuple containing the best node, metric, and loss.
- optimize_with_backtracking(objective, max_iters, callback=None)[source]#
Optimizes the objective function using random walk algorithm with backtracking.
- Args:
objective (function): The objective function to be optimized. max_iters (int): The maximum number of iterations for the optimization. callback (function, optional): A callback function to be called after each iteration. Defaults to None.
- Returns:
tuple: A tuple containing the best node, metric, and loss.