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

  • Определите подходящие варианты использования для полу-контролируемого обучения
  • Определите подходящие варианты использования похожих моделей.

Сочетание обучения с учителем и обучения без учителя

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

Пример использования 1: похожие модели

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

Взгляните на следующую инфографику, которая дает визуальное представление о похожем моделировании:

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

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

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

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

Пример использования 2: полу-контролируемое обучение

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

Представьте себе следующий сценарий:

Мы пытаемся построить модель обучения с учителем, и у нас есть 100 000 наблюдений в нашем наборе данных. Однако метки чрезвычайно дороги, поэтому только 5 000 из этих 100 000 наблюдений помечены. В традиционном обучении с учителем это означает, что в практическом смысле у нас действительно есть набор данных из 5000 наблюдений, потому что мы ничего не можем сделать с 95000 немаркированных примеров - или можем?

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

Обучение с учителем обычно следует установленному шаблону:

  1. Обучите модель на помеченных данных обучения. В случае с нашим примером выше мы могли бы построить наилучшую возможную модель с нашим крошечным набором данных из 5000 помеченных примеров.
  2. Используйте обученную модель для создания псевдо-меток для немаркированных данных. Это означает, что наша обученная модель будет делать прогнозы на 95 000 немаркированных примерах. Поскольку наша обученная модель работает лучше, чем случайный случай, это означает, что наши сгенерированные псевдо-метки будут по крайней мере несколько более правильными, чем случайный случай. Мы даже можем подсчитать это, посмотрев на производительность нашей обученной модели на тестовом наборе. Например, если наша обученная модель имела точность ~ 70%, то мы можем предположить, что ~ 70% псевдо-меток будут правильными, ~ 30% будут неверными.
  3. Объедините данные с метками и данные с псевдонимами в один новый набор данных.. Это означает, что мы объединяем все наши помеченные данные из 5000 примеров с 95000 псевдо-помеченных примеров.
  4. Переобучите модель в новом наборе данных. Хотя некоторые из псевдо-помеченных данных, безусловно, будут неправильными, вполне вероятно, что правильное количество будет более полезным, и сигнал, который дают эти правильно псевдо-помеченные примеры, перевесит неправильно помеченные, что приведет к лучшей общей модели. представление.

Преимущества и недостатки обучения без учителя

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

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

Петли обратной связи и самореализующиеся пророчества

Полу-контролируемое обучение, как правило, достаточно хорошо работает во многих случаях использования и стало довольно популярным методом в области глубокого обучения, для которого требуются огромные объемы помеченных данных, получение которых часто очень дорого. Но что происходит, когда наш набор данных с самого начала очень шумный? В этом случае наши неверные псевдо-метки могут исказить модель, внося больше «шума», чем «сигнала». Частично это связано с тем, что мы можем попасть в своего рода петлю обратной связи. Подумайте о примере, когда модель сгенерировала неправильную псевдометку. Если модель, обученная только на реальных данных без псевдометок, ошиблась в этом примере, то что произойдет, если вы обучите модель на том же примере, но на этот раз предоставите псевдометку, которая «подтверждает» это неверное убеждение? Если все сделано правильно, мы можем надеяться, что сигнал, предоставляемый всеми примерами с правильными псевдонимами, будет обобщен, чтобы помочь модели исправить свои ошибки в тех, которые она ошиблась. Однако, если набор данных зашумлен, или исходная модель не была так хороша с самого начала (или и то, и другое), то вполне вероятно, что мы вводим еще больше неверной информации, чем правильной, двигая модель в неправильном направлении. .

Так как же нам убедиться, что мы не делаем этих ошибок при использовании полууправляемого подхода? Используйте удерживающий набор! Вы обязательно должны иметь тестовый набор, который модель никогда раньше не видела, чтобы проверить производительность вашей полууправляемой модели. Очевидно, убедитесь, что ваш набор тестов содержит только реальные, достоверно помеченные примеры, никакие псевдо-метки не допускаются! Кроме того, чем шумнее ваш набор данных или сложнее ваша проблема, тем больше вероятность того, что вы столкнетесь с проблемами при полу-контролируемом обучении. По возможности старайтесь структурировать свои задачи как задачи бинарной классификации, а не как мульти-категориальные, и убедитесь, что ваш набор данных настолько чистый, насколько это возможно, прежде чем пытаться выполнять полу-контролируемое обучение. Хотя это кажется рискованным, есть причина, по которой компании, которые активно занимаются глубоким обучением и исследованиями в области ИИ, такие как Google, Microsoft и Facebook, активно используют полу-контролируемое обучение - при правильном выполнении оно творит чудеса, не тратя руки и ноги. платить за маркировку!