Введение

Классификация данных с использованием статистики
В статистике классификация – это задача определения, к какой из множества категорий (подпопуляций) принадлежит наблюдение (или наблюдения). Примерами могут служить отнесение данного электронного письма к классу "спам" или "не спам", а также постановка диагноза пациенту на основе наблюдаемых характеристик (пол, артериальное давление, наличие или отсутствие определенных симптомов и т. д.). Часто отдельные наблюдения анализируются по набору количественно определяемых признаков, известных как объясняющие переменные или характеристики. Эти признаки могут быть категориальными (например, "A", "B", "AB" или "O" для группы крови), порядковыми (например, "большой", "средний" или "малый"), целочисленными (например, количество вхождений определенного слова в электронном письме) или вещественными (например, измерение артериального давления). Другие классификаторы работают путем сравнения наблюдений с предыдущими наблюдениями с использованием функции сходства или расстояния. Алгоритм, реализующий классификацию, особенно в конкретной реализации, называется классификатором. Термин "классификатор" иногда также относится к математической функции, реализованной алгоритмом классификации, которая сопоставляет входные данные с категорией. Терминология в разных областях весьма разнообразна. В статистике, где классификация часто выполняется с помощью логистической регрессии или аналогичной процедуры, признаки наблюдений называются объясняющими переменными (или независимыми переменными, регрессорами и т. д.), а категории, которые необходимо предсказать, известны как исходы, рассматриваемые как возможные значения зависимой переменной. В машинном обучении наблюдения часто называют экземплярами, объясняющие переменные – признаками (объединенными в вектор признаков), а возможные категории для предсказания – классами. В других областях может использоваться иная терминология: например, в экологии сообществ термин "классификация" обычно относится к кластерному анализу.

Связь с другими проблемами

Классификация и кластеризация являются примерами более общей задачи распознавания образов, которая заключается в сопоставлении входному значению некоторого выходного значения. Другими примерами являются регрессия, которая сопоставляет каждому входу вещественное число; последовательная разметка, которая присваивает класс каждому элементу последовательности значений (например, определение части речи, которое присваивает часть речи каждому слову во входном предложении); синтаксический анализ, который присваивает входному предложению синтаксическое дерево, описывающее синтаксическую структуру предложения и т.д. Распространенным подклассом классификации является вероятностная классификация. Алгоритмы этого типа используют статистический вывод для определения наилучшего класса для данного экземпляра. В отличие от других алгоритмов, которые просто выдают "наилучший" класс, вероятностные алгоритмы выдают вероятность принадлежности экземпляра к каждому из возможных классов. Наилучший класс обычно выбирается как тот, у которого вероятность наибольшая. Однако такой алгоритм имеет множество преимуществ перед не вероятностными классификаторами: он может выдавать оценку достоверности своего выбора (в общем случае, классификатор, способный это делать, известен как классификатор с учетом достоверности). Соответственно, он может воздержаться от выбора, когда его уверенность в любом конкретном результате слишком низка. Благодаря генерируемым вероятностям, вероятностные классификаторы могут быть более эффективно включены в более масштабные задачи машинного обучения, что позволяет частично или полностью избежать проблемы распространения ошибок.

Частота процедур

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

Байесовские процедуры

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

Бинарная и многоклассная классификация

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

Векторы характеристик

Большинство алгоритмов описывают отдельный экземпляр, категория которого предсказывается с использованием вектора признаков, представляющих собой индивидуальные, измеримые свойства этого экземпляра. Каждое свойство называется признаком, также известным в статистике как объясняющая переменная (или независимая переменная, хотя признаки могут быть как статистически зависимыми, так и независимыми). Признаки могут быть различными: бинарными (например, "включено" или "выключено"); категориальными (например, "A", "B", "AB" или "O" для группы крови); порядковыми (например, "большой", "средний" или "малый"); целочисленными (например, количество вхождений определенного слова в электронном письме); или вещественными (например, измерение артериального давления). Если экземпляр является изображением, значения признаков могут соответствовать пикселям изображения; если экземпляр представляет собой фрагмент текста, значения признаков могут быть частотой встречаемости различных слов. Некоторые алгоритмы работают только с дискретными данными и требуют дискретизации вещественных или целочисленных данных, то есть разбиения их на группы (например, меньше 5, от 5 до 10 или больше 10).

Алгоритмы

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

Оценка

Производительность классификатора во многом зависит от характеристик данных, которые необходимо классифицировать. Не существует единого классификатора, который был бы оптимальным для всех задач (это явление можно объяснить теоремой об отсутствии универсального алгоритма). Было проведено множество эмпирических тестов для сравнения производительности классификаторов и выявления характеристик данных, определяющих эту производительность. Однако выбор подходящего классификатора для конкретной задачи по-прежнему скорее искусство, чем наука. Показатели точности и полноты – популярные метрики, используемые для оценки качества системы классификации. В последнее время для оценки компромисса между долей истинно положительных и ложноположительных результатов алгоритмов классификации стали использовать ROC-кривые (кривые рабочей характеристики приемника). Коэффициент неопределенности, как метрика производительности, имеет преимущество перед простой точностью, поскольку не зависит от относительного размера различных классов. Более того, он не наказывает алгоритм за простую перестановку классов.