И как его применять

Фон

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

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

Набор данных, который мы будем использовать, исследует платежи клиентов по кредитным картам по умолчанию на Тайване. Это любезно предоставлено репозиторием машинного обучения Калифорнийского университета в Ирвине.

В наборе данных в качестве переменной ответа использовалась двоичная переменная, платеж по умолчанию (Да = 1, Нет = 0). Он содержит следующие 23 переменных в качестве независимых переменных:

X1: Сумма предоставленного кредита

X2: Пол (1 = мужской; 2 = женский).

X3: Образование (1 = аспирантура; 2 = университет; 3 = средняя школа; 4 = другие).

X4: Семейное положение (1 = женат; 2 = холост; 3 = другие).

X5: Возраст (год).

X6 - X11: История прошлых платежей (с апреля по сентябрь 2005 г.). Шкала измерения статуса погашения: -1 = надлежащая оплата; 1 = отсрочка платежа на один месяц; 2 = отсрочка платежа на два месяца; . . .; 9 = отсрочка платежа на девять месяцев и так далее.

X12-X17: Сумма выписки по счету (с апреля по сентябрь 2005 г.)

X18-X23: Сумма предыдущего платежа (с апреля по сентябрь 2005 г.)

Игра с распределениями по умолчанию (или другой целевой переменной) может быть интересным упражнением.

Разведка и масштабирование данных

Набор данных состоит из 3000 строк и 24 столбцов, 23 из которых являются пояснительными. Нет нулевых значений (оценка!), И кажется, что набор данных сильно искажен (~ 78%) в сторону отсутствия экземпляров по умолчанию.

Масштабирование функций стандартизирует столбцы данных и является важным этапом предварительной обработки данных. Нормализация данных в определенном диапазоне также помогает ускорить вычисления.

Разделение данных на тестовые и обучающие наборы

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

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

Случайная недостаточная выборка

Чтобы получить сбалансированный набор данных и избежать переобучения, важно удалить точки данных. В этом наборе данных около 70–75% записей или экземпляров, отличных от значений по умолчанию.

Мы хотим, чтобы модель не могла определять экземпляры по умолчанию и не по умолчанию, а вместо этого «оттачивала» последние.

Таким образом, мы удаляем записи до тех пор, пока не будет соотношение 50/50 между экземплярами по умолчанию и экземплярами, отличными от значений по умолчанию. Одна из проблем - значительная потеря информации.

Матрицы корреляции

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

Отрицательная корреляция возникает, когда чем ниже эти значения, тем более вероятно, что конечным результатом будет транзакция по умолчанию. Положительная корреляция возникает, когда чем выше эти значения, тем больше вероятность, что конечным результатом будет транзакция по умолчанию. В этом случае кажется, что переменные транзакции баланса X12 - X17 наиболее сильно коррелируют, так что это то, на чем мы сосредоточимся.

Обнаружение аномалии

Удаление выбросов из функций, которые сильно коррелированы с нашими классами, приведет к более точной модели.

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

Уменьшение размерности

PCA

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

PCA помогает нам извлечь новый набор переменных из существующего большого набора переменных. Эти недавно извлеченные переменные называются основными компонентами.

Главный компонент - это линейная комбинация исходных переменных. К другим тонкостям можно отнести:

  • Основные компоненты извлекаются таким образом, чтобы первый главный компонент объяснял максимальную дисперсию в наборе данных.
  • Второй главный компонент пытается объяснить оставшуюся дисперсию в наборе данных и не коррелирует с первым главным компонентом.
  • Третий главный компонент пытается объяснить дисперсию, которая не объясняется первыми двумя главными компонентами и т. Д.

Разложение по одной переменной

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

Он используется для удаления избыточных функций из набора данных.

SVD раскладывает исходные переменные на три составляющие матрицы. Понятия собственных значений и собственных векторов используются для определения этих трех матриц.

t-SNE

t-Распределенное стохастическое соседнее вложение (t-SNE) - это метод нелинейного уменьшения размерности для уменьшения размерности, который особенно хорошо подходит для визуализации многомерных наборов данных в низкоразмерном двух- или трехмерном пространстве.

По сути, t-SNE позволяет легко визуализировать, как данные расположены в многомерном пространстве.

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

t-SNE отличается от PCA тем, что сохраняет только небольшие попарные расстояния или локальные сходства, тогда как PCA заботится о сохранении больших попарных расстояний для максимизации дисперсии.

Классификаторы и не только

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

Модель также должна быть оценена как на недостаточное, так и на переобучение, что вы можете определить по высокому смещению и дисперсии соответственно. То, как вы занижаете или передаёте выборку, может повлиять на то, насколько точно модель выявляет случаи по умолчанию. Как видите, при работе с многомерным несбалансированным набором данных нужно многое учитывать!