Выбор опций классификатора

Выбор типа классификатора

Можно использовать Classification Learner, чтобы автоматически обучить выбор различных классификационных моделей на ваших данных. Используйте автоматическое обучение, чтобы быстро попробовать выбор типов моделей, затем исследуйте многообещающие модели в интерактивном режиме. Чтобы начать, сначала попробуйте следующие опции:

ЗапускиОписание
All Quick-To-TrainПопробуйте сначала. Приложение обучит все типы моделей, доступные для вашего набора данных, которые обычно быстро подгоняются.
All LinearПопробуйте это, если вы ожидаете линейные контуры между классами в ваших данных. Эта опция подходит только для линейного SVM и линейного дискриминанта.
AllИспользуйте это для обучения всех доступных неоптимизируемых типов моделей. Обучает каждый тип независимо от любых ранее обученных моделей. Может быть длительным.

См. «Автоматическое обучение классификаторов».

Если вы хотите исследовать классификаторы по одному за раз или уже знаете, какой тип классификатора вы хотите, можно выбрать отдельные модели или обучить группу того же типа. Чтобы просмотреть все доступные опции классификатора, на вкладке Classification Learner щелкните стреле в разделе Model Type, чтобы развернуть список классификаторов. Опции неоптимизируемой модели в галерее Model Type являются предустановленными начальными точками с различными настройками, подходящими для области значений различных задач классификации. Чтобы использовать оптимизируемые опции модели и настроить гиперпараметры модели автоматически, смотрите Оптимизацию Гипероптимизации параметров управления в Приложении Classification Learner.

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

Совет

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

Характеристики типов классификаторов

КлассификаторСкорость предсказанияИспользование памятиИнтерпретируемость
Деревья решений
БыстроМаленькийЛегкий
Дискриминантный анализ
БыстроМалый для линейного, большой для квадратичногоЛегкий
Логистическая регрессия
БыстроСредаЛегкий
Наивные классификаторы Байеса
Среда для простых распределений
Медленно для ядерных распределений или высоко-размерных данных
Маленький для простых распределений
Среда для ядерных распределений или высоко-размерных данных
Легкий

Машины опорных векторов

Среда для линейного
Медленно для других
Среда для линейного.
Все остальные: среда для многоклассовых, большая для двоичных.
Легкий для линейного SVM.
Жесткий для всех других типов ядра.
Классификаторы по ближайшему соседу
Медленный для кубического
Среда для других
СредаТрудно
Классификаторы ансамблей
Быстрый и средний в зависимости от выбора алгоритмаОт низкого до высокого в зависимости от выбора алгоритмаТрудно
Классификаторы нейронных сетей
БыстроСредаТрудно

Таблицы на этой странице описывают общие характеристики скорости и использования памяти для всех неоптимизируемых предустановленных классификаторов. Классификаторы были протестированы с различными наборами данных (до 7000 наблюдений, 80 предикторов и 50 классов), и результаты определяют следующие группы:

Скорость

  • Быстро 0,01 секунд

  • Средняя 1 секунда

  • Медленные 100 секунд

Память

  • Малые 1MB

  • Средняя 4MB

  • Большие 100MB

Эти таблицы содержат общее руководство. Ваши результаты зависят от ваших данных и скорости вашей машины.

Чтобы прочитать описание каждого классификатора в Classification Learner, перейдите к представлению подробностей.

Совет

После выбора типа классификатора (для примера, деревьев решений) попробуйте обучение с использованием каждого из классификаторов. Неоптимизируемые опции в галерее Model Type являются начальными точками с различными настройками. Попробуйте их все, чтобы увидеть, какая опция создает лучшую модель с вашими данными.

Инструкции по рабочему процессу см. в разделе Train классификационных моделей в приложении Classification Learner.

Категориальная поддержка предиктора

В Classification Learner в коллекции Model Type отображаются доступные типы классификаторов, поддерживающие выбранные данные.

КлассификаторВсе предикторы числовыеВсе предикторы категориальныеНекоторые категориальные, некоторые числовые
Деревья решенийДаДаДа
Дискриминантный анализДаНетНет
Логистическая регрессияДаДаДа
Наивный БайесДаДаДа
SVMДаДаДа
Ближайший СоседнийТолько евклидовое расстояниеТолько расстояние хеммингаНет
АнсамблиДаДа, кроме Subspace ДискриминантДа, кроме любого подпространства
Нейронные сетиДаДаДа

Деревья решений

Деревья решений легко интерпретировать, быстро для подбора кривой и предсказания, и с низким уровнем использования памяти, но они могут иметь низкую точность прогноза. Старайтесь выращивать более простые деревья, чтобы предотвратить сверхподбор кривой. Управляйте глубиной с помощью настройки Maximum number of splits.

Совет

Гибкость модели увеличивается с настройкой Maximum number of splits.

Тип классификатораСкорость предсказанияИспользование памятиИнтерпретируемостьМоделирование гибкости
Дерево грубых пород
БыстроМаленькийЛегкийНизко
Немного листьев для проведения грубых различий между классами (максимальное количество сплит - 4).
Среднее дерево
БыстроМаленькийЛегкийСреда
Среднее количество листьев для более мелких различий между классами (максимальное количество сплит составляет 20).
Точное дерево
БыстроМаленькийЛегкийВысоко
Многие листья, чтобы сделать много тонких различий между классами (максимальное количество сплит составляет 100).

Совет

В галерее Model Type щелкните All Trees, чтобы попробовать каждый из неоптимизируемых опций дерева решений. Обучите их всех, чтобы увидеть, какие настройки производят лучшую модель с вашими данными. Выберите лучшую модель на панели Models. Чтобы попытаться улучшить модель, попробуйте выбор признаков, а затем попробуйте изменить некоторые расширенные опции.

Вы обучаете деревья классификации, чтобы предсказать ответы на данные. Чтобы предсказать ответ, следуйте решениям в дереве от корневого (начального) узла до узла листа. Узел листа содержит ответ. Statistics and Machine Learning Toolbox™ деревьев являются двоичными. Каждый шаг в предсказании включает проверку значения одного предиктора (переменной). Например, вот простое дерево классификации:

Это дерево предсказывает классификации на основе двух предикторов, x1 и x2. Чтобы предсказать, начните с верхнего узла. При каждом решении проверяйте значения предикторов, чтобы решить, какой ветви следовать. Когда ветви достигают конечного узла, данные классифицируются как тип 0 или 1.

Можно визуализировать модель дерева решений, экспортировав модель из приложения и затем введя:

view(trainedModel.ClassificationTree,'Mode','graph') 
Рисунок показывает пример тонкого дерева, обученного с fisheriris данные.

Расширенные опции дерева

Деревья классификации в Classification Learner используют fitctree функция. Можно задать следующие опции:

  • Maximum number of splits

    Задайте максимальное количество разделений или точек ветви, чтобы контролировать глубину дерева. Когда вы выращиваете дерево решений, учитывайте его простоту и прогнозирующую степень. Чтобы изменить количество разделений, нажмите кнопки или введите положительное целое значение в Maximum number of splits поле.

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

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

  • Split criterion

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

    Опции критерия разделения Gini's diversity index, Twoing rule, или Maximum deviance reduction (также известный как кросс-энтропия).

    Дерево классификации пытается оптимизировать до чистых узлов, содержащих только один класс. Индекс разнообразия Джини (по умолчанию) и критерий отклонения измеряют примесь узла. Правило twoing является другой мерой для принятия решения о разделении узла, где максимизация выражения правила twoing увеличивает чистоту узла.

    Для получения дополнительной информации об этих критериях разделения см. ClassificationTree Подробнее о.

  • Surrogate decision splits - только для отсутствующих данных.

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

    Когда вы задаете Surrogate decision splits Onдерево классификации находит самое большее 10 суррогатных разделений в каждом узле ветви. Чтобы изменить число, нажмите кнопки или введите положительное целое значение в Maximum surrogates per node поле.

    Когда вы задаете Surrogate decision splits Find Allдерево классификации находит все суррогатные разделения в каждом узле ветви. The Find All настройка может использовать значительное время и память.

Кроме того, вы можете позволить приложению автоматически выбрать некоторые из этих опций модели с помощью оптимизации гипероптимизации параметров управления. Смотрите Оптимизацию Гипероптимизации параметров управления в Classification Learner App.

Дискриминантный анализ

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

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

Тип классификатораСкорость предсказанияИспользование памятиИнтерпретируемостьМоделирование гибкости
Линейный дискриминант
БыстроМаленькийЛегкийНизко
Создает линейные контуры между классами.
Квадратичный дискриминант
БыстроБольшойЛегкийНизко
Создает нелинейные контуры между классами (эллипс, парабола или гипербола).

Расширенные опции дискриминации

Дискриминантный анализ в Classification Learner использует fitcdiscr функция. Для как линейных, так и квадратичных дискриминантов можно изменить опцию Covariance structure. Если у вас есть предикторы с нулевым отклонением или если какая-либо из ковариационных матриц ваших предикторов сингулярна, обучение может завершиться неудачно, используя значение по умолчанию, Full ковариационная структура. Если обучение не удается, выберите Diagonal вместо этого ковариационная структура.

Кроме того, вы можете позволить приложению автоматически выбрать некоторые из этих опций модели с помощью оптимизации гипероптимизации параметров управления. Смотрите Оптимизацию Гипероптимизации параметров управления в Classification Learner App.

Логистическая регрессия

Если у вас есть 2 класса, логистическая регрессия является популярным простым алгоритмом классификации, который можно попробовать, потому что его легко интерпретировать. Классификатор моделирует вероятности классов как функцию линейной комбинации предикторов.

Тип классификатораСкорость предсказанияИспользование памятиИнтерпретируемостьМоделирование гибкости
Логистическая регрессия
БыстроСредаЛегкийНизко
Вы не можете изменить какие-либо параметры, чтобы контролировать гибкость модели.

Логистическая регрессия в Classification Learner использует fitglm функция. Вы не можете задать какие-либо опции для этого классификатора в приложении.

Наивные классификаторы Байеса

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

Для наивных классификаторов Байеса ядра можно управлять более плавным типом ядра с Kernel Type настройкой и управлять поддержкой плотности сглаживания ядра с Support настройкой.

Тип классификатораСкорость предсказанияИспользование памятиИнтерпретируемостьМоделирование гибкости
Гауссов наивный Бейес
Среда
Медленно для высоко-размерных данных
Маленький
Среда для высоко-размерных данных
ЛегкийНизко
Вы не можете изменить какие-либо параметры, чтобы контролировать гибкость модели.
Ядерный наивный Бейес
МедленныйСредаЛегкийСреда
Можно изменить настройки для Kernel Type и Support, чтобы контролировать, как классификатор моделирует распределения предикторов.

Наивный Байес в Classification Learner использует fitcnb функция.

Расширенные наивные опции Байеса

Для наивных классификаторов Байеса ядра можно задать следующие опции:

  • Kernel Type - Задайте более плавный тип ядра. Попробуйте задать каждую из этих опций, чтобы увидеть, улучшают ли они модель с помощью ваших данных.

    Опции типа ядра Gaussian, Box, Epanechnikov, или Triangle.

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

    Опции поддержки Unbounded (все действительные значения) или Positive (все положительные действительные значения).

Кроме того, вы можете позволить приложению автоматически выбрать некоторые из этих опций модели с помощью оптимизации гипероптимизации параметров управления. Смотрите Оптимизацию Гипероптимизации параметров управления в Classification Learner App.

Для следующих шагов обучающих моделей смотрите Обучите Классификационные модели в Приложении Classification Learner.

Машины опорных векторов

В Classification Learner можно обучать SVM, когда данные имеют два или более классов.

Тип классификатораСкорость предсказанияИспользование памяти ИнтерпретируемостьМоделирование гибкости
Линейный SVM

Бинарный: Быстрый

Мультикласс: Средний

СредаЛегкийНизко
Делает простое линейное разделение между классами.
Квадратичный SVM

Бинарный: Быстрый

Мультикласс: Медленный

Двоичный: Средний

Мультикласс: Большой

ТрудноСреда
Кубический SVM

Бинарный: Быстрый

Мультикласс: Медленный

Двоичный: Средний

Мультикласс: Большой

ТрудноСреда
Точный Гауссов СВМ

Бинарный: Быстрый

Мультикласс: Медленный

Двоичный: Средний

Мультикласс: Большой

ТрудноВысокий - уменьшается с установкой шкалы ядра.
Делает тонко детализированные различия между классами, при этом шкала ядра установлена на sqrt(P)/4.
Средний Гауссов СВМ

Бинарный: Быстрый

Мультикласс: Медленный

Двоичный: Средний

Мультикласс: Большой

ТрудноСреда
Различия между средними значениями со шкалой ядра, установленной на sqrt(P).
Грубый Гауссов СВМ

Бинарный: Быстрый

Мультикласс: Медленный

Двоичный: Средний

Мультикласс: Большой

ТрудноНизко
Делает грубые различия между классами, при этом шкала ядра установлена на sqrt(P)*4, где P - количество предикторов.

Совет

Попробуйте обучить каждый из неоптимизируемых опций машины опорных векторов в галерее Model Type. Обучите их всех, чтобы увидеть, какие настройки производят лучшую модель с вашими данными. Выберите лучшую модель на панели Models. Чтобы попытаться улучшить модель, попробуйте выбор признаков, а затем попробуйте изменить некоторые расширенные опции.

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

support vectors являются точками данных, которые ближе всего к разделяющей гиперплоскости; эти точки находятся на контуре перекрытия. Следующий рисунок иллюстрирует эти определения с + указанием точек данных типа 1 и - указанием точек данных типа -1.

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

Для получения примера смотрите Train Машин опорных векторов Использование приложения Classification Learner.

Расширенные опции SVM

Если у вас есть ровно два класса, Classification Learner использует fitcsvm функция для обучения классификатора. Если у вас более двух классов, приложение использует fitcecoc функция для сокращения многоклассовой задачи классификации до набора двоичных подпрограмм классификации с одним обучающимся SVM для каждой подпрограммы. Чтобы изучить код для двоичных и многоклассовых типов классификаторов, можно сгенерировать код из обученных классификаторов в приложении.

Вы можете задать эти опции в приложении:

  • Kernel function

    Задайте функцию Kernel, чтобы вычислить классификатор.

    • Линейное ядро, самое простое в интерпретации

    • Ядро Гауссова или Радиального Базиса (RBF)

    • Квадратный

    • Кубический

  • Box constraint level

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

    Чтобы настроить классификатор SVM, попробуйте увеличить прямоугольный уровень ограничений. Нажмите кнопки или введите положительную скалярную величину значение в Box constraint level поле. Увеличение уровня ограничения коробки может уменьшить количество векторов поддержки, но также может увеличить время обучения.

    Параметр Box Constraint является штрафом с мягким запасом, известным как C в основных уравнениях, и является жестким «прямым» ограничением в двойственных уравнениях.

  • Kernel scale mode

    При необходимости задайте масштабирование ядра вручную.

    Когда вы задаете Kernel scale mode Auto, затем программа использует эвристическую процедуру, чтобы выбрать значение шкалы. Эвристическая процедура использует субдискретизацию. Поэтому, чтобы воспроизвести результаты, установите начальное число случайных чисел используя rng перед обучением классификатора.

    Когда вы задаете Kernel scale mode Manualможно задать значение. Нажмите кнопки или введите положительную скалярную величину значение в Manual kernel scale поле. Программа делит все элементы матрицы предиктора на значение шкалы ядра. Затем программное обеспечение применяет соответствующую норму ядра для вычисления матрицы Gram.

    Совет

    Гибкость модели уменьшается с установкой шкалы ядра.

  • Multiclass method

    Только для данных с 3 или более классами. Этот метод сводит многоклассовую задачу классификации к набору двухкомпонентных подпроектов классификации с одним обучающимся SVM для каждой подпроблемы. One-vs-One обучает по одному учащемуся для каждой пары классов. Он учится отличать один класс от другого. One-vs-All обучает по одному учащемуся для каждого класса. Он учится отличать один класс от всех других.

  • Standardize data

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

Кроме того, вы можете позволить приложению автоматически выбрать некоторые из этих опций модели с помощью оптимизации гипероптимизации параметров управления. Смотрите Оптимизацию Гипероптимизации параметров управления в Classification Learner App.

Классификаторы по ближайшему соседу

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

Совет

Гибкость модели уменьшается с настройкой Number of neighbors.

Тип классификатораСкорость предсказанияИспользование памятиИнтерпретируемостьМоделирование гибкости
Тонкий KNN
СредаСредаТрудно

Тонко детализированные различия между классами. Количество соседей устанавливается равным 1.

Средний KNN
СредаСредаТрудно

Средние различия между классами. Количество соседей устанавливается равным 10.

Грубый КНН
СредаСредаТрудно

Грубые различия между классами. Количество соседей устанавливается равным 100.

Косинус KNN
СредаСредаТрудноСредние различия между классами, с помощью метрики Косинуса расстояния. Количество соседей устанавливается равным 10.
Кубический KNN
МедленныйСредаТрудноСредние различия между классами, с помощью метрики кубического расстояния. Количество соседей устанавливается равным 10.
Взвешенный KNN
СредаСредаТрудноСредние различия между классами, использование дистанционного веса. Количество соседей устанавливается равным 10.

Совет

Попробуйте обучить каждый из неоптимизируемых ближайших опций в Model Type галерее. Обучите их всех, чтобы увидеть, какие настройки производят лучшую модель с вашими данными. Выберите лучшую модель на панели Models. Чтобы попытаться улучшить модель, попробуйте выбор признаков, а затем (опционально) попробуйте изменить некоторые расширенные опции.

Что такое k-ближайшая соседняя классификация? Классификация точек запроса на основе их расстояния до точек (или соседей) в обучающем наборе данных может быть простым, но эффективным способом классификации новых точек. Для определения расстояния можно использовать различные метрики. Учитывая X n точек и функцию расстояния, k ближайшего соседа (k NN) поиск позволяет вам найти k ближайшие точки в X с точкой запроса или набором точек. k NN-алгоритмы широко используются в качестве эталонных правил машинного обучения.

Для получения примера смотрите Train классификаторы ближайших соседей, использующие приложение Classification Learner.

Расширенные опции KNN

Классификаторы ближайших соседей в Classification Learner используют fitcknn функция. Можно задать следующие опции:

  • Number of neighbors

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

  • Distance metric

    Для определения расстояния до точек можно использовать различные метрики. Определения см. в классе ClassificationKNN.

  • Distance weight

    Задайте функцию взвешивания расстояния. Вы можете выбрать Equal (без весов), Inverse (вес равен 1/расстояние), или Squared Inverse (вес равен 1/расстояние2).

  • Standardize data

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

Кроме того, вы можете позволить приложению автоматически выбрать некоторые из этих опций модели с помощью оптимизации гипероптимизации параметров управления. Смотрите Оптимизацию Гипероптимизации параметров управления в Classification Learner App.

Классификаторы ансамблей

Классификаторы ансамбля результатов от многих слабых учащихся в одну качественную модель ансамбля. Качества зависят от выбора алгоритма.

Совет

Гибкость модели увеличивается с настройкой Number of learners.

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

Тип классификатораСкорость предсказанияИспользование памятиИнтерпретируемостьМетод ансамбляМоделирование гибкости
Усиленные деревья
БыстроНизкоТрудноAdaBoost, с Decision Tree ученики

От среднего до высокого - увеличивается с Number of learners или Maximum number of splits настройкой.

Совет

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

Мешанные деревья
СредаВысокоТрудноСлучайный лес
Bag, с Decision Tree ученики

Высокий - увеличивается с Number of learners настройкой.

Совет

Попробуйте сначала этот классификатор.

Дискриминант подпространства
СредаНизкоТрудноSubspace, с Discriminant ученики

Средний - увеличивается с Number of learners настройкой.

Хорошо для многих предикторов

Подпространство KNN
СредаСредаТрудноSubspace, с Nearest Neighbor ученики

Средний - увеличивается с Number of learners настройкой.

Хорошо для многих предикторов

Деревья RUSBoost
БыстроНизкоТрудноRUSBoost, с Decision Tree ученики

Средний - увеличивается с Number of learners или Maximum number of splits настройкой.

Хорошо для искаженных данных (с большим количеством наблюдений 1 класса)

GentleBoost или LogitBoost - недоступны в Model Type галерее.
Если у вас есть данные 2 класса, выберите вручную.
БыстроНизкоТрудноGentleBoost или LogitBoost, с Decision Tree ученики
Выберите Boosted Trees и измените на GentleBoost способ.

Среда - увеличивается с Number of learners или Maximum number of splits настройкой.

Только для двоичной классификации

Мешанные деревья используют 'random forest' Бреймана алгоритм. Для ссылки см. Breiman, L. Random Forests. Машинное обучение 45, стр. 5-32, 2001.

Совет

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

  • Попробуйте обучить каждый из неоптимизируемых опций классификатора ансамбля в Model Type галерее. Обучите их всех, чтобы увидеть, какие настройки производят лучшую модель с вашими данными. Выберите лучшую модель на панели Models. Чтобы попытаться улучшить модель, попробуйте выбор признаков, PCA, а затем (опционально) попробуйте изменить некоторые расширенные опции.

  • Для ускорения методов ансамбля можно получить мелкую детализацию как с более глубокими деревьями, так и с большим количеством мелких деревьев. Как и в случае с отдельными классификаторами деревьев, глубокие деревья могут привести к сверхподбору кривой. Нужно экспериментировать, чтобы выбрать лучшую глубину дерева для деревьев в ансамбле, в порядок для компромисса данной подгонки со сложностью дерева. Используйте настройки Number of learners и Maximum number of splits.

Для получения примера смотрите Train Ensemble Classifiers Using Classification Learner App.

Расширенные опции ансамбля

Классификаторы ансамбля в Classification Learner используют fitcensemble функция. Можно задать следующие опции:

  • Для помощи с выбором Ensemble method и Learner type смотрите Ансамбль таблицы. Сначала попробуйте предустановки.

  • Maximum number of splits

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

  • Number of learners

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

  • Learning rate

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

  • Subspace dimension

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

Кроме того, вы можете позволить приложению автоматически выбрать некоторые из этих опций модели с помощью оптимизации гипероптимизации параметров управления. Смотрите Оптимизацию Гипероптимизации параметров управления в Classification Learner App.

Классификаторы нейронных сетей

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

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

Совет

В Model Type галерее нажмите All Neural Networks , чтобы попробовать каждый из предустановленных опций нейронной сети и увидеть, какие настройки производят лучшую модель с вашими данными. Выберите лучшую модель на панели Models и попытайтесь улучшить эту модель с помощью выбора признаков и изменения некоторых расширенных опций.

Тип классификатораСкорость предсказанияИспользование памятиИнтерпретируемостьМоделирование гибкости
Узкая нейронная сеть
БыстроСредаТрудноСреда - увеличивается с Size of each fully connected layer настройкой
Средняя нейронная сеть
БыстроСредаТрудноСреда - увеличивается с Size of each fully connected layer настройкой
Широкая нейронная сеть
БыстроСредаТрудноСреда - увеличивается с Size of each fully connected layer настройкой
Двухслойная нейронная сеть
БыстроСредаТрудноВысокий - увеличивается с Size of each fully connected layer настройкой
Трехслойная нейронная сеть
БыстроСредаТрудноВысокий - увеличивается с Size of each fully connected layer настройкой

Каждая модель является прямой, полностью связанной нейронной сетью для классификации. Первый полностью соединенный слой нейронной сети имеет соединение с сетевого входа (данные предиктора), и каждый последующий слой имеет соединение с предыдущего уровня. Каждый полносвязный слой умножает вход на весовую матрицу и затем добавляет вектор смещения. Функция активации следует за каждым полносвязным слоем. Конечный полносвязный слой и последующая функция активации softmax производят выход сети, а именно классификационных оценок (апостериорные вероятности) и предсказанные метки. Для получения дополнительной информации см. «Нейронные Структуры сети».

Для получения примера смотрите Train классификаторы нейронных сетей, использующие приложение Classification Learner.

Расширенные опции нейронной сети

Классификаторы нейронных сетей в Classification Learner используют fitcnet функция. Можно задать следующие опции:

  • Number of fully connected layers - Укажите количество полносвязных слоев в нейронной сети, исключая конечный полносвязной слой для классификации. Можно выбрать не более трех полносвязных слоев.

  • Size of each fully connected layer - Задает размер каждого полносвязного слоя, исключая конечный полносвязной слой. Если вы принимаете решение создать нейронную сеть с несколькими полносвязными слоями, рассмотрите определение слоев с уменьшающимися размерами.

  • Activation - Задайте функцию активации для всех полносвязных слоев, исключая конечный полносвязной слой. Функция активации для последнего полносвязного слоя всегда является softmax. Выберите из следующих функций активации ReLU, Tanh, Sigmoid, и None.

  • Iteration limit - Задайте максимальное количество итераций обучения.

  • Regularization term strength - Укажите срок штрафа за регуляризацию гребня (L2).

  • Standardize data - Укажите, следует ли стандартизировать числовые предикторы. Если предикторы имеют широко различные шкалы, стандартизация может улучшить подгонку. Стандартизация данных настоятельно рекомендуется.

Похожие темы