Введение

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

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

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

Как специалист по данным, важно перевести потребности команды разработчиков в обстоятельства модели, заявив, что ложноотрицательные результаты в пять раз дороже, чем ложноположительные. Следовательно, он должен быть оптимизирован для отзыва, а не для точности, чтобы удовлетворить это при разработке модели. Также важно найти баланс между целью команды разработчиков по оптимизации точности и целью минимизации потерь модели.

Инструменты для данных и модели

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

Большой запрос

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

Машинное обучение BigQuery

BigQuery ML — это инструмент для построения моделей на основе данных, хранящихся в BigQuery. С помощью BigQuery ML мы можем обучать, оценивать и генерировать прогнозы для наших моделей с помощью SQL. Он поддерживает модели классификации и регрессии, а также модели неконтролируемой кластеризации. Также можно импортировать ранее обученные модели TensorFlow в BigQuery ML для прогнозирования.

Проблемы машинного обучения

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

Ниже приведены несколько важных задач машинного обучения:

Качество данных

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

Точность данных

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

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

Операции, которые необходимо выполнить для поддержания качества данных:

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

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

Пример:

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

Полнота данных

Полноту данных легко понять на примере.

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

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

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

Потому что модель была обучена только для определения 10 отдельных пород кошек. Независимо от того, какую модель вы вводите, вы можете предвидеть, что она попадет в одну из этих 10 категорий. Он может даже сделать это с большим разрешением для изображения, которое совсем не похоже на кошку. И нельзя сказать «не кошка», если эти данные и метка не были включены в набор обучающих данных.

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

Консистентность данных

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

Допустим, правительство собирает атмосферные данные с датчиков температуры. Если каждый датчик был откалиброван по разным стандартам, это приведет к неточным и вводящим в заблуждение прогнозам модели. Эти данные ниже обманчивы:

  • Разница в единицах измерения, таких как мили и километры.
  • Проблема с данными о местоположении, например, некоторые люди могут написать полный почтовый адрес как «Main Street», а другие могут сократить его как «Main St.»

Своевременность данных

Своевременность данных относится к задержке между тем, когда событие произошло, и тем, когда оно было добавлено в базу данных.

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

Воспроизводимость данных

Модели машинного обучения имеют неотъемлемый элемент случайности. При обучении веса модели ML инициализируются случайными значениями. Затем эти веса сходятся во время обучения, когда модель выполняет итерации и учится на данных. Из-за этого одинаковый код модели с одинаковыми обучающими данными будет давать значительно разные результаты в разных тренировочных прогонах. Это знакомит с проблемой воспроизводимости. Если вы обучаете модель с точностью 98,1 %, повторный тренировочный прогон не гарантирует достижения того же результата. Это может затруднить проведение измерений между экспериментами.

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

Следуя способам обучения модели ML, которые необходимо исправить, чтобы обеспечить воспроизводимость:

  • Используемые данные
  • Механизм разделения, используемый для создания наборов данных для обучения и проверки.
  • Подготовка данных и гиперпараметры модели
  • Применение переменных, таких как размер пакета
  • График скорости обучения

Дрейф данных

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

Пример:

Предположим, есть модель, которая обучается классифицировать заголовки новостных статей, такие как «политика», «бизнес» и «технологии». Таким образом, если вы обучаете и оцениваете свою модель на исторических новостных статьях 20-го века, она, скорее всего, не будет работать так же хорошо на текущих данных. Сегодня известно, что статья со словом «смартфон» в заголовке, скорее всего, о технике. Модель, обученная на исторических данных, не знала бы этого слова. Это дрейф данных.

Решение для устранения дрейфа данных:

  • Постоянно обновляйте набор обучающих данных
  • Переобучить модель
  • Изменить вес модели, назначенный определенным группам входных данных

Шкала

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

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

Отсутствие масштабирования также влияет на эффективность регуляризации L1 или L2, потому что величина весов для признака зависит от величины значений этого признака, и поэтому регуляризация по-разному повлияет на разные признаки. Масштабируя все признаки так, чтобы они сохранялись между [–1, 1], мы гарантируем, что нет большой разницы в относительных величинах различных признаков.

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

Масштабирование можно разделить на следующие категории:

  • Линейное масштабирование
  • Нелинейное преобразование

Краткое содержание

Важными этапами являются проектирование, создание и развертывание систем машинного обучения. Модели машинного обучения в производстве часто становятся инженерной системой, в которой используются методы машинного обучения, разработанные в исследовательских средах, и применяются к бизнес-задачам. По мере того, как машинное обучение становится все более популярным, специалисты-практики должны использовать проверенные методы для решения повторяющихся проблем. Нам повезло работать с командами TensorFlow, Keras, BigQuery ML, TPU и Cloud AI Platform, которые способствуют демократизации исследований и инфраструктуры машинного обучения. После того, как вы собрали свой набор данных и обнаружили функции для своей модели, проверка данных — это процесс вычисления статистики по вашим данным, знания вашей схемы и оценки набора данных для выявления таких проблем, как дрейф и перекос в обучении. В основе любой модели машинного обучения лежит математическая функция, предназначенная для работы только с определенными типами данных. Точно так же реальные модели машинного обучения требуют работы с данными, которые нельзя напрямую подключить к математической функции. Большинство современных крупномасштабных моделей машинного обучения, таких как случайные леса, машины опорных векторов, нейронные сети и т. д., работают с числовыми значениями, поэтому, если наши входные данные являются числовыми, мы можем последовательно передавать их в модель. Для масштабирования ML важно то, что некоторые алгоритмы и методы машинного обучения очень чувствительны к относительным величинам различных характеристик данных. Например, алгоритм кластеризации k-средних, который использует евклидово расстояние в качестве меры близости, в конечном итоге будет в значительной степени полагаться на признаки с большими величинами.