Можно использовать Classification Learner, чтобы автоматически обучить выбор различных моделей классификации на данных. Используйте автоматизированное обучение быстро попробовать выбор типов модели, затем исследуйте многообещающие модели в интерактивном режиме. Чтобы начать, попробуйте эти опции сначала:
Кнопки классификатора Запуска | Описание |
---|---|
All Quick-To-Train | Попробуйте это сначала. Приложение обучит все типы модели, доступные для вашего набора данных, которые обычно быстры, чтобы соответствовать. |
All Linear | Попробуйте это, если вы ожидаете линейные контуры между классами в ваших данных. Эта опция соответствует только Линейному SVM и Линейному Дискриминанту. |
All | Используйте это, чтобы обучить все доступные nonoptimizable типы модели. Обучает каждый тип независимо от любых предшествующих обученных моделей. Может быть длительным. |
Смотрите автоматизированное обучение классификатора.
Если вы хотите исследовать классификаторы по одному, или вы уже знаете, какой тип классификатора вы хотите, можно выбрать отдельные модели или обучить группу того же типа. Чтобы видеть все доступные опции классификатора, на вкладке Classification Learner, кликают по стрелке в разделе Model Type, чтобы расширить список классификаторов. nonoptimizable опции модели в галерее Model Type являются предварительно установленными начальными точками с различными настройками, подходящими для области значений различных проблем классификации. Чтобы использовать optimizable опции модели и гиперпараметры модели мелодии автоматически, смотрите Оптимизацию Гиперпараметра в Приложении Classification Learner.
Для справки, выбирая лучший тип классификатора для вашей проблемы, см., что таблица показывает типичные характеристики различных алгоритмов контролируемого обучения. Используйте таблицу в качестве руководства для вашего итогового выбора алгоритмов. Выберите компромисс, который вы хотите в скорости, гибкости и interpretability. Лучший тип классификатора зависит от ваших данных.
Совет
Чтобы постараться не сверхсоответствовать, ищите модель более низкой гибкости, которая обеспечивает достаточную точность. Например, ищите простые модели, такие как деревья решений и дискриминанты, которые быстры и легки интерпретировать. Если модели не являются достаточно точным предсказанием ответа, выбирают другие классификаторы с более высокой гибкостью, такие как ансамбли. Чтобы управлять гибкостью, смотрите детали для каждого типа классификатора.
Характеристики типов классификатора
Классификатор | Interpretability |
---|---|
Деревья решений
| Легкий |
Дискриминантный анализ
| Легкий |
Логистическая регрессия
| Легкий |
Наивные классификаторы Байеса
| Легкий |
Легкий для линейного SVM. Трудный для всех других типов ядра. | |
Самые близкие соседние классификаторы
| Трудно |
Классификаторы приближения ядра | Трудно |
Классификаторы ансамбля
| Трудно |
Классификаторы нейронной сети
| Трудно |
Чтобы считать описание каждого классификатора в Classification Learner, переключитесь на представление деталей.
Совет
После того, как вы выберете тип классификатора (например, деревья решений), попробуйте обучение с помощью каждого из классификаторов. nonoptimizable опции в галерее Model Type являются начальными точками с различными настройками. Судите их всех, чтобы видеть, какая опция производит лучшую модель с вашими данными.
Для инструкций по рабочему процессу смотрите, Обучают Модели Классификации в Приложении Classification Learner.
В Classification Learner галерея Model Type показывает как доступную типы классификатора, которые поддерживают ваши выбранные данные.
Классификатор | Все числовые предикторы | Все категориальные предикторы | Некоторые категориальные, некоторые числовые |
---|---|---|---|
Деревья решений | Да | Да | Да |
Дискриминантный анализ | Да | Нет | Нет |
Логистическая регрессия | Да | Да | Да |
Наивный Байес | Да | Да | Да |
SVM | Да | Да | Да |
NearestNeighbor | Евклидово расстояние только | Расстояние Хемминга только | Нет |
Приближение ядра | Да | Да | Да |
Ансамбли | Да | Да, кроме дискриминанта подпространства | Да, кроме любого Подпространства |
Нейронные сети | Да | Да | Да |
Деревья решений легко интерпретировать, быстро для подбора кривой и предсказания, и низко на использовании памяти, но у них может быть низкая прогнозирующая точность. Попытайтесь вырастить более простые деревья, чтобы предотвратить сверхподбор кривой. Управляйте глубиной с установкой Maximum number of splits.
Совет
Гибкость модели увеличивается с установкой Maximum number of splits.
Тип классификатора | Interpretability | Гибкость модели |
---|---|---|
Крупное дерево | Легкий | Низко Немного листов, чтобы сделать крупные различия между классами (максимальное количество разделений равняется 4). |
Среднее дерево | Легкий | Средняя Среднее количество уезжает в более прекрасные различия между классами (максимальное количество разделений равняется 20). |
Прекрасное дерево | Легкий | Высоко Много листов, чтобы сделать много тонких различий между классами (максимальное количество разделений равняется 100). |
Совет
В Model Type галерея нажимают All Trees, чтобы попробовать каждую из nonoptimizable опций дерева решений. Обучите их всех видеть, какие настройки производят лучшую модель с вашими данными. Выберите лучшую модель в панели Models. Чтобы попытаться улучшить вашу модель, попробуйте выбор признаков, и затем попытайтесь изменить некоторые расширенные настройки.
Вы обучаете деревья классификации предсказывать ответы на данные. Чтобы предсказать ответ, следуйте за решениями в дереве от корня (начало) узел вниз к вершине. Вершина содержит ответ. Деревья Statistics and Machine Learning Toolbox™ являются двоичным файлом. Каждый шаг в предсказании включает проверку значения одного предиктора (переменная). Например, вот простое дерево классификации:
Это дерево предсказывает классификации на основе двух предикторов, x1
и x2
. Чтобы предсказать, запустите в главном узле. При каждом решении проверяйте значения предикторов, чтобы решить который ветвь следовать. Когда ветви достигают вершины, данные классифицируются любой как тип 0
или 1
.
Можно визуализировать модель дерева принятия решения путем экспорта модели из приложения и затем ввода:
view(trainedModel.ClassificationTree,'Mode','graph')
fisheriris
данные.
Совет
Для примера смотрите, Обучают Деревья решений Используя Приложение 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
, дерево классификации находит все суррогатные разделения в каждом узле ветви. Find All
установка может использовать продолжительное время и память.
В качестве альтернативы можно позволить приложению выбрать некоторые из этих опций модели автоматически при помощи гипероптимизации параметров управления. Смотрите Гипероптимизацию параметров управления в Приложении Classification Learner.
Дискриминантный анализ является популярным первым алгоритмом классификации, который попробует, потому что это быстро, точно и легко интерпретировать. Дискриминантный анализ хорош для широких наборов данных.
Дискриминантный анализ принимает, что различные классы генерируют данные на основе различных Распределений Гаусса. Чтобы обучить классификатор, подходящая функция оценивает параметры Распределения Гаусса для каждого класса.
Тип классификатора | Interpretability | Гибкость модели |
---|---|---|
Линейный дискриминант | Легкий | Низко Создает линейные контуры между классами. |
Квадратичный дискриминант | Легкий | Низко Создает нелинейные контуры между классами (эллипс, парабола или гипербола). |
Дискриминантный анализ в Classification Learner использует fitcdiscr
функция. И для линейных и для квадратичных дискриминантов, можно изменить опцию Covariance structure. Если у вас есть предикторы с нулевым отклонением или если какая-либо из ковариационных матриц ваших предикторов сингулярна, учебный может привести использование к сбою значения по умолчанию, Full
структура ковариации. Если обучение перестало работать, выберите Diagonal
структура ковариации вместо этого.
В качестве альтернативы можно позволить приложению выбрать некоторые из этих опций модели автоматически при помощи гипероптимизации параметров управления. Смотрите Гипероптимизацию параметров управления в Приложении Classification Learner.
Если у вас есть 2 класса, логистическая регрессия является популярным простым алгоритмом классификации, чтобы попробовать, потому что легко интерпретировать. Классификатор моделирует вероятности класса в зависимости от линейной комбинации предикторов.
Тип классификатора | Interpretability | Гибкость модели |
---|---|---|
Логистическая регрессия | Легкий | Низко Вы не можете изменить параметры в гибкость модели управления. |
Логистическая регрессия в Classification Learner использует fitglm
функция. Вы не можете установить опции для этого классификатора в приложении.
Наивные классификаторы Байеса легко интерпретировать и полезный для классификации мультиклассов. Наивный алгоритм Бейеса усиливает теорему Бейеса и делает предположение, что предикторы условно независимы, учитывая класс. Используйте эти классификаторы, если это предположение независимости допустимо для предикторов в ваших данных. Однако алгоритм все еще, кажется, работает хорошо, когда предположение независимости не допустимо.
Для наивных классификаторов Байеса ядра можно управлять ядром более сглаженный тип с установкой Kernel Type и управлять ядром, сглаживающим поддержку плотности с установкой Support.
Тип классификатора | Interpretability | Гибкость модели |
---|---|---|
Гауссов наивный классификатор Бейеса | Легкий | Низко Вы не можете изменить параметры в гибкость модели управления. |
Ядерный наивный Бейес | Легкий | Средняя Можно изменить настройки для Kernel Type и Support, чтобы управлять как распределения предиктора моделей классификатора. |
Наивный Байесов в Classification Learner использует fitcnb
функция.
Для наивных классификаторов Байеса ядра можно установить эти опции:
Kernel Type — Задайте ядро более сглаженный тип. Попытайтесь установить каждую из этих опций видеть, улучшают ли они модель с вашими данными.
Опциями типа ядра является Gaussian
поле
, Epanechnikov
, или Triangle
.
Поддержка Задайте ядро, сглаживающее поддержку плотности. Попытайтесь установить каждую из этих опций видеть, улучшают ли они модель с вашими данными.
Вариантами поддержки является Unbounded
(все вещественные значения) или Positive
(все положительные вещественные значения).
В качестве альтернативы можно позволить приложению выбрать некоторые из этих опций модели автоматически при помощи гипероптимизации параметров управления. Смотрите Гипероптимизацию параметров управления в Приложении Classification Learner.
Для следующих моделей обучения шагов смотрите, Обучают Модели Классификации в Приложении Classification Learner.
В Classification Learner можно обучить SVMs, когда данные имеют два или больше класса.
Тип классификатора | Interpretability | Гибкость модели |
---|---|---|
Линейный SVM | Легкий | Низко Делает простое линейное разделение между классами. |
Квадратичный SVM | Трудно | Средняя |
Кубический SVM | Трудно | Средняя |
Прекрасный гауссов SVM | Трудно | Высоко — уменьшается с установкой шкалы ядра. Делает точно подробные различия между классами, с набором шкалы ядра к sqrt(P)/4 . |
Средний гауссов SVM | Трудно | Средняя Средние различия, с ядром масштабируют набор к sqrt(P) . |
Крупный гауссов SVM | Трудно | Низко Делает крупные различия между классами, с набором шкалы ядра к sqrt(P)*4 , где P является количеством предикторов. |
Совет
Попробуйте обучение каждая из nonoptimizable опций машины опорных векторов в галерее Model Type. Обучите их всех видеть, какие настройки производят лучшую модель с вашими данными. Выберите лучшую модель в панели Models. Чтобы попытаться улучшить вашу модель, попробуйте выбор признаков, и затем попытайтесь изменить некоторые расширенные настройки.
SVM классифицирует данные путем нахождения лучшей гиперплоскости, которая разделяет точки данных одного класса от тех из другого класса. Лучшая гиперплоскость для SVM означает тот с самым большим полем между этими двумя классами. Поле означает максимальную ширину плиты, параллельной гиперплоскости, которая не имеет никаких внутренних точек данных.
support vectors является точками данных, которые являются самыми близкими к отделяющейся гиперплоскости; эти точки находятся на контуре плиты. Следующая фигура иллюстрирует эти определения, с + указание на точки данных типа 1, и – указание на точки данных типа-1.
SVMs может также использовать мягкое поле, означая гиперплоскость, которая разделяет многих, но не все точки данных.
Для примера смотрите, Обучают Машины опорных векторов Используя Приложение Classification Learner.
Если у вас есть точно два класса, Classification Learner использует fitcsvm
функция, чтобы обучить классификатор. Если у вас есть больше чем два класса, приложение использует fitcecoc
функция, чтобы уменьшать многоклассовую задачу классификации до набора бинарных подпроблем классификации, с одним учеником SVM для каждой подпроблемы. Чтобы исследовать код на двоичный файл и типы классификатора мультикласса, можно сгенерировать код от обученных классификаторов в приложении.
Можно установить эти опции в приложении:
Kernel function
Задайте функцию Ядра, чтобы вычислить классификатор.
Линейное ядро, самое легкое интерпретировать
Ядро гауссовой или Радиальной основной функции (RBF)
Квадратичный
Кубический
Box constraint level
Задайте ограничение поля, чтобы сохранить допустимые значения множителей Лагранжа в поле, ограниченной области.
Чтобы настроить ваш классификатор SVM, попытайтесь увеличить ограничительный уровень поля. Нажмите кнопки или введите значение положительной скалярной величины в поле Box constraint level. Увеличение ограничительного уровня поля может сократить число векторов поддержки, но также и может увеличить учебное время.
Параметр ограничения Поля является мягко-граничным штрафом, известным C в основных уравнениях, и является трудным ограничением “поля” в двойных уравнениях.
Kernel scale mode
Задайте ручное ядро, масштабирующееся при желании.
Когда вы устанавливаете Kernel scale mode на Auto
, затем программное обеспечение использует эвристическую процедуру, чтобы выбрать значение шкалы. Эвристическая процедура использует подвыборку. Поэтому, чтобы воспроизвести результаты, установите использование seed случайных чисел rng
перед обучением классификатор.
Когда вы устанавливаете Kernel scale mode на Manual
, можно задать значение. Нажмите кнопки или введите значение положительной скалярной величины в поле Manual kernel scale. Программное обеспечение делит все элементы матрицы предиктора значением шкалы ядра. Затем программное обеспечение применяет соответствующую норму ядра, чтобы вычислить матрицу Грамма.
Совет
Гибкость модели уменьшается с установкой шкалы ядра.
Multiclass method
Только для данных с 3 или больше классами. Этот метод уменьшает многоклассовую задачу классификации до набора бинарных подпроблем классификации с одним учеником SVM для каждой подпроблемы. One-vs-One
обучает одного ученика каждой паре классов. Это учится отличать один класс от другого. One-vs-All
обучает одного ученика каждому классу. Это учится отличать один класс от всех других.
Standardize data
Задайте, масштабировать ли каждое координатное расстояние. Если предикторы имеют широко различные шкалы, стандартизация может улучшить подгонку.
В качестве альтернативы можно позволить приложению выбрать некоторые из этих опций модели автоматически при помощи гипероптимизации параметров управления. Смотрите Гипероптимизацию параметров управления в Приложении Classification Learner.
Самые близкие соседние классификаторы обычно имеют хорошую прогнозирующую точность в низких размерностях, но не может в высоких размерностях. Они имеют использование верхней памяти и не легки интерпретировать.
Совет
Гибкость модели уменьшается с установкой Number of neighbors.
Тип классификатора | Interpretability | Гибкость модели |
---|---|---|
Прекрасный KNN | Трудно | Точно подробные различия между классами. Номер соседей определяется к 1. |
Средний KNN | Трудно | Средние различия между классами. Номер соседей определяется к 10. |
Крупный KNN | Трудно | Крупные различия между классами. Номер соседей определяется к 100. |
Косинус KNN | Трудно | Средние различия между классами, с помощью метрики расстояния Косинуса. Номер соседей определяется к 10. |
Кубический KNN | Трудно | Средние различия между классами, с помощью кубической метрики расстояния. Номер соседей определяется к 10. |
Взвешенный KNN | Трудно | Средние различия между классами, с помощью веса расстояния. Номер соседей определяется к 10. |
Совет
Попробуйте обучение каждая из nonoptimizable самых близких соседних опций в галерее Model Type. Обучите их всех видеть, какие настройки производят лучшую модель с вашими данными. Выберите лучшую модель в панели Models. Чтобы попытаться улучшить вашу модель, попробуйте выбор признаков, и затем (опционально) попытайтесь изменить некоторые расширенные настройки.
Что такое k - Самая близкая Соседняя классификация? Категоризация точек запроса на основе их расстояния до точек (или соседи) в обучающем наборе данных может быть простым все же эффективным способом классифицировать новые точки. Можно использовать различные метрики, чтобы определить расстояние. Учитывая набор X точек n и функции расстояния, k - самый близкий сосед (k NN) поиск позволяет вам найти k самыми близкими точками в X к точке запроса или набору точек. k основанные на NN алгоритмы широко используется в качестве правил машинного обучения сравнительного теста.
Для примера смотрите, Обучают Самые близкие Соседние Классификаторы Используя Приложение 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.
В Classification Learner можно использовать классификаторы приближения ядра, чтобы выполнить нелинейную классификацию данных со многими наблюдениями. Для больших данных в оперативной памяти классификаторы ядра имеют тенденцию обучать и предсказывать быстрее, чем классификаторы SVM с Гауссовыми ядрами.
Гауссовы модели классификации ядер сопоставляют предикторы в низком мерном пространстве в высокое мерное пространство, и затем подбирают линейную модель к преобразованным предикторам в высоком мерном пространстве. Выберите между тем, чтобы подбирать линейную модель SVM и подбором кривой логистической регрессии линейная модель на расширенном пробеле.
Совет
В галерее Model Type нажмите All Kernels , чтобы попробовать каждую из предварительно установленных опций приближения ядра и видеть, какие настройки производят лучшую модель с вашими данными. Выберите лучшую модель в панели Models и попытайтесь улучшить ту модель при помощи выбора признаков и изменяющий некоторые расширенные настройки.
Тип классификатора | Interpretability | Гибкость модели |
---|---|---|
Ядро SVM | Трудно | Носитель — увеличения как установка Kernel scale уменьшаются |
Ядро логистической регрессии | Трудно | Носитель — увеличения как установка Kernel scale уменьшаются |
Для примера смотрите, Обучают Классификаторы Приближения Ядра Используя Приложение Classification Learner.
Если у вас есть точно два класса, Classification Learner использует fitckernel
функция, чтобы обучить классификаторы ядра. Если у вас есть больше чем два класса, приложение использует fitcecoc
функция, чтобы уменьшать многоклассовую задачу классификации до набора бинарных подпроблем классификации, с одним учеником ядра для каждой подпроблемы.
Можно установить эти опции:
Learner — Задайте линейный тип модели классификации, чтобы поместиться в расширенный пробел, любой SVM
или Logistic Regression
. Классификаторы ядра SVM используют функцию потерь стержня во время подбора кривой модели, тогда как классификаторы ядра логистической регрессии используют отклонение (логистическая) потеря.
Number of expansion dimensions — Задайте количество размерностей на расширенном пробеле.
Когда вы устанавливаете эту опцию на Auto
, программное обеспечение определяет номер размерностей к 2.^ceil(min(log2(p)+5,15))
, где p
количество предикторов.
Когда вы устанавливаете эту опцию на Manual
, можно задать значение путем нажатия кнопок или ввода значения положительной скалярной величины в поле.
Regularization strength (Lambda) — Задайте гребень (L2) термин штрафа регуляризации. Когда вы используете ученика SVM, ограничение поля C и сила термина регуляризации, λ связан C = 1 / (λ n), где n является количеством наблюдений.
Когда вы устанавливаете эту опцию на Auto
, программное обеспечение устанавливает силу регуляризации на 1/n, где n является количеством наблюдений.
Когда вы устанавливаете эту опцию на Manual
, можно задать значение путем нажатия кнопок или ввода значения положительной скалярной величины в поле.
Kernel scale — Задайте масштабирование ядра. Программное обеспечение использует это значение, чтобы получить случайный базис для случайного расширения функции. Для получения дополнительной информации смотрите Случайное Расширение Функции.
Когда вы устанавливаете эту опцию на Auto
, программное обеспечение использует эвристическую процедуру, чтобы выбрать значение шкалы. Эвристическая процедура использует подвыборку. Поэтому, чтобы воспроизвести результаты, установите использование seed случайных чисел rng
перед обучением классификатор.
Когда вы устанавливаете эту опцию на Manual
, можно задать значение путем нажатия кнопок или ввода значения положительной скалярной величины в поле.
Multiclass method — Задайте метод для сокращения проблемы мультикласса к набору бинарных подпроблем с одним учеником ядра для каждой подпроблемы. Это значение применимо только для данных больше чем с двумя классами.
One-vs-One
обучает одного ученика каждой паре классов. Этот метод учится отличать один класс от другого.
One-vs-All
обучает одного ученика каждому классу. Этот метод учится отличать один класс от всех других.
Iteration limit — Задайте максимальное количество учебных итераций.
Комбинация классификаторов ансамбля следует из многих слабых учеников в одну высококачественную модель ансамбля. Качества зависят от выбора алгоритма.
Совет
Гибкость модели увеличивается с установкой Number of learners.
Все классификаторы ансамбля имеют тенденцию не спешить соответствовать, потому что им часто нужны многие ученики.
Тип классификатора | Interpretability | Метод ансамбля | Гибкость модели |
---|---|---|---|
Повышенные деревья | Трудно | 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'
Бреимена алгоритм. Для ссылки смотрите Бреимена, L. Случайные Леса. Машинное обучение 45, стр 5–32, 2001.
Советы
Попробуйте сложенные в мешок деревья сначала. Повышенные деревья могут обычно добиваться большего успеха, но могут потребовать поиска многих значений параметров, который длителен.
Попробуйте обучение каждая из nonoptimizable опций классификатора ансамбля в галерее Model Type. Обучите их всех видеть, какие настройки производят лучшую модель с вашими данными. Выберите лучшую модель в панели Models. Чтобы попытаться улучшить вашу модель, попробуйте выбор признаков, PCA, и затем (опционально) попытайтесь изменить некоторые расширенные настройки.
Для повышения методов ансамбля можно получить мелкие детали или с более глубокими деревьями или с большим числом мелких деревьев. Как с одним древовидными классификаторами, глубокие деревья могут вызвать сверхподбор кривой. Необходимо экспериментировать, чтобы выбрать лучшую древовидную глубину для деревьев в ансамбле, для того, чтобы к совпадению данных компромисса с древовидной сложностью. Используйте настройки Number of learners и Maximum number of splits.
Для примера смотрите, Обучают Классификаторы Ансамбля Используя Приложение Classification Learner.
Классификаторы ансамбля в Classification Learner используют fitcensemble
функция. Можно установить эти опции:
Для Ensemble method выбора справки и Learner type, см. таблицу Ensemble. Попробуйте предварительные установки сначала.
Maximum number of splits
Для повышения методов ансамбля задайте максимальное количество разделений или точек разветвления, чтобы управлять глубиной ваших древовидных учеников. Много ветвей имеют тенденцию сверхсоответствовать, и более простые деревья могут быть более устойчивыми и легкими интерпретировать. Экспериментируйте, чтобы выбрать лучшую древовидную глубину для деревьев в ансамбле.
Number of learners
Попытайтесь изменить количество учеников, чтобы видеть, можно ли улучшить модель. Многие ученики могут произвести высокую точность, но могут быть трудоемкими, чтобы соответствовать. Начните с нескольких дюжин учеников, и затем смотрите эффективность. Ансамблю с хорошей предсказательной силой могут быть нужны несколько сотен учеников.
Learning rate
Задайте скорость обучения для уменьшения. Если вы устанавливаете скорость обучения на меньше чем 1, ансамбль требует большего количества итераций изучения, но часто достигает лучшей точности. 0.1 популярный выбор.
Subspace dimension
Для ансамблей подпространства задайте количество предикторов к выборке в каждом ученике. Приложение выбирает случайное подмножество предикторов для каждого ученика. Подмножества, выбранные различными учениками, независимы.
В качестве альтернативы можно позволить приложению выбрать некоторые из этих опций модели автоматически при помощи гипероптимизации параметров управления. Смотрите Гипероптимизацию параметров управления в Приложении Classification Learner.
Модели нейронной сети обычно имеют хорошую прогнозирующую точность и могут использоваться для классификации мультиклассов; однако, их не легко интерпретировать.
Гибкость модели увеличивается с размером и количеством полносвязных слоев в нейронной сети.
Совет
В галерее Model Type нажмите All Neural Networks , чтобы попробовать каждую из предварительно установленных опций нейронной сети и видеть, какие настройки производят лучшую модель с вашими данными. Выберите лучшую модель в панели Models и попытайтесь улучшить ту модель при помощи выбора признаков и изменяющий некоторые расширенные настройки.
Тип классификатора | Interpretability | Гибкость модели |
---|---|---|
Узкая нейронная сеть | Трудно | Носитель — увеличивается с установкой First layer size |
Средняя нейронная сеть | Трудно | Носитель — увеличивается с установкой First layer size |
Широкая нейронная сеть | Трудно | Носитель — увеличивается с установкой First layer size |
Нейронная сеть Bilayered | Трудно | Высоко — увеличивается с настройками First layer size и Second layer size |
Нейронная сеть Trilayered | Трудно | Высоко — увеличивается с First layer size, Second layer size и настройками Third layer size |
Каждой моделью является feedforward, полностью соединенная нейронная сеть для классификации. Первый полносвязный слой нейронной сети имеет связь от сетевого входа (данные о предикторе), и каждый последующий слой имеет связь от предыдущего слоя. Каждый полносвязный слой умножает вход на матрицу веса и затем добавляет вектор смещения. Функция активации следует за каждым полносвязным слоем. Итоговый полносвязный слой и последующая softmax активация функциональный продукт выход сети, а именно, классификационные оценки (апостериорные вероятности) и предсказанные метки. Для получения дополнительной информации смотрите Структуру Нейронной сети.
Для примера смотрите, Обучают Классификаторы Нейронной сети Используя Приложение Classification Learner.
Классификаторы нейронной сети в Classification Learner используют fitcnet
функция. Можно установить эти опции:
Number of fully connected layers — Задайте количество полносвязных слоев в нейронной сети, исключая итоговый полносвязный слой для классификации. Можно выбрать максимум трех полносвязных слоев.
First layer size, Second layer size и Third layer size — Задайте размер каждого полносвязного слоя, исключая итоговый полносвязный слой. Если вы принимаете решение создать нейронную сеть с несколькими полносвязными слоями, рассмотрите слои определения с уменьшающимися размерами.
Activation — Задайте функцию активации для всех полносвязных слоев, исключая итоговый полносвязный слой. Функция активации для последнего полносвязного слоя всегда softmax. Выберите из следующих функций активации: ReLU
tanh
'none'
, и Sigmoid
.
Iteration limit — Задайте максимальное количество учебных итераций.
Regularization strength (Lambda) — Задайте гребень (L2) термин штрафа регуляризации.
Standardize data — Задайте, стандартизировать ли числовые предикторы. Если предикторы имеют широко различные шкалы, стандартизация может улучшить подгонку. Стандартизация данных настоятельно рекомендована.
В качестве альтернативы можно позволить приложению выбрать некоторые из этих опций модели автоматически при помощи гипероптимизации параметров управления. Смотрите Гипероптимизацию параметров управления в Приложении Classification Learner.