Можно использовать 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
данные.
Совет
Для получения примера смотрите Train Деревья решений с использованием приложения Classification Learner.
Деревья классификации в 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.
Если у вас есть ровно два класса, 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.
Классификаторы ближайших соседей в 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 - Укажите, следует ли стандартизировать числовые предикторы. Если предикторы имеют широко различные шкалы, стандартизация может улучшить подгонку. Стандартизация данных настоятельно рекомендуется.