#amazon-web-services #scikit-learn #linear-regression #amazon-sagemaker #hyperparameters
#amazon-веб-сервисы #scikit-учиться #линейная регрессия #amazon-sagemaker #гиперпараметры
Вопрос:
[AWS SageMaker LinearLearner][1] ; binary_classifier_model_selection_criteria — это гиперпараметр, полезный без перекрестной проверки и настройки гиперпараметров. По крайней мере, мне так кажется.
Если да, не могли бы вы объяснить, как можно обучить модель, установив для этого гиперпараметра значение ‘precision_at_target_recall’ или ‘recall_at_target_precision’ ?
Я не видел такой вещи в scikit-learn. Единственный способ, который кажется мне возможным и разумным, — это поиграть с threshold, чтобы сохранить его на уровне target_recall или target_precision, к сожалению, в документации ничего не упоминается о пороге или отключении, и я предполагаю, что он по-прежнему равен .5.
Комментарии:
1. Я предполагаю, что это основано на установке порога; см. «Шаг 3: проверка и установка порога» в docs.aws.amazon.com/sagemaker/latest/dg/ll_how-it-works.html Но я был бы рад увидеть более конкретную документацию по этому поводу!
Ответ №1:
SageMaker Linear Learner отличается от линейных моделей с открытым исходным кодом во многих аспектах, в частности:
- Больше контроля над производительностью: он содержит гиперпараметры, чтобы заставить модель соблюдать заданную точность или порог отзыва. Например, если ваша цель — получить классификатор, который получает не менее 95% отзыва, вы можете соответствующим образом выбрать гиперпараметры:
binary_classifier_model_selection_criteria='precision_at_target_recall'
иtarget_recall=0.95
- Он может исследовать несколько конфигураций в одном обучающем задании, эффективно выполняя «настройку при обучении». В документации это поведение называется «параллельным обучением и выбором модели», отличается от функции настройки модели SageMaker и характерно для линейного обучаемого. Вы можете управлять количеством протестированных моделей с
num_models
помощью параметра - Обычно он гораздо более масштабируемый, чем альтернативы: он обучается как нейронная сеть в режиме мини-пакетного SGD, что позволяет ему поддерживать параллельное распределенное обучение с использованием данных на нескольких процессорах или экземплярах графических процессоров. Он поддерживает загрузку данных в режиме КАНАЛА, технологию приема данных SageMaker с низкой задержкой и высокой пропускной способностью, которая использует именованный канал Unix для потоковой передачи данных из S3 непосредственно в память, позволяя изучать огромные наборы данных, слишком большие для локальных дисков.
- Он был разработан для обеспечения высокой эффективности. мы можем только предполагать, в чем заключаются основные хитрости, поскольку реализация не является общедоступной, но я считаю, что богатые возможности настройки SGD и дизайн настройки при обучении способствуют его экономической эффективности. См. Ниже сравнительный анализ с MLlib из статьи Elastic Machine Learning Algorithms в Amazon SageMaker от Liberty и др.
- Он поставляется со встроенным стеком обслуживания: вы можете легко развернуть обученную модель на обслуживаемой конечной точке, управляемой SageMaker, без необходимости самостоятельно писать какой-либо файл dockerfile или код веб-сервера
Дополнительным заметным отличием SageMaker Linear Learner от других встроенных SageMaker является то, что вы можете прочитать его из SageMaker с помощью кода десериализации MXNet, предоставленного в документе