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

Переосмысление шаблона проектирования

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

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

Переосмысление классификации как регрессии

❓Когда целесообразно моделировать распределение для задачи регрессии?

Выгодно, когда раздача

  1. Распределение Твиди (💡Распределение с преобладанием точек в нуле)
  2. Бимодальное (💡распределение с двумя пиками)
  3. Нормально, но с большим разбросом

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

Переосмысление классификации как регрессии

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

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

Есть ли компромиссы?

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

ПРАКТИЧЕСКОЕ ПРАВИЛО. Чтобы гарантировать минимальную потерю информации, размер данных должен составлять прибл. 10-кратное количество признаков модели для каждой категории меток в задаче классификации и прибл. В 50 раз больше признаков модели для регрессионной модели.

Различные ситуации, когда переформулирование проблемы было бы полезно

  1. Точность прогнозов
    Данные с более четким PDF указывают на меньшую s.d. выходного распределения, и в этом случае, чтобы быть более точным, мы, вероятно, построили бы регрессионную модель; тогда как, когда PDF шире, имеет большее sd. и больше дисперсии, мы хотели бы, чтобы она была как можно более точной, и, следовательно, мы хотели бы использовать модель классификации.
  2. Ограничение диапазона прогноза
  3. Избегайте предвзятости ярлыков

❓Как насчет изучения обоих подходов вместо того, чтобы переформулировать проблему?

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

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

❓Как это можно сделать?

Многозадачное обучение достигается за счет совместного использования параметров —

  1. Жесткое совместное использование параметров: скрытые слои модели совместно используются всеми задачами вывода.
  2. Мягкое совместное использование параметров: у каждой задачи есть своя NN с собственными параметрами, а параметры разных моделей поддерживаются одинаковыми благодаря регуляризации.

Шаблон проектирования с несколькими метками

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

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

💡РЕШЕНИЕ.Для таких задач нам нужно знать уверенность модели в предсказании различных меток для данного обучающего примера. Этого можно добиться, используя сигмовиднуюфункцию активации в конечном выходном слое. Функция активации сигмоида дает массив, содержащий значения с плавающей запятой от 0 до 1, каждое из которых представляет достоверность присвоения метки для этого индекса.

❓Чем сигмоид отличается от softmax?

Sigmoid дает значения от 0 до 1, тогда как softmax дает значения от 0 до 1, которые в сумме дают 1.

Двоичная классификация (N_CLASSES = 2)

Для бинарной классификации сигмовидная функция активации с выходной формой 1 была бы оптимальной по сравнению с softmax.

Функция потерь, которую можно использовать, – это бинарная кросс-энтропия.

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

❓После того, как мы получим результаты сигмовидного вывода, как мы на самом деле проанализируем результаты и начнем использовать модель???

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

Балансировка наборов данных для шаблонов с несколькими метками

  1. Плоский подход: добавьте все ярлыки в один и тот же выходной массив.
  2. Шаблон каскадного проектирования — пример передается через модели разных иерархических уровней на основе предсказания моделей предыдущих уровней.

Входы с перекрывающимися метками

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

Один против остальных

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

Шаблон проектирования ансамбля

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

Ошибки в модели ML:

  1. Неисправимая ошибка – ошибка, возникшая из-за шума в наборе данных, постановки проблемы или неверных обучающих примеров.
  2. Уменьшаемая ошибкапредвзятость и дисперсия

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

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

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

Различные ансамблевые техники

Бэгинг

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

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

Модели и алгоритмы остаются неизменными на протяжении всего этого процесса.

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

Повышение

Повышение пытается улучшить модель, контролируя ее недостаточное соответствие (высокое смещение).

Каждая последующая модель тренируется на примерах, в которых предыдущая модель ошиблась (т. е. фокусируется на примерах, которые было трудно предсказать ее предшественнику).

Модели и алгоритмы в этом процессе могут быть разными.

Укладка

Укладка = Бэггинг + Повышение

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

Есть ли компромиссы?

  1. Увеличение времени обучения и проектирования
  2. Dropout as Bagging — Dropout, в отличие от Bagging, использует одни и те же параметры модели. При мешковании каждая модель обучается на своем собственном наборе обучающих данных, тогда как при отсеве каждый ансамбль обучается только один раз на каждой итерации цикла обучения, поскольку во время обучения на каждой итерации отбрасываются разные узлы.
  3. Снижение интерпретируемости модели
  4. Выбор неправильного метода ансамбля только добавит ненужные накладные расходы.

Каскадный шаблон проектирования

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

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

Решением вышеуказанной проблемы было бы обучение трех разных моделей, а затем каскадирование их выходных данных:

  1. Модель для прогнозирования совершения транзакции торговым посредником
  2. Модель обучена продажам розничным покупателям
  3. Модель обучена продажам реселлерам

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

Выходные данные модели 1 используются для обучения моделей 2 или 3.

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

❗️Каскад не считается лучшей практикой. Это добавляет сложности и может привести к снижению производительности.

Шаблон проектирования нейтрального класса

Это включает в себя введение третьего класса (нейтрального класса) при попытке решить проблему бинарной классификации — «Да», «Нет» и «Может быть».

Примеры включают:

  1. Предоставление рекомендаций по обезболивающим
  2. Прогнозирование удовлетворенности клиентов — классификация оценок в диапазоне от 5 до 7, скажем, как нейтральных
  3. Прогнозирование цен на авиабилеты — классификация покупок у турагентов как нейтральная

Перебалансировка шаблона проектирования

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

ПРИМЕЧАНИЕ. Это не помогает в ситуациях, когда в наборе данных отсутствует представление для определенной совокупности.

❓Легче определить, несбалансирован ли набор данных для задачи классификации. Как насчет регрессии?

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

РЕШЕНИЕ

Выбор правильной метрики

Точность, полнота и F-оценка предпочтительнее точности.

Тестовый набор следует оставить нетронутым, и он должен иметь тот же баланс классов, что и исходный набор данных (без выборки).

Использование отзыва средней точности в отличие от кривой ROC при оценке модели. Почему ❓ — Это придает больший вес положительному классу, что важно для несбалансированных наборов данных, в отличие от AUC, который одинаково обрабатывает оба класса и менее чувствителен к улучшениям модели.

Понижение частоты дискретизации

Снижение частоты дискретизации мажоритарного класса и использование в сочетании со всеми примерами не мажоритарного класса также может привести к лучшим результатам.

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

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

Установите смещение для выходного слоя следующим образом:
bias = log(num_minority_examples / num_majority_examples)
Для идеально сбалансированного набора данных это окажется 0.

Повышение частоты дискретизации

Чрезмерное представление класса меньшинства путем создания новых примеров для класса меньшинства

Рефрейминг и каскадирование

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

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

Обнаружение аномалий

Подходы к работе с регрессионными моделями для несбалансированных наборов данных:

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

Комбинированные методы

Мы можем комбинировать класс большинства с понижающей дискретизацией и взвешенный класс меньшинства при решении проблем обнаружения аномалий.

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

Настройка порогов для оптимизации точности или отзыва также работает.

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

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

Для текстовых данных наилучшие результаты дадут субдискретизация и взвешенный класс.

Объяснение модели

Объяснение модели важно, чтобы помочь конечным пользователям понять факторы, влияющие на предсказание модели.

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

Общие доступные инструменты для объяснения модели включают:





Инструмент «Что, если
Визуально исследуйте поведение обученных моделей машинного обучения с минимальным кодированием. Начало работы Ключевая задача в…pair-code.github.io»





использованная литература