Классификация в машинном обучении: что это такое и как работает
Опубликовано: 2024-11-20Классификация — это основная концепция анализа данных и машинного обучения (ML). В этом руководстве рассматривается, что такое классификация и как она работает, объясняется разница между классификацией и регрессией, а также рассматриваются типы задач, алгоритмы, приложения, преимущества и проблемы.
Оглавление
- Что такое классификация?
- Классификация против регрессии
- Типы задач классификации в ML
- Алгоритмы, используемые для классификационного анализа
- Применение классификации
- Преимущества классификации
- Недостатки классификации
Что такое классификация в машинном обучении?
Классификация — это метод обучения с учителем в машинном обучении, который прогнозирует категорию (также называемую классом) новых точек данных на основе входных признаков. Алгоритмы классификации используют помеченные данные, если известна правильная категория, чтобы научиться сопоставлять объекты с определенными категориями. Этот процесс также называют категоризацией или категориальной классификацией.
Для выполнения классификации алгоритмы работают в два ключевых этапа. На этапе обучения алгоритм изучает взаимосвязь между входными данными и соответствующими им метками или категориями. После обучения модель вступает в фазу вывода, где она использует изученные шаблоны для классификации новых, невидимых данных в реальных приложениях. Эффективность классификации во многом зависит от того, как обрабатываются эти этапы, и от качества предварительно обработанных данных, доступных во время обучения.
Очень важно понимать, как алгоритмы классификации управляют этими этапами. Одно из ключевых отличий заключается в том, как они подходят к обучению. Это приводит нас к двум различным стратегиям, которым могут следовать алгоритмы классификации: ленивое обучение и активное обучение.
Ленивые ученики против нетерпеливых учеников
Алгоритмы классификации обычно используют одну из двух стратегий обучения: ленивое обучение или активное обучение. Эти подходы фундаментально различаются в том, как и когда строится модель, что влияет на гибкость, эффективность и варианты использования алгоритма. Хотя оба метода направлены на классификацию данных, они делают это с использованием контрастирующих методов, подходящих для разных типов задач и сред.
Давайте рассмотрим действия ленивых и нетерпеливых учеников, чтобы лучше понять сильные и слабые стороны каждого подхода.
Ленивые ученики
Алгоритмы ленивого обучения, также известные как обучающиеся на основе экземпляров или памяти, хранят данные обучения и откладывают фактическое обучение до тех пор, пока не потребуется классифицировать запрос. Когда один из этих алгоритмов вводится в эксплуатацию, он сравнивает новые точки данных с сохраненными экземплярами, используя меру сходства. Качество и количество доступных данных существенно влияют на точность алгоритма, а доступ к более крупным наборам данных обычно повышает его производительность. Ленивые учащиеся часто отдают приоритет последним данным, что известно каксмещение новизны. Поскольку они обучаются в режиме реального времени, они могут работать медленнее и требовать больше вычислительных затрат при ответе на запросы.
Ленивые ученики преуспевают в динамичных средах, где решающее значение имеет принятие решений в реальном времени, а данные постоянно меняются. Эти алгоритмы хорошо подходят для задач, в которых новая информация поступает постоянно и нет времени на длительные циклы обучения между задачами классификации.
Нетерпеливые ученики
Алгоритмы быстрого обучения, напротив, заранее обрабатывают все обучающие данные, создавая модель до того, как будут выполнены какие-либо задачи классификации. Этот этап предварительного обучения обычно более ресурсоемкий и сложный, что позволяет алгоритму выявлять более глубокие взаимосвязи в данных. После обучения нетерпеливым ученикам не требуется доступ к исходным данным обучения, что делает их очень эффективными на этапе прогнозирования. Они могут быстро классифицировать данные и обрабатывать большие объемы запросов с минимальными вычислительными затратами.
Однако нетерпеливые ученики менее гибки в адаптации к новым данным в реальном времени. Их ресурсоемкий процесс обучения ограничивает объем данных, которые они могут обрабатывать, что затрудняет интеграцию свежей информации без переобучения всей модели.
Позже в этом посте мы увидим, как ленивые и нетерпеливые алгоритмы можно использовать в тандеме для распознавания лиц.
Классификация и регрессия: в чем разница?
Теперь, когда мы изучили, как работает классификация, важно отличать ее от другого ключевого метода обучения с учителем: регрессии.
И классификация, и регрессия используются для прогнозирования на основе помеченных данных на этапе обучения, но они различаются по типу генерируемых прогнозов.
Алгоритмы классификациипредсказывают дискретные, категориальные результаты. Например, в системе классификации электронной почты электронное письмо может быть помечено как «спам» или «спам» (где «ветчина» относится к электронным письмам, не являющимся спамом). Точно так же модель классификации погоды может предсказывать «да», «нет» или «может быть» в ответ на вопрос «Будет ли завтра дождь?»
С другой стороны,алгоритмы регрессиипрогнозируют непрерывные значения. Вместо того, чтобы распределять данные по категориям, регрессионные модели оценивают числовые результаты. Например, в системе электронной почты регрессионная модель может предсказать вероятность (например, 70%) того, что электронное письмо является спамом. Для модели прогнозирования погоды она может предсказать ожидаемый объем осадков, например, 2 дюйма дождя.
Хотя классификация и регрессия служат разным целям, иногда они используются вместе. Например, регрессия может оценивать вероятности, которые используются в системе классификации, повышая точность и детализацию прогнозов.
Типы задач классификации в ML
Задачи классификации различаются, каждая из которых предназначена для конкретных типов данных и задач. В зависимости от сложности вашей задачи и характера категорий вы можете использовать разные методы: бинарную, мультиклассовую, мультиметочную или несбалансированную классификацию. Давайте углубимся в каждый подход ниже.
Бинарная классификация
Бинарная классификация — это фундаментальная задача, которая сортирует данные по двум категориям, например «истина/ложь» или «да/нет». Он широко исследуется и применяется в таких областях, как обнаружение мошенничества, анализ настроений, медицинская диагностика и фильтрация спама. Хотя двоичная классификация имеет дело с двумя классами, более сложную категоризацию можно решить, разбив задачу на несколько двоичных задач. Например, для классификации данных на «яблоки», «апельсины», «бананы» и «другие» можно использовать отдельные двоичные классификаторы для ответов на вопросы «Это яблоко?», «Это апельсин?» и «Это яблоко?» Это банан?»
Мультиклассовая классификация
Мультиклассовая классификация, также известная как полиномиальная классификация, предназначена для задач, в которых данные классифицируются по трем или более категориям. В отличие от моделей, которые разлагают проблему на несколько задач двоичной классификации, многоклассовые алгоритмы созданы для более эффективной обработки таких сценариев. Эти алгоритмы обычно более сложны, требуют больших наборов данных и требуют больше ресурсов для настройки, чем бинарные системы, но после реализации они часто обеспечивают более высокую производительность.
Многозначная классификация
Классификация с несколькими метками, также известная как классификация с несколькими выходами, присваивает одному фрагменту данных более одной метки. Ее часто путают с мультиклассовой классификацией, когда каждому экземпляру присваивается только одна метка из нескольких категорий.
Чтобы прояснить разницу: алгоритм двоичной классификации может сортировать изображения на две категории — изображения с фруктами и изображения без фруктов. Мультиклассовая система могла бы затем классифицировать изображения фруктов по определенным категориям, таким как бананы, яблоки или апельсины. С другой стороны, классификация по нескольким меткам позволит назначать несколько меток одному изображению. Например, одно изображение можно классифицировать как «фрукт» и «банан», а фрукт также можно пометить как «спелый» или «неспелый». Это позволяет системе учитывать несколько независимых характеристик одновременно, таких как («нет фруктов», «нет банана», «ничего не спело»), («фрукты», «банан», «спелые» или («фрукты, «банан», «ничего не созрело»).
Несбалансированная классификация
Часто данные, доступные для обучения, не отражают распределение данных, наблюдаемое в действительности. Например, во время обучения алгоритм может иметь доступ только к данным 100 пользователей, из которых 50% совершают покупку (хотя на самом деле покупку совершают только 10% пользователей). Алгоритмы несбалансированной классификации решают эту проблему во время обучения, используя методы передискретизации (повторного использования некоторых частей обучающих данных) и недостаточной выборки (недостаточного использования некоторых частей обучающих данных). В результате алгоритм обучения узнает, что подмножество данных встречается в реальности гораздо чаще или реже, чем в обучающих данных. Эти методы обычно представляют собой своего рода оптимизацию обучения, поскольку они позволяют системе учиться на значительно меньшем количестве данных, чем в противном случае потребовалось бы для обучения.
Иногда собрать достаточно данных, чтобы отразить реальность, сложно или отнимает много времени, и этот тип оптимизации может позволить быстрее обучать модели. В других случаях объем данных настолько велик, что алгоритмам классификации требуется слишком много времени для обучения всем этим данным, а несбалансированные алгоритмы все равно позволяют их обучать.
Алгоритмы, используемые для классификационного анализа
Алгоритмы классификации хорошо изучены, и не обнаружено ни одной формы классификации, универсально подходящей для всех ситуаций. В результате существуют большие наборы известных алгоритмов классификации. Ниже мы опишем некоторые из наиболее распространенных из них.
Линейные предикторы
Линейные предикторы относятся к алгоритмам, которые прогнозируют результаты на основе линейных комбинаций входных функций. Эти методы широко используются в задачах классификации, поскольку они просты и эффективны.
Логистическая регрессия
Логистическая регрессия — один из наиболее часто используемых линейных предикторов, особенно в бинарной классификации. Он рассчитывает вероятность результата на основе наблюдаемых переменных с использованием логистической (или сигмовидной) функции. Класс с наибольшей вероятностью выбирается в качестве прогнозируемого результата при условии, что он превышает порог достоверности. Если ни один результат не соответствует этому порогу, результат может быть помечен как «не уверен» или «не определился».
Линейная регрессия
Линейная регрессия обычно используется в случаях использования регрессии и выводит непрерывные значения. Однако значения можно переназначить для классификации, добавив фильтры или карты для преобразования их выходных данных в классы. Если, например, вы уже обучили модель линейной регрессии, которая выводит прогнозы объема дождя, эта же модель может стать двоичным классификатором «дождливый день»/«не дождливый день», произвольно установив пороговое значение. По умолчанию при преобразовании моделей в двоичные классификаторы используется только знак результата регрессии (0 и положительные числа сопоставляются с ответом «да» или «+1», а отрицательные числа — с ответом «нет» или «-»). 1»). Однако карты могут быть более сложными и адаптированными к конкретному варианту использования. Например, вы можете решить, что любой прогноз, превышающий пять мл дождя, будет считаться «дождливым днем», а все, что ниже этого значения, будет предсказывать обратное.
Дискриминантный анализ
Линейный дискриминантный анализ (LDA) — еще один важный линейный предиктор, используемый для классификации. LDA работает путем поиска линейных комбинаций функций, которые лучше всего разделяют разные классы. Предполагается, что наблюдения независимы и нормально распределены. Хотя LDA часто используется для уменьшения размерности, он также является мощным инструментом классификации, который присваивает наблюдения классам с помощью дискриминантных функций — функций, которые измеряют различия между классами.
Байесовская классификация
Алгоритмы байесовской классификации используют теорему Байеса для расчета апостериорной вероятности каждого класса с учетом наблюдаемых данных. Эти алгоритмы предполагают определенные статистические свойства данных, и их производительность зависит от того, насколько верны эти предположения. Например, наивный Байес предполагает, что функции условно независимы в данном классе.
классификация k-NN
Алгоритм k-ближайшего соседа (k-NN) — еще один широко используемый метод классификации. Хотя его можно применять как к задачам регрессии, так и к задачам классификации, чаще всего он используется для классификации. Алгоритм присваивает класс новой точке данных на основе классов ее k ближайших соседей (где k — переменная), используя вычисление расстояния для определения близости. Алгоритм k-NN прост, эффективен и эффективен, когда данные имеют локальную структуру. Его производительность зависит от выбора подходящей метрики расстояния и обеспечения наличия в данных локальных закономерностей, которые могут помочь в классификации.
Деревья решений и случайные леса
Деревья решений — популярный алгоритм, используемый для задач классификации. Они работают путем рекурсивного разделения данных на основе значений признаков, чтобы принять решение о том, к какому классу принадлежит данное наблюдение. Однако деревья решений имеют тенденцию переопределять обучающие данные, улавливая шум и приводя к высокой дисперсии. Такое переоснащение приводит к плохому обобщению новых данных.
Чтобы избежать переобучения, в качестве ансамблевого метода используются случайные леса. Случайный лес параллельно обучает несколько деревьев решений на случайных подмножествах данных, и каждое дерево делает свой собственный прогноз. Окончательный прогноз делается путем агрегирования прогнозов всех деревьев, обычно путем голосования большинством голосов. Этот процесс, известный как «пакетирование» (сокращенное слово для начальной агрегации), уменьшает дисперсию и улучшает способность модели обобщать невидимые данные. Случайные леса эффективны для балансировки систематической ошибки и дисперсии, что делает их надежным готовым алгоритмом для задач классификации.
Применение классификации
Алгоритмы классификации широко используются в различных областях для решения реальных проблем путем категоризации данных в заранее определенные группы. Ниже приведены некоторые распространенные применения классификации, включая распознавание лиц, классификацию документов и прогнозирование поведения клиентов.
Распознавание лиц
Системы распознавания лиц сопоставляют лицо на видео или фотографии в реальном времени с базой данных известных лиц. Они обычно используются для аутентификации.
Например, система разблокировки телефона должна начинаться с использования системы распознавания лиц, которая каждые несколько секунд снимает изображения с низким разрешением с камеры, направленной на лицо, а затем делает вывод, есть ли лицо на изображении. Система обнаружения лиц могла бы представлять собой хорошо обученный, энергичный двоичный классификатор, отвечающий на вопрос «Присутствует лицо или нет?»
Ленивый классификатор будет следовать нетерпеливому запросу «Есть ли лицо?» классификатор. Он будет использовать все фотографии и селфи владельца телефона для реализации отдельной задачи бинарной классификации и ответа на вопрос «Принадлежит ли это лицо человеку, которому разрешено разблокировать телефон?» Если ответ положительный, телефон разблокируется; если ответ отрицательный, то не будет.
Классификация документов
Классификация документов является важной частью современных стратегий управления данными. Классификаторы на основе машинного обучения каталогизируют и классифицируют большое количество хранящихся документов, поддерживая индексацию и поиск, которые делают документы и их содержимое более полезными.
Работа по классификации документов начинается с предварительной обработки документов. Их содержимое анализируется и преобразуется в числовые представления (поскольку числа легче обрабатывать). Важные функции документа, такие как математические уравнения, встроенные изображения и язык документа, извлекаются из документов и выделяются для изучения алгоритмами машинного обучения. Далее следуют другие аналогичные задачи обработки в том же духе.
Затем подмножество документов вручную классифицируется людьми для создания обучающего набора данных для систем классификации. После обучения классификатор будет быстро и в большом масштабе каталогизировать и классифицировать все входящие документы. Если будут обнаружены какие-либо ошибки классификации, в учебные материалы для системы ML можно будет внести ручные исправления. Время от времени модель классификатора можно переобучить с добавлением исправлений, и ее производительность будет улучшена.
Прогнозирование поведения клиентов
Интернет-магазины розничной торговли и электронной коммерции собирают детальную и подробную информацию о поведении своих клиентов. Эту информацию можно использовать для категоризации новых клиентов и ответа на такие вопросы, как «Может ли этот новый клиент совершить покупку?» и «Повлияет ли предложение скидки 25% на покупательское поведение этого клиента?»
Классификатор обучается с использованием данных предыдущих клиентов и их возможного поведения, например, совершили ли они покупку. Когда новые клиенты взаимодействуют с платформой, модель может предсказать, совершят ли они покупку и если да, то когда. Он также может выполнить анализ «что, если», чтобы ответить на такие вопросы, как «Если я предложу этому пользователю скидку 25%, совершит ли он покупку?»
Преимущества классификации
Классификация предлагает несколько преимуществ в области машинного обучения, что делает ее широко используемым подходом для решения проблем категоризации данных. Ниже мы рассмотрим некоторые ключевые преимущества классификации, включая ее зрелость, гибкость и способность предоставлять удобочитаемые результаты.
Хорошо изучен и понятен
Классификация — одна из наиболее хорошо изученных и понятных проблем в области машинного обучения. В результате для задач классификации доступно множество зрелых наборов инструментов, позволяющих пользователям находить компромисс между скоростью, эффективностью, использованием ресурсов и требованиями к качеству данных.
Для оценки производительности классификатора доступны стандартные методы, такие как матрицы точности, прецизионности, полноты и путаницы. С помощью этих инструментов может быть относительно просто выбрать наиболее подходящую систему классификации для конкретной проблемы, оценить ее эффективность и со временем улучшить ее.
Обеспечьте удобочитаемый вывод
Классификаторы часто позволяют найти компромисс между предсказательной силой и читабельностью для человека. Более простые и более интерпретируемые модели, такие как деревья решений или логистическая регрессия, можно настроить так, чтобы их поведение было легче понять. Эти интерпретируемые модели можно использовать для изучения свойств данных, позволяя пользователям-людям получить представление о данных. Такая информация может затем помочь в разработке более сложных и точных моделей машинного обучения.
Недостатки классификации
Хотя классификация является мощным инструментом машинного обучения, она сопряжена с определенными проблемами и ограничениями. Ниже мы обсуждаем некоторые ключевые недостатки классификации, включая переобучение, недостаточное оснащение и необходимость обширной предварительной обработки обучающих данных.
Переобучение
При обучении моделей классификации важно настроить процесс обучения, чтобы уменьшить вероятность того, что модель переопределит свои данные. Переоснащение — это проблема, когда модель запоминает некоторые или все свои исходные данные вместо того, чтобы развивать абстрактное понимание взаимосвязей в данных. Модель, которая переопределила данные обучения, будет работать хорошо, когда она увидит новые данные, очень похожие на данные, на которых она обучалась, но в целом она может работать не так хорошо.
Недооснащение
Производительность систем классификации зависит от наличия достаточного количества обучающих данных и от их применения к задачам, которые хорошо работают для выбранных алгоритмов классификации. Если доступно недостаточно обучающих данных или если конкретный алгоритм классификации не имеет подходящих инструментов для правильной интерпретации данных, обученная модель может никогда не научиться делать хорошие прогнозы. Это явление известно как «недооснащение». Существует множество методов, позволяющих уменьшить недостаточное оснащение, и правильное их применение не всегда легко.
Предварительная обработка обучающих данных
Многие системы классификации предъявляют относительно жесткие требования к структуре и форматированию данных. Их производительность часто тесно коррелирует с тем, насколько хорошо данные были обработаны до того, как они были подвергнуты воздействию или обучены на них. В результате системы классификации могут быть жесткими и негибкими, имея строгие границы в отношении тех проблем и контекстов данных, для которых они лучше всего подходят.