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