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

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

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

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

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

Однако наивный байесовский метод может страдать от проблемы, известной как «проблема нулевой вероятности», когда условная вероятность равна нулю для определенного атрибута, и не может обеспечить действительный прогноз. Одним из решений является использование процедуры сглаживания (например, метода Лапласа).

P (c | x) - апостериорная вероятность class (c, target) для данного предиктора (x, атрибуты). P (c) - априорная вероятность класса. P (x | c) - это вероятность, которая представляет собой вероятность предсказателя для данного класса и P (x) - априорная вероятность предсказателя.

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

Довольно просто реализовать Наивный байесовский метод в Python, используя библиотеку scikit-learn. На самом деле существует три типа наивной байесовской модели в библиотеке scikit-learn: (a) гауссовский тип (предполагается, что функции следуют колоколообразному нормальному распределению), (b) полиномиальная (используется для дискретных подсчетов с точки зрения количества раз результат наблюдается через x испытаний), и (c] Бернулли (полезно для двоичных векторов признаков; популярным вариантом использования является классификация текста).

Еще один популярный механизм - Дерево решений. Учитывая данные атрибутов вместе с их классами, дерево создает последовательность правил, которые можно использовать для классификации данных. Алгоритм разбивает выборку на два или более однородных набора (листьев) на основе наиболее значимых дифференциаторов во входных переменных. Чтобы выбрать дифференциатор (предиктор), алгоритм рассматривает все функции и выполняет двоичное разбиение на них (для категориальных данных - по категориям; для непрерывных выберите порог отсечения). Затем он выберет тот, который имеет наименьшую стоимость (т.е. самую высокую точность), повторяя рекурсивно, пока он не разделит данные на все листья (или не достигнет максимальной глубины).

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

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

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

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

Вот как выглядит логистическое уравнение:

Взяв e (показатель степени) с обеих сторон уравнения, получим:

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

И последнее, но не менее важное: kNN (для k ближайших соседей) также часто используется для задач классификации. kNN - это простой алгоритм, который хранит все доступные варианты и классифицирует новые варианты на основе меры сходства (например, функции расстояния). Он использовался в статистической оценке и распознавании образов уже в начале 1970-х годов как непараметрический метод: