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

Если вы новичок в машинном обучении или просто интересуетесь им, это для вас.

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

Во-первых, модель

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

Итак, что значит обучить модель? В широком смысле обучение означает улучшение или оптимизацию чего-либо для достижения цели или повышения производительности. Если бы вам предстояло пройти тест, вам нужно было бы подготовиться к нему, верно? Вам также понадобятся некоторые ресурсы для подготовки к тесту, например. учебники, книги и т. д.
Точно так же модель должна быть обучена (обучение/обучение) с использованием данных (книги и учебные пособия), чтобы лучше работать в реальном мире (тест).

Все начинается с данных

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

Выбор модели

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

  • Дерево решений и его варианты
  • Искусственные нейронные сети
  • Линейная регрессия
  • Логистическая регрессия
  • графические модели; это очень интересно.

Параметры / Вес

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

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

Функция потерь/измерение погрешности

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

  • Среднеквадратическая ошибка
  • Средняя абсолютная ошибка
  • Кросс-энтропия

Подробнее о функциях потерь читайте здесь.

Оптимизация

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

  • Градиентный спуск (очень распространенный алгоритм)
  • RMSProp
  • Адам Оптимизатор

Подробнее о методах оптимизации читайте здесь.

Мера производительности

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

  • Точность (как правило, это плохой показатель эффективности)
  • F1-счет
  • ROC-AUC (площадь под кривой)
  • IoU (Intersection over Union, используется в задачах Computer Vision)

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

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

Итак, в целом, вот шаги машинного обучения.

  1. Соберите свои данные (это очень сложно и не очень просто)
  2. Выберите модель
  3. Выберите функцию потерь
  4. Выберите метод оптимизации.
  5. Инициализировать веса (большинство людей используют случайную инициализацию)
  6. Передайте данные обучения в качестве входных данных для модели.
  7. Сравните выход модели с истинным значением.
  8. Измерьте, насколько вы далеки от истинного значения, используя функцию потерь.
  9. Оптимизируйте свою модель с помощью оптимизатора.
  10. Измерьте производительность модели с помощью тестового набора данных.
  11. Если вы достигли желаемого уровня производительности, остановитесь. В противном случае вернитесь к шагу 6.

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

Спасибо, что дочитали до этого момента. Если вам нравится то, что вы только что прочитали, пожалуйста, хлопните в ладоши. 👏🏽
Вы также можете подписаться на Twitter: @iamtemibabs