#08#100daysofИИ

В предыдущем разделе мы разъяснили понятие модели машинного обучения. В этом разделе мы обсудим типичный workflow для построения модели машинного обучения.

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

Рабочий процесс, ориентированный на данные

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

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

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

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

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

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

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

Когда данные готовы, мы выбираем один из алгоритмов машинного обучения и начинаем загружать алгоритм подготовленными данными для обучения. Это то, что мы называем процессом обучения.

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

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

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

Спасибо за чтение :)