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

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

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

Что такое ИИ?

ИИ (искусственный интеллект) — это идея о том, что машины могут обладать интеллектом. Поскольку определения интеллекта не существует, а люди считают себя самым интеллектуальным видом на планете, машина, которая обладает поведением, подобным человеческому, считается разумной.

Что такое машинное обучение?

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

Что такое модель машинного обучения?

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

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

Логика обучающей модели

Чтобы обучить модель, нужно сначала поработать над получением наборов данных.

Получаем датасет, разбиваем датасет на 3 части.

  • Обучение
  • Проверка
  • Контрольная работа

Вопрос в том, разделим ли мы его поровну. Как к этому относятся практики? Для этого нет правила, но общие деления таковы:

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

Мы объясняем каждый набор данных следующим образом:

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

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

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

Как сочетаются обучение и проверка?

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

Что значит «время от времени»? Обычно мы проверяем набор данных для каждой эпохи. Каждый раз, когда мы корректируем веса и тренировочные потери, мы проверяем.

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

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

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

Пример:

Один из способов думать об этих трех наборах состоит в том, что два из них (обучение и проверка) исходят из прошлого, тогда как тестовый набор исходит из «будущего». Модель следует строить и настраивать с использованием данных из «прошлого» (данные для обучения/проверки), но никогда не тестировать данные, поступающие из «будущего».

Чтобы привести практический пример, предположим, что мы строим модель, чтобы предсказать, насколько хорошо бейсболисты будут выступать в будущем. Мы будем использовать данные за 1899–2020 годы для создания набора для обучения и проверки. Как только модель будет построена и настроена на этих данных, мы будем использовать данные за 2019 год (фактически из прошлого!) в качестве тестового набора, который с точки зрения модели выглядит как «будущие» данные и никоим образом не повлиял на создание модели. .