– Нормализация и стандартизация данных – это методы, используемые для масштабирования числовых признаков до аналогичного диапазона.
– Нормализация масштабирует данные до диапазона от 0 до 1, в то время как стандартизация преобразует данные в среднее значение 0 и стандартное отклонение 1.
– Нормализация часто подходит для алгоритмов, которые предполагают ограниченный входной диапазон, в то время как стандартизация полезна, когда объекты имеют различные масштабы и распределения.
3. Одноразовое горячее кодирование:
– Одноразовое кодирование используется для представления категориальных переменных в виде двоичных векторов.
– Каждая категория преобразуется в двоичный вектор, где только один элемент равен 1 (что указывает на наличие этой категории), а остальные равны 0.
– Одноразовое кодирование позволяет использовать категориальные данные в качестве входных данных в нейронных сетях, позволяя им обрабатывать нечисловую информацию.
4. Масштабирование функций:
– Масштабирование признаков гарантирует, что числовые объекты находятся в аналогичном масштабе, не позволяя одним объектам доминировать над другими из-за различий в величинах.
– Общие методы включают минимальное и максимальное масштабирование, когда функции масштабируются до определенного диапазона, и стандартизацию, как упоминалось ранее.
5. Уменьшение размерности:
– Методы уменьшения размерности уменьшают количество входных элементов, сохраняя при этом важную информацию.
– Анализ главных компонент (PCA) и t-SNE (t-распределенное стохастическое встраивание соседей) являются популярными методами уменьшения размерности.
– Уменьшение размерности может помочь смягчить проклятие размерности и повысить эффективность обучения.
6. Сплит и перекрестная проверка обучения-тестирования:
– Чтобы оценить производительность нейронной сети, важно разделить данные на обучающий и тестовый наборы.
– Обучающий набор используется для обучения сети, а тестовый – для оценки ее производительности на невидимых данных.
– Перекрестная проверка – это еще один метод, при котором набор данных разделяется на несколько подмножеств (складок) для итеративного обучения и тестирования сети, получения более надежной оценки ее производительности.
Эти методы предварительной обработки данных применяются для обеспечения того, чтобы данные находились в подходящей форме для обучения нейронных сетей. Очищая данные, обрабатывая отсутствующие значения, масштабируя функции и уменьшая размерность, мы можем улучшить производительность сети, повысить ее эффективность и добиться лучшего обобщения невидимых данных.
Обработка отсутствующих данных
Отсутствующие данные являются распространенной проблемой в наборах данных и могут существенно повлиять на производительность и надежность нейронных сетей. В этой главе мы рассмотрим различные методы эффективной обработки отсутствующих данных:
1. Удаление отсутствующих данных:
– Одним из простых подходов является удаление экземпляров или объектов, содержащих отсутствующие значения.
– Если только небольшая часть данных имеет отсутствующие значения, удаление этих экземпляров или функций может не оказать существенного влияния на общий набор данных.
– Однако этот подход следует использовать с осторожностью, так как он может привести к потере ценной информации, особенно если отсутствующие данные не являются случайными.
2. Среднее/медианное условное исчисление:
– Среднее или медианное условное исчисление предполагает замену отсутствующих значений средним или медианным значением соответствующего признака.
– Этот метод предполагает, что отсутствующие значения отсутствуют случайным образом (MAR), а непропущенные значения обладают теми же статистическими свойствами.
– Условное исчисление помогает сохранить размер выборки и поддерживать распределение признака, но может привести к смещению, если пропуск не является случайным.
3. Регрессионное вменение:
– Регрессионное условное исчисление предполагает прогнозирование пропущенных значений с использованием регрессионных моделей.
– Регрессионная модель обучается на непропущенных значениях, а затем модель используется для прогнозирования отсутствующих значений.
– Этот метод фиксирует взаимосвязи между отсутствующим признаком и другими признаками, что позволяет более точно вменить.
– Тем не менее, он предполагает, что отсутствие функции может быть разумно предсказано другими переменными.
4. Множественное вменение:
– Множественное условное исчисление – это метод, при котором отсутствующие значения вменяются несколько раз для создания нескольких полных наборов данных.
– Каждому набору данных присваиваются различные правдоподобные значения, основанные на наблюдаемых данных и их неопределенности.
– Затем нейронная сеть обучается на каждом вмененном наборе данных, и результаты объединяются для получения более надежных прогнозов.
– Множественное условное исчисление объясняет неопределенность в условном исчислении недостающих значений и может привести к более надежным результатам.
5. Выделенные архитектуры нейронных сетей:
– Существуют специальные архитектуры нейронных сетей, предназначенные для непосредственной обработки отсутствующих данных.
– Например, замаскированный автоэнкодер для оценки распределения (MADE) и автоэнкодер шумоподавления (DAE) могут обрабатывать пропущенные значения во время обучения и вывода.
– Эти архитектуры учатся восстанавливать отсутствующие значения на основе имеющейся информации и могут обеспечить повышенную производительность наборов данных с отсутствующими данными.
Выбор метода обработки отсутствующих данных зависит от характера и степени отсутствия, предположений о механизме отсутствующих данных и характеристик набора данных. Важно тщательно рассмотреть последствия каждого метода и выбрать тот, который наилучшим образом соответствует конкретным требованиям и ограничениям имеющегося набора данных.
Работа с категориальными переменными
Категориальные переменные создают уникальные проблемы в нейронных сетях, поскольку для их эффективного использования требуется соответствующее представление и кодирование. В этой главе мы рассмотрим методы работы с категориальными переменными в нейронных сетях:
1. Кодирование этикетки:
– Кодировка меток присваивает уникальную числовую метку каждой категории в категориальной переменной.
– Каждая категория сопоставляется с целочисленным значением, что позволяет нейронным сетям обрабатывать данные.
– Однако кодирование меток может привести к появлению порядковых отношений между категориями, которых не существует, что может привести к неправильным интерпретациям.