Двухклассовая машина опорных векторов с локальной глубиной

Важно!

Поддержка Студии машинного обучения (классической) будет прекращена 31 августа 2024 г. До этой даты рекомендуется перейти на Машинное обучение Azure.

Начиная с 1 декабря 2021 года вы не сможете создавать новые ресурсы Студии машинного обучения (классической). Существующие ресурсы Студии машинного обучения (классическая версия) можно будет использовать до 31 августа 2024 г.

Поддержка документации по ML Studio (классической) прекращается, а сама документация может не обновляться в будущем.

Создает модель двоичной классификации с помощью алгоритма машины опорных векторов с локальной глубиной

Категория: Машинное обучение / инициализация модели / классификация

Примечание

Область применения: только Машинное обучение Studio (классическая версия)

Подобные модули перетаскивания доступны в конструкторе машинного обучения Azure.

Обзор модуля

В этой статье описывается, как использовать модуль двухклассового машинного вектора локальной поддержки в Машинное обучение Studio (классическая модель) для создания двухклассового нелинейного векторного векторного машин (SVM), оптимизированного для эффективного прогнозирования.

Метод опорных векторов (SVM) — это невероятно популярный и хорошо изученный класс моделей для контролируемого обучения, который можно использовать в линейных и нелинейных задачах классификации. В последних исследованиях основное внимание уделяется способам оптимизации этих моделей для эффективного масштабирования до более крупных наборов обучающих данных. В этой реализации от Microsoft Research функция ядра, используемая для сопоставления точек данных с пространством признаков, оптимизирована для сокращения времени, необходимого для обучения, с сохранением точности классификации.

Эта модель является защищенным методом обучения и, следовательно, требует помеченного набора данных, который включает столбец меток.

Определив параметры модели, обучите ее, предоставив модель и набор данных с тегами в качестве входных данных для обучения модели или настройки гиперпараметров модели. Обученную модель затем можно использовать для прогнозирования новых входных данных.

Настройка Two-Class локально глубокой поддержки векторного компьютера

  1. Добавьте модуль двухклассового Locally-Deep support Vector Machine в эксперимент в Студии (классическая модель).

  2. Укажите, как вы хотите обучать модель, выбрав значение Create trainer mode (Создать режим учителя).

    • Single Parameter (Одиночный параметр). Если вы знаете, как хотите настроить модель, предоставьте определенный набор значений в качестве аргументов.

    • Диапазон параметров: если вы не уверены в лучших параметрах, вы можете найти оптимальные параметры, указав несколько значений и используя модуль "Настройка гиперпараметров модели " для поиска оптимальной конфигурации. Обучающий выполняет итерацию по нескольким сочетаниям предоставленных параметров и определяет сочетание значений, создающих лучшую модель.

  3. Для параметра "Глубина дерева" укажите максимальную глубину дерева, которое может быть создано локальной моделью SVM (LD-SVM).

    Затраты на обучение растут линейно с глубиной дерева. Поэтому выберите соответствующую глубину в зависимости от того, сколько времени можно потратить на построение модели.

    Время на обучение примерно удваивается при увеличении глубины на единицу.

    При увеличении глубины точность прогноза должна вырасти, достигнуть максимума и затем уменьшиться.

  4. Для Лямбда-W укажите вес, который должен быть присвоен термину регуляризации.

    Регуляризация ограничивает компоненты с большими значениями в обученном классификаторе. Если число выборок недостаточно с учетом числа признаков, можно использовать регуляризацию L2, чтобы избежать переобучения. Более крупные значения для Лямбда-W означают, что больше внимания уделяется регуляризации весов классификатора и меньше на ошибке классификации набора обучения.

    Если значение по умолчанию (0.1) работает неправильно, следует также попробовать {0.0001, 0.001 и 0.01}.

  5. Для лямбда-теты укажите, сколько пространства должно остаться между границей региона и ближайшей точкой данных.

    Эта модель разделяет пространство данных и пространство признаков на области. Если лямбда-тета сводится к минимуму таким образом, что границы региона в обученной модели слишком близки к точкам данных для обучения, модель может привести к низкой ошибке обучения, но высокая ошибка теста из-за переобучения.

    Чтобы уменьшить количество параметров, которые необходимо проверить, рекомендуется задать лямбда-тету значением на одну десятую часть значения, используемого для Лямбда-W. Большие значения означают, что больше внимания уделяется предотвращению переподбора, чем при минимизации ошибок классификации в обучаемом наборе.

    Если значение по умолчанию (0,01) не подходит, попробуйте использовать {0,0001, 0,001 и 0,1}.

  6. Для лямбда-тета Prime введите значение для управления количеством кривизны, допустимой в границах принятия решений в модели.

    Более крупные значения дают модели гибкость для изучения границ изогнутых решений, в то время как меньшие значения могут ограничивать границы принятия решений более пошаговой линейной схемой.

    Этот параметр работает в сочетании с параметром Sigma . Чтобы уменьшить число параметров, которые необходимо проверить, рекомендуется задать для Lambda Theta Prime одну десятую от значения, используемого для Lambda W.

    Если значение по умолчанию (0,01) не подходит, попробуйте использовать {0,0001, 0,001 и 0,1}.

  7. Для Сигмоидной резкости введите значение, которое будет использоваться для параметра масштабирования σ.

    Более крупные значения означают, что танх в локальном ядре (тета) насыщен, тогда как меньшее значение подразумевает более линейный рабочий диапазон для теты. Формулу полной оптимизации можно найти в разделе "Технические примечания ".

    Если значение по умолчанию (1) не подходит, попробуйте использовать {0,1, 0,01 и 0,001}.

  8. В поле "Число итераций" укажите, сколько раз алгоритм должен обновлять параметры классификатора случайным подмножеством примеров.

  9. Для нормализатора компонентов выберите метод для нормализации значений признаков. Поддерживаются следующие методы:

    • Нормализатор binning: нормализатор бинирования создает ячейки одинакового размера, а затем нормализует каждое значение в каждом контейнере, которое будет разделено на общее количество ячеек.

    • Gaussian normalizer: Gaussian нормализатор повторно масштабирует значения каждой функции, чтобы иметь среднее значение 0 и дисперсию 1. Это делается путем вычисления среднего и дисперсии каждой функции. Затем среднее значение для каждого экземпляра вычитается, а результат делится на квадратный корень дисперсии (стандартное отклонение).

    • Нормализатор min-Max: нормализатор min-max линейно масштабирует каждую функцию до интервала [0,1].

      Масштабирование в интервале [0,1] осуществляется путем сдвига значений каждого компонента таким образом, чтобы минимальное значение было равно 0, а затем деления на новое максимальное значение (которое представляет собой разницу между первоначальными максимальными и минимальными значениями).

    • Не нормализуйте: нормализация не выполняется.

  10. В начальном значении случайного числа введите значение, которое будет использоваться в качестве начального значения, если требуется обеспечить воспроизводимость между запусками.

  11. Выберите параметр "Разрешить неизвестные категориальные уровни ", чтобы создать группу для неизвестных значений в наборах тестирования или проверки.

    Если отменить его выбор, модель сможет принимать только значения, содержащиеся в данных для обучения. В первом случае модель может быть менее точной для известных значений, но она обеспечивает более точные прогнозы для новых (неизвестных) значений.

  12. Подключение набор данных с тегами и один из модулей обучения:

    • Если для параметра Создать режим учителя задано значение Одиночный параметр, используйте модуль Обучение модели.

    • Если для параметра Создать режим учителя задано значение Диапазон параметров, используйте модуль Настройка гиперпараметров модели.

    Примечание

    При передаче диапазона параметров в модуль Обучение модели используется только первое значение в списке диапазона параметров.

    Если передать один набор значений параметров в модуль Настройка гиперпараметров модели, когда он ожидает диапазон параметров для каждого параметра, он пропускает значения и использует значения по умолчанию для ученика.

    Если выбран вариант Parameter Range (Диапазон параметров) и указано одно значение для любого параметра, это единственное заданное значение будет использоваться во время очистки, даже если другие параметры меняются в диапазоне значений.

  13. Запустите эксперимент.

Результаты

После завершения обучения:

  • Чтобы просмотреть сводку параметров модели, щелкните правой кнопкой мыши выходные данные модуля "Обучение модели " или модуля "Настройка гиперпараметров модели " и выберите "Визуализировать".

  • Чтобы сохранить snapshpt обученной модели, щелкните правой кнопкой мыши выходные данные обученной модели и выберите команду "Сохранить как обученную модель". Эта модель не обновляется при последующих запусках одного эксперимента.

  • Чтобы выполнить перекрестную проверку для помеченного набора данных, подключите необученную модель к перекрестной проверке модели.

Технические примечания

В этом разделе содержатся сведения о реализации, советы и ответы на часто задаваемые вопросы.

Советы по использованию

Классификатор LD-SVM наиболее полезен при указанных ниже условиях.

  • Имеется задача двоичной классификации или задача, которую можно свести к подобной задаче.

  • Вы использовали линейный классификатор, однако он не справился с задачей.

  • Вы использовали нелинейную машину SVM или другой классификатор и получили хорошую точность классификации, но обучение модели заняло слишком много времени.

  • Вы можете пожертвовать точностью прогноза, чтобы сократить время обучения.

Модели LD-SVM хорошо подходят для тех случаев, когда данные достаточно сложны и линейные модели (такие как логистическая регрессия) плохо справляются с ними. Модели LD-SVM также достаточно компактны для мобильных устройств или других ситуаций, в которых сложные модели (например, нейронные сети) слишком велики для эффективного использования.

С другой стороны, эту модель не следует использовать, если вам не важен размер модели или если для простоты или скорости прогнозирования требуется линейная модель. Кроме того, нет смысла переходить на LD-SVM, если линейные классификаторы уже дают хорошие результаты, или если вы можете получить высокую точность классификации, добавив небольшое количество нелинейности.

Сведения о реализации

Модель LD-SVM была разработана Microsoft Research в рамках процесса ускорения нелинейного прогнозирования с помощью машины опорных векторов. Особенно ценной оказалась работа Генена и Альпайдина (2008), посвященная локализованному методу обучения нескольких ядер. Использование функции локального ядра позволяет модели обучаться произвольным локальным внедрениям признаков, в том числе многомерным, разреженным и вычисляемым признакам, которые вводят нелинейности в модель.

LD-SVM быстрее большинства других классификаторов по ряду причин.

  • Модель изучает границы принятия решений, которые являются локально линейными. Это позволяет эффективно классифицировать контрольную точку путем ее тестирования относительно локальной границы принятия решений, а не всего набора границ принятия решений во всем пространстве признаков.

  • Модель использует эффективные процедуры на основе прямых задач программирования для оптимизации пространства локальных внедрений признаков с древовидной структурой, которое масштабируется до больших обучающих наборов с более чем 500 000 точек обучения.

  • Затраты на проверку точки относительно локальной границы принятия решений логарифмически зависят от числа точек обучения.

В результате этих оптимизаций обучение модели LD-SVM становится экспоненциально быстрее, чем обучение традиционных моделей машин опорных векторов.

Формула оптимизации

optimization formula

Исследования

Дополнительные сведения об алгоритме и базовом исследовании см. в разделе "Локальное глубокое ядро" Обучение для эффективного нелинейного прогнозирования SVM.

Параметры модуля

Имя Диапазон Тип По умолчанию Описание
Создание режима учителя Список Выбор параметра ученика Единственный параметр Расширенные параметры ученика:

1. Создание учащегося с помощью одного параметра
2. Создание обучающегося с помощью диапазона параметров
Глубина дерева >=1 Целочисленный тип 3 Глубина дерева машины опорных векторов с локальной глубиной
Lambda W >= 1,401298E-45 Тип с плавающей запятой 0.1 Вес регуляризации для параметра классификатора Lambda W.
Lambda Theta >= 1,401298E-45 Float 0,01 Вес регуляризации для параметра классификатора Lambda Theta.
Lambda Theta Prime >= 1,401298E-45 Float 0,01 Вес регуляризации для параметра классификатора Lambda Theta.
Сигмоидальная резкость >= 1,401298E-45 Float 1.0 Сигмоидальная резкость.
Глубина дерева [1;int.MaxValue] ParameterRangeSettings 1; 3; 5; 7 Диапазон глубины дерева машины опорных векторов с локальной глубиной.
Lambda W [1.401298E-45;3.40282347E+38] ParameterRangeSettings 0.1; 0.01; 0.001 Диапазон веса регуляризации для параметра классификатора Lambda W.
Lambda Theta [1.401298E-45;3.40282347E+38] ParameterRangeSettings 0.1; 0.01; 0.001 Диапазон веса регуляризации для параметра классификатора Lambda Theta.
Lambda Theta Prime [1.401298E-45;3.40282347E+38] ParameterRangeSettings 0.1; 0.01; 0.001 Диапазон веса регуляризации для параметра классификатора Lambda Theta.
Сигмоидальная резкость [1.401298E-45;3.40282347E+38] ParameterRangeSettings 1.0; 0.1; 0.01 Диапазон сигмоидальной резкости.
Метод нормализации признаков Список Тип нормализатора Минимаксный метод нормализации Тип нормализации, который применяется к обучающим примерам.
Число итераций >=1 Целочисленный тип 15 000 Число итераций обучения.
Число итераций [1;int.MaxValue] ParameterRangeSettings 10000; 15000; 20000 Диапазон количества итераций обучения.
Начальное значение случайного числа Любой Целое число Начальное значение для генератора случайных чисел, используемого моделью. Чтобы использовать значение по умолчанию, оставьте это поле пустым.
Разрешить неизвестные категориальные уровни Любой Логическое значение True Если значение равно True, создается дополнительный уровень для каждого категориального столбца. Все уровни в тестовом наборе данных, недоступные в обучающем наборе, сопоставляются с этим дополнительным уровнем.

Выходные данные

Имя Тип Описание
Необученная модель Интерфейс ILearner Необученная модель двоичной классификации.

См. также раздел

Классификация
Список модулей в алфавитном порядке