Выбор и подготовка данных являются основополагающими этапами любого проекта в области машинного обучения. Тип данных, необходимых для машинного обучения, определяется в первую очередь характером решаемой задачи и желаемым результатом. Данные могут принимать различные формы — включая изображения, текст, числовые значения, аудио и табличные данные — и каждая форма требует определенных стратегий обработки, предварительной обработки и моделирования.
Типы данных для машинного обучения
1. Структурированные данные
Структурированные данные — это информация, организованная в четко определенном виде, часто в таблицах или базах данных. Этот формат включает строки и столбцы, где каждый столбец представляет собой характеристику (переменную), а каждая строка — наблюдение (экземпляр). Примеры включают демографические данные клиентов (возраст, доход, пол), данные о транзакциях (записи о продажах) и показания датчиков (температура, давление, влажность).
Структурированные данные хорошо поддаются обработке различными моделями машинного обучения, включая линейную регрессию, логистическую регрессию, деревья решений и ансамблевые методы. Разработка признаков и очистка данных имеют решающее значение при работе с данными такого типа.
2. Неструктурированные данные
Неструктурированные данные не имеют предопределенной модели данных и не организованы в табличном формате. К этой категории относятся:
– фотографии: Используется в приложениях компьютерного зрения, таких как распознавание лиц, обнаружение объектов и медицинская визуализация. Каждое изображение обычно представляется в виде матрицы значений пикселей.
– Текст: Основной тип данных для обработки естественного языка (NLP). Приложения включают анализ настроений, классификацию документов и машинный перевод. Текстовые данные требуют токенизации, удаления стоп-слов, стемминга и векторизации.
– аудио: Используется в распознавании речи и классификации аудиоданных. Аудиоданные представляются в виде волновых форм или спектрограмм.
– Видео: Объединяет последовательности изображений (кадров) и аудио, используется для распознавания активности и классификации видео.
3. Полуструктурированные данные
Полуструктурированные данные содержат как структурированные, так и неструктурированные элементы. Примерами являются файлы JSON и XML, где данные не хранятся в таблицах, но содержат теги или ключи, которые организуют информацию. Такие данные широко распространены в веб-приложениях и API.
Требования к данным в контексте этапов машинного обучения
Стандартный рабочий процесс машинного обучения состоит из семи этапов: определение задачи, сбор данных, подготовка данных, выбор модели, обучение, оценка и развертывание. Важность данных проявляется на нескольких этапах этого рабочего процесса.
1. Определение проблемы
Понимание бизнес-задачи или исследовательской проблемы определяет тип необходимых данных. Например, для прогнозирования цен на жилье требуются структурированные данные о характеристиках домов, а для выявления спам-писем — текстовые данные.
2. Сбор данных
Данные могут поступать из внутренних источников (базы данных, журналы, записи транзакций) или из внешних (общедоступные наборы данных, датчики, веб-скрейпинг). Собранные данные должны быть репрезентативными для проблемного пространства и достаточными по количеству и качеству для обучения модели.
3. Подготовка данных
Данные необходимо очистить, преобразовать и отформатировать для использования с алгоритмами машинного обучения. Для структурированных данных это включает обработку пропущенных значений, кодирование категориальных переменных и масштабирование числовых признаков. Для изображений предварительная обработка может включать изменение размера, нормализацию и аугментацию. Для текста предварительная обработка обычно включает нормализацию, токенизацию, стемминг и преобразование текста в числовые представления, такие как «мешок слов» или эмбеддинги.
4. Выбор модели
Тип данных влияет на выбор модели. Сверточные нейронные сети (CNN) подходят для изображений, рекуррентные нейронные сети (RNN) и трансформеры — для последовательных текстовых данных, а градиентный бустинг — для табличных данных. Выбор архитектуры модели неразрывно связан с типом данных.
5. Модельное обучение
Количество и разнообразие данных влияют на способность модели к обобщению. Для глубокого обучения часто требуются большие объемы размеченных данных, особенно для задач обработки изображений и текста. Методы аугментации данных могут использоваться для искусственного расширения набора данных, особенно в обработке изображений.
6. Оценка
Для оценки производительности модели необходимо исключить отдельную часть данных (проверочный и тестовый наборы). Это гарантирует, что модель будет обобщать результаты за пределы обучающих данных. Для несбалансированных наборов данных часто необходимы метрики оценки, выходящие за рамки точности, такие как прецизия, полнота и F1-мера.
7. развертывание
После обучения и оценки модель развертывается для прогнозирования на новых, реальных данных. Конвейер обработки данных должен гарантировать, что входные данные на этапе вывода соответствуют формату и этапам предварительной обработки, использованным во время обучения.
Примеры типов данных для задач машинного обучения
– Классификация изображений: Требуется наличие изображений с метками. Например, набор фотографий животных с метками, указывающими на вид (кошка, собака, птица).
– Анализ настроений: Использует текстовые данные, такие как отзывы клиентов, помеченные категориями эмоционального состояния (положительное, отрицательное, нейтральное).
– Распознавание речи: Включает в себя аудиозаписи в сочетании с текстовыми расшифровками.
– Обнаружение мошенничества: Использует структурированные данные о транзакциях, содержащие такие характеристики, как сумма транзакции, время, местоположение и продавец.
– Медицинский диагноз: Может опираться на сочетание структурированных данных (демографические данные пациента, результаты лабораторных анализов) и неструктурированных данных (рентгеновские снимки, записи врача).
Аннотирование и маркировка данных
Для задач обучения с учителем, где каждый пример сопоставляется с правильным результатом, необходимы размеченные данные. Аннотирование данных может быть ручным (человеком-аннотатором), полуавтоматическим или автоматическим (с использованием уже существующих меток). Точность меток имеет решающее значение, поскольку неправильно размеченные данные могут ухудшить производительность модели.
В случае обучения без учителя метки не требуются. Вместо этого модель стремится обнаружить структуру в данных (например, кластеризацию похожих элементов). В случае обучения с подкреплением данные могут состоять из состояний, действий и вознаграждений, наблюдаемых по мере взаимодействия агента с окружающей средой.
Качество и количество данных
Высококачественные данные должны быть точными, согласованными, полными и релевантными. Проблемы качества данных (пропущенные значения, дубликаты, выбросы, несогласованные форматы) должны быть решены до начала моделирования. Количество данных влияет на статистическую мощность и обобщающую способность модели. Для сложных моделей (например, глубоких нейронных сетей) обычно необходимы большие наборы данных, чтобы предотвратить переобучение.
Конфиденциальность данных и соответствие требованиям
При сборе и использовании данных важно учитывать вопросы конфиденциальности, защиты персональных данных и нормативные требования (такие как GDPR или HIPAA). Конфиденциальные данные должны быть анонимизированы или обезличены, и должно быть получено соответствующее согласие.
Хранение и управление данными
Для хранения и управления большими массивами данных требуется надежная инфраструктура, особенно для файлов изображений, аудио и видео, которые занимают значительное пространство для хранения. Облачные платформы, такие как Google Cloud, предоставляют управляемые решения для хранения данных (Cloud Storage, BigQuery) и масштабируемые вычислительные ресурсы для обработки больших объемов данных.
Представление функций
Исходные данные часто преобразуются в признаки, подходящие для алгоритмов машинного обучения. Для структурированных данных это может включать агрегирование, нормализацию или кодирование переменных. Для изображений признаки могут быть извлечены с помощью предварительно обученных нейронных сетей. Для текста распространенными способами представления признаков являются частота терминов - обратная частота документов (TF-IDF), векторные представления слов (Word2Vec, GloVe) или контекстные векторные представления из моделей трансформеров.
Примеры данных по модальности
– фотографии: Набор данных MNIST (изображения рукописных цифр), CIFAR-10 (цветные изображения в 10 классах), рентгеновские снимки грудной клетки (медицинская визуализация).
– Текст: Рецензии на фильмы на IMDB (анализ настроений), новостные статьи (классификация тем), статьи в Википедии (языковое моделирование).
– Табличные данные: Данные о пассажирах «Титаника» (прогнозирование выживаемости), наборы данных из репозитория машинного обучения UCI (различные области).
– аудио: LibriSpeech (распознавание речи), UrbanSound8K (классификация звуков окружающей среды).
– Видео: UCF101 (распознавание действий в видео), YouTube-8M (классификация видео).
Увеличение данных
Методы аугментации данных применяются для расширения разнообразия обучающих данных без сбора новых примеров. В случае изображений методы аугментации включают вращение, отражение, обрезку и изменение цвета. В случае текста аугментация может включать замену синонимов, обратный перевод или перефразирование.
Обработка пропущенных и несбалансированных данных
В реальных наборах данных часто встречаются пропущенные значения или несбалансированное распределение классов. Методы обработки пропущенных данных включают импутацию (среднее, медианное или на основе модели), а несбалансированные данные можно исправить с помощью перевыборки (избыточная выборка миноритарного класса, недостаточная выборка мажоритарного класса) или с помощью сложных алгоритмов, корректирующих дисбаланс классов.
Интеграция с Google Cloud Machine Learning
Google Cloud предлагает набор инструментов для управления и обработки данных в целях машинного обучения:
– Облачное хранилище Google: Для масштабируемого хранения больших наборов данных (изображений, текста, аудио).
– Большой запрос: Для обработки структурированных табличных данных в больших масштабах.
– Cloud Dataflow и Dataprep: Для создания и предварительной обработки конвейеров обработки данных.
– Вертексный ИИ: Для создания, обучения и развертывания моделей машинного обучения, с интегрированными инструментами для разметки данных и проектирования признаков.
Этические соображения
Выбор и использование данных в машинном обучении должны руководствоваться этическими соображениями, обеспечивая справедливость, прозрачность и избегание предвзятости. Разнообразие данных помогает предотвратить усвоение моделями и увековечивание социальных предубеждений. Рекомендуется проводить регулярные проверки и оценки предвзятости.
Абзац резюме
Выбор правильных данных для машинного обучения зависит от конкретной задачи и желаемого применения. Независимо от того, используются ли структурированные таблицы, неструктурированный текст, изображения или аудио, данные должны быть тщательно отобраны, предварительно обработаны и управляемы для обеспечения успешной разработки модели. Конвейер обработки данных, от сбора до подготовки и проектирования признаков, составляет основу любого рабочего процесса машинного обучения и напрямую влияет на точность и надежность результирующей модели.
Другие недавние вопросы и ответы, касающиеся 7 шагов машинного обучения:
- Насколько машинное обучение похоже на генетическую оптимизацию алгоритма?
- Можно ли использовать потоковые данные для непрерывного обучения и использования модели, одновременно улучшая её?
- Что такое моделирование на основе PINN?
- Какие гиперпараметры m и b показаны в видео?
- Как наиболее эффективно создать тестовые данные для алгоритма машинного обучения? Можно ли использовать синтетические данные?
- Можно ли использовать слои моделирования на основе PINN и динамические графы знаний в качестве основы вместе со слоем оптимизации в модели конкурентной среды? Допустимо ли это для небольших выборок неоднозначных реальных данных?
- Может ли объем обучающих данных быть меньше объема оценочных данных, чтобы заставить модель обучаться с большей скоростью за счет настройки гиперпараметров, как в самооптимизирующихся моделях, основанных на знаниях?
- Поскольку процесс машинного обучения является итеративным, используются ли одни и те же тестовые данные для оценки? Если да, то снижает ли повторное воздействие одних и тех же тестовых данных их полезность в качестве неизвестного ранее набора данных?
- Приведите конкретный пример гиперпараметра.
- Как использовать фреймворк DEAP GA для настройки гиперпараметров в Google Cloud?
Больше вопросов и ответов можно найти в разделе «7 шагов машинного обучения».

