code: def mean_max_loss(
      classifier: OneVsRestClassifier,
      X_pool: modALinput,
      n_instances: int = 1,
      random_tie_break: bool = False,
  ) -> np.ndarray:
      """
      Mean Max Loss query strategy for SVM multilabel classification.
  
      For more details on this query strategy, see
      Li et al., Multilabel SVM active learning for image classification
      (http://dx.doi.org/10.1109/ICIP.2004.1421535)
  
      Args:
          classifier: The multilabel classifier for which the labels are to be queried. Should be an SVM model
              such as the ones from sklearn.svm. Although the function will execute for other models as well,
              the mathematical calculations in Li et al. work only for SVM-s.
          X_pool: The pool of samples to query from.
          random_tie_break: If True, shuffles utility scores to randomize the order. This
              can be used to break the tie when the highest utility score is not unique.
  
      Returns:
          The index of the instance from X_pool chosen to be labelled.
          The SVM-loss metric of the chosen instances.
  
      """
  
      assert (
          len(X_pool) >= n_instances
      ), "n_instances cannot be larger than len(X_pool)"
      loss = _SVM_loss(classifier, X_pool)
  
      if not random_tie_break:
          return multi_argmax(loss, n_instances)
  
      return shuffled_argmax(loss, n_instances)
  
file_path: modAL/modAL/multilabel.py
imports: from typing import Optional
  import numpy
  from sklearn.multiclass import OneVsRestClassifier
  from modAL.models import ActiveLearner
  from modAL.utils.data import modALinput
  from modAL.utils.selection import multi_argmax, multi_argmin, shuffled_argmax, shuffled_argmin
label_desc: Use image node_id 4 for calling a global function with example usage: mean_max_loss(classifier, X_pool, n_instances, random_tie_break) and returns: shuffled_argmax, multi_argmax