Модели машинного обучения — настройка, сравнение, переоснащение и недообучение

— ежедневный журнал моего обучения и проектов, созданный по мере того, как я занимаюсь машинным обучением. Добро пожаловать в The Mind Palace от Dayo.

Дата: 26 августа 2022 г.

О

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

TOC. Сегодняшняя запись в дневнике охватывает:

  1. Re: Что такое обучение модели машинного обучения?
  2. Настройка модели
  3. Сравнение моделей
  4. Проблемы обобщения: переоснащение и недообучение

Re: Что означает обучение модели машинного обучения?

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

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

Хорошие вещи — настройка модели

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

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

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

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

Хорошие вещи — сравнение моделей

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

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

Выбранная модель не может быть моделью с самой высокой оценочной метрикой. Пул вариантов содержит варианты одной и той же модели (скажем, меньше деревьев, больше слоев и т. д.), и все варианты подвергаются тестовому набору. Если модель A работает немного лучше, чем модель B, но модель B дает прогнозы за меньшее время, может быть выбрана модель B. Например, компания здравоохранения может заботиться о точности больше, чем 2 минуты дополнительного времени, которое требуется модели А, чтобы дать прогноз, поэтому она выберет модель А. Компания, производящая автомобильные подъемники, может больше заботиться о времени и поэтому выберет модель Б, потому что она достаточно точен и имеет меньшее время эксперимента.

Хорошие вещи — переобучение, недообучивание и их исправление

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

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

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

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

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

Яблоки к яблокам

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

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

Истории о Дворце разума по-прежнему продолжаются еженедельно.

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

Увидимся!