В контексте машинного обучения «модальный цикл активного обучения» обычно относится к итеративному процессу, который сочетает в себе активное обучение и обучение модели для повышения производительности модели машинного обучения. Активное обучение – это метод, при котором модель активно выбирает наиболее информативные или неопределенные точки данных из большого пула немаркированных данных для аннотаций, которые затем используются для обучения и улучшения модели.
Вот несколько методов, обычно используемых в модальном цикле активного обучения, а также примеры кода:
-
Выборка по неопределенности:
Этот метод выбирает точки данных для аннотации, в отношении которых модель наиболее неопределенна. Его можно реализовать с использованием различных мер неопределенности, таких как энтропия, маржинальная выборка или метод наименьшей достоверности.# Example using entropy-based uncertainty sampling from sklearn.datasets import load_iris from sklearn.ensemble import RandomForestClassifier from modAL.models import ActiveLearner from modAL.uncertainty import entropy_sampling X, y = load_iris(return_X_y=True) learner = ActiveLearner( estimator=RandomForestClassifier(), X_training=X[:10], y_training=y[:10] ) # Query the most uncertain instances query_idx, query_inst = entropy_sampling(learner, X[10:], n_instances=5) -
Запрос по комитету.
Этот метод включает в себя обучение ансамбля моделей с различной инициализацией или подмножествами обучающих данных. Разногласия или консенсус между моделями используются для выбора точек данных для аннотации.# Example using query-by-committee from sklearn.datasets import load_iris from sklearn.ensemble import RandomForestClassifier from modAL.models import ActiveLearner from modAL.disagreement import vote_entropy_sampling X, y = load_iris(return_X_y=True) learner = ActiveLearner( estimator=RandomForestClassifier(), X_training=X[:10], y_training=y[:10] ) # Query the instances with highest disagreement among the models query_idx, query_inst = vote_entropy_sampling(learner, X[10:], n_instances=5) -
Ожидаемое изменение модели.
Этот метод оценивает ожидаемое изменение производительности модели путем включения определенных экземпляров для аннотаций. Он учитывает такие факторы, как параметры модели или границы принятия решений.# Example using expected model change from sklearn.datasets import load_iris from sklearn.ensemble import RandomForestClassifier from modAL.models import ActiveLearner from modAL.expected_error import expected_error_reduction X, y = load_iris(return_X_y=True) learner = ActiveLearner( estimator=RandomForestClassifier(), X_training=X[:10], y_training=y[:10] ) # Query the instances that would result in the highest expected performance improvement query_idx, query_inst = expected_error_reduction(learner, X[10:], n_instances=5)
Это всего лишь несколько примеров методов, используемых в модальном цикле активного обучения. Существует множество других методов, которые можно использовать, в зависимости от конкретной проблемы и используемой модели.