В предыдущих постах мы рассказывали о регрессии. Классификация, регрессия и сходство - это 3 основных метода извлечения полезных знаний из данных. Сегодня мы поговорим о классификации, ближайших соседях и перекрестной проверке.

Классификация

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

Есть два способа классификации данных: контролируемые и неконтролируемые. Основное отличие - это определение классов, которое будет рассмотрено в следующем разделе.

Под присмотром

Контролируемые данные, для которых уже есть метки. Он будет делать прогнозы для новых точек данных на основе существующих данных, которые были помечены. Вот пример. Допустим, у нас есть 10000 изображений, каждое из которых представляет собой изображение животного. Теперь мы должны классифицировать их, является ли животное коровой, тигром, курицей и т. Д. Имена животных уже определены. Это называется контролируемой классификацией. Примеры контролируемых включают kNN, SVM, деревья решений, случайные леса, бэггинг, бустинг и т. Д.

Без присмотра

Наоборот, без присмотра с данными, для которых еще нет ярлыков. Основная цель классификации без учителя - найти закономерности в данных. Мы собираемся использовать тот же пример, что и в предыдущем разделе. Допустим, у нас есть 10000 изображений, каждое из которых представляет собой изображение животного. Но мы не определили названия животного. Итак, мы позволим данным и алгоритму определять метки. Может быть, его можно разделить на млекопитающих, рептилий и т. Д. Или на коров, тигров, кур. Дело в том, что мы не можем определять классы и должны позволить алгоритму и самим данным решать это. Это называется классификацией без учителя. Примеры неконтролируемого включают PCA, MDS, кластеризацию и т. Д.

k-ближайший сосед (kNN)

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

Некоторые из вас могут задаться вопросом, каково значение k? k или также называемые гиперпараметрами - это номер ближайшего соседа, который точка данных должна учитывать, чтобы отнести себя к какому классу. Следует помнить, что значение k должно быть нечетным числом, потому что мы не хотим иметь здесь ничью. Используя нечетное число в качестве k, всегда будет победитель. Давайте посмотрим на сравнение результатов между различными значениями k.

Если мы используем только k = 1, при наличии выброса возникнет проблема с классификацией. Избавиться от этого можно, увеличив значение k. Но будьте осторожны при увеличении значения k. Как мы видим, если k слишком велик (вы можете сравнить 3, 5 и 9), граница становится слишком гладкой, что может привести к переобучению. Итак, как выбрать идеальное значение k?

Проверка

Верно, мы можем выполнить проверку нашего классификатора. Прежде чем мы запустим нашу проверку, убедитесь, что у нас есть два подмножества в нашем наборе данных, которые называются обучающими данными и тестовыми данными. Если набор данных не содержит этих двух подмножеств, ничего страшного. Мы всегда можем разделить текущий набор данных самостоятельно. Обычно мы разделяем набор данных на 70:30 или 80:20 для соотношения между обучающими и тестовыми данными. Данные обучения будут использоваться в качестве классификатора поездов, а данные испытаний будут использоваться для измерения производительности. После создания модели мы выберем k с наименьшей ошибкой теста.

Перекрестная проверка

Проблема с обычной техникой проверки состоит в том, что мы оптимизируем модель только один раз. Использование сразу всего обучающего набора не позволит вам оптимизировать модель в дальнейшем. Значение k на самом деле может быть не оптимальным и не может быть обобщено для будущих тестовых данных. Мы можем вывести валидацию на другой уровень, разделив обучающие данные на более мелкие наборы, которые мы назвали свертками. После этого вы должны выбрать одну из складок, которая будет использоваться в качестве данных проверки. Сами данные проверки будут использоваться для оптимизации гиперпараметров.

Перекрестная проверка состоит из итерации по всем сверткам. В приведенном выше примере мы разделили данные поезда на 5 частей (это также называется 5-кратной перекрестной проверкой). На первой итерации мы выбираем сгиб 5, который будет использоваться в качестве данных проверки. Остальные складки пойдем на тренировку. Во второй итерации мы будем использовать складку 4 для использования в качестве данных проверки. Остальные складки пойдем на тренировку. Эта итерация будет продолжаться до тех пор, пока каждая свертка не будет использоваться в качестве данных проверки. Когда мы закончим, мы берем среднее значение тех параметров, которые имеют наилучшую эффективность для данных проверки. Результатом этого процесса будут окончательные гиперпараметры.

Некоторые могут задаться вопросом, как выбрать подходящее количество складок. Здесь нет магического числа, вы всегда можете выбрать наиболее подходящее количество складок в зависимости от размера вашего тренировочного набора. Тем не менее, в большинстве случаев люди начинают с 5 или 10 складок.

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

Заворачивать

Сегодня мы рассмотрели классификацию, kNN, а также перекрестную проверку. Для начала лучше всего было бы научиться использовать kNN, поскольку это один из самых простых способов классификации данных. Что вы думаете о простейшем способе классификации без учителя? Дайте мне знать в ответе ниже, выскажите свое мнение об этой истории или даже сделайте мне предложение. Спасибо за чтение и надеюсь, что это будет полезно для вас.