Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

4.9 Окружение и сдвиг распределения

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

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

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

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

4.9.1 Виды сдвига распределения

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

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

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

4.9.1.1 Сдвиг ковариат (covariate shift)

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

Рассмотрим задачу различения кошек и собак: обучающие данные включают изображения с рис. 4.9.1.

Рис. 4.9.1. Обучающие данные для различения кошек и собак

При тестировании нам нужно классифицировать изображения с рис. 4.9.2.

Рис. 4.9.2. Тестовые данные для различения кошек и собак

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

4.9.1.2 Сдвиг меток (label shift)

Сдвиг меток (label shift) описывает противоположную ситуацию по сравнению со сдвигом ковариат. Здесь предполагается, что маргинальная вероятность меток может меняться, а условное распределение классов между областями остаётся неизменным. Сдвиг меток — разумное предположение, когда мы считаем, что вызывает . Например, при предсказании болезни пациента мы можем опираться на симптомы, даже если относительная распространённость болезни со временем меняется. Сдвиг меток здесь уместен, потому что болезнь вызывает симптомы. В других случаях предположения о сдвиге меток и сдвиге ковариат могут выполняться одновременно. Например, если метки детерминированы, предположение о сдвиге ковариат выполняется, даже когда вызывает . Интересно, что в таких случаях методы, основанные на предположении о сдвиге меток, обычно оказываются предпочтительнее, поскольку они работают с объектом, который похож на метку (обычно низкоразмерный), а не на вход (обычно высокоразмерный).

4.9.1.3 Сдвиг концепции (concept shift)

Мы также можем столкнуться со сдвигом концепции (concept shift): ситуацией, когда меняется определение меток. Это звучит странно: кошка — это кошка, разве нет? Однако другие категории со временем тоже меняют значение в зависимости от контекста употребления. Диагностические критерии психических расстройств, мода, названия должностей и тому подобное — повседневные примеры сдвига концепции. Оказывается, если мы объедем Соединённые Штаты и будем менять источники данных в зависимости от географического положения, то обнаружим заметный сдвиг концепции в отношении названий «газированных напитков», как показано на рис. 4.9.3.

Рис. 4.9.3. Сдвиг концепции в названиях газированных напитков в США (карта: Alan McConchie, PopVsSoda.com, CC BY)

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

4.9.2 Примеры сдвига распределения

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

4.9.2.1 Медицинская диагностика

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

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

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

4.9.2.2 Беспилотные автомобили

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

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

4.9.2.3 Нестационарные распределения

Более тонкая ситуация возникает, когда распределение меняется медленно, а модель не обновляется достаточно часто. Это называется нестационарным распределением (nonstationary distribution). Вот несколько типичных примеров:

  • обучили модель для компьютерной рекламы, но не обновляли её достаточно часто (например, модель, обученная в 2009 году, не знает о неизвестном тогда новом устройстве iPad, которое только что вышло на рынок);
  • построили фильтр спама, который хорошо обнаруживает весь спам. Однако авторы спама стали изобретательнее и создают новые сообщения, которые не похожи ни на один спам, встречавшийся раньше;
  • построили систему рекомендации товаров, которая работала всю зиму, но продолжает рекомендовать рождественские шапки и спустя долгое время после Рождества.

4.9.2.4 Другие примеры

  • Построили детектор лиц, который хорошо работает на всех эталонных тестах, но подводит на тестовых данных: проблемные примеры — крупные планы, где лицо занимает всё изображение (в обучающем наборе таких данных не было).
  • Построили поисковую систему для рынка США и хотим развернуть её в Великобритании.
  • Обучили классификатор изображений на крупном наборе данных, в котором количество примеров каждого класса почти одинаково, например 1000 классов по 1000 изображений в каждом. Но при развёртывании в реальном мире распределение фактических меток заведомо неравномерно.

4.9.3 Коррекция сдвига распределения

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

4.9.3.1 Эмпирический и истинный риски

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

где — функция потерь, которая измеряет, насколько «плохо» предсказание при заданной метке . Статистики называют эту величину в формуле (4.9.1) эмпирическим риском. Эмпирический риск (empirical risk) аппроксимирует истинный риск (true risk) — среднюю потерю на всех обучающих данных, то есть математическое ожидание потерь по всем данным, извлечённым из истинного распределения :

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

4.9.3.2 Коррекция сдвига ковариат

Пусть для размеченных данных нам нужно оценить . Однако наблюдения взяты из некоторого исходного распределения , а не из целевого распределения . К счастью, предположение о зависимости означает, что условное распределение не меняется: . Если исходное распределение «неверно», мы можем скорректировать это, используя простое тождество при вычислении истинного риска:

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

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

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

В этом случае есть очень эффективный метод, который даёт почти такие же хорошие результаты, как и исходный: логистическая регрессия (logistic regression). Это частный случай softmax-регрессии (см. раздел 3.4) для бинарной классификации. Итак, мы обучаем классификатор различать данные, извлечённые из , и данные, извлечённые из . Если два распределения невозможно различить, значит, соответствующие примеры могли быть получены из любого из них. С другой стороны, примеры, которые хорошо различаются, должны соответственно существенно увеличивать или уменьшать свой вес.

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

Поэтому, если используем логистическую регрессию, где ( — параметризованная функция), естественным образом получаем:

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

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

  1. Сформировать обучающий набор для бинарной классификации: .
  2. Обучить бинарный классификатор с помощью логистической регрессии и получить функцию .
  3. Взвесить обучающие данные весами или, лучше, , где — константа.
  4. Обучить модель на с весами в функции (4.9.3).

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

4.9.3.3 Коррекция сдвига меток

Пусть мы решаем задачу классификации с классами. Используем те же обозначения, что и в разделе 4.9.3.2: и — исходное распределение (например, при обучении) и целевое распределение (например, при тестировании). Предположим, что распределение меток меняется со временем: , но условное распределение классов не меняется: . Если исходное распределение «неверно», можно внести поправку, используя тождество для истинного риска (4.9.2):

Здесь весовые коэффициенты соответствуют отношению правдоподобий меток

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

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

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

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

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

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

4.9.3.4 Коррекция сдвига концепции

Сдвиг концепции трудно устранить принципиальным образом. Например, если задача внезапно меняется с «различения кошек и собак» на «различение белых и чёрных животных», то остаётся лишь заново собрать метки и обучить модель с нуля. К счастью, на практике такие резкие сдвиги редки. Обычно же изменения концепции происходят медленно. Вот несколько примеров:

  • В компьютерной рекламе после выхода нового продукта старые продукты становятся менее популярными. Значит, распределение рекламы и её популярность меняются постепенно, и любой предсказатель кликов должен меняться вместе с ними;
  • Из-за износа окружающей среды линзы дорожных камер постепенно портятся, ухудшая качество изображений;
  • Новостной контент меняется постепенно (то есть появляются новые новости).

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

4.9.4 Таксономия задач обучения

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

4.9.4.1 Пакетное обучение

При пакетном обучении (batch learning) у нас есть обучающие признаки и метки , с помощью которых мы обучаем . Затем эту модель применяют к новым данным из того же распределения. Например, мы можем обучить детектор кошек на большом количестве фотографий кошек и собак. После обучения детектор становится частью системы компьютерного зрения «умной кошачьей двери», которая пропускает только кошек. Затем эта система устанавливается у заказчика дома и практически больше не обновляется.

4.9.4.2 Онлайн-обучение

Помимо «пакетного» обучения, можно обучаться «онлайн», то есть на отдельных данных по одному. Точнее, сначала мы наблюдаем , затем выдаём оценку и только после этого наблюдаем . По нашему решению мы получаем вознаграждение или штраф. Многие практические задачи относятся к этому классу. Например, нам нужно предсказать завтрашнюю цену акций, чтобы на основе прогноза совершать сделки. В конце дня мы оцениваем, принёс ли прогноз прибыль. Иначе говоря, в онлайн-обучении (online learning) действует следующий цикл: получая новые наблюдения, мы непрерывно улучшаем модель.

4.9.4.3 Многорукие бандиты

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

4.9.4.4 Управление

Во многих случаях среда «запоминает» наши действия. Не обязательно в состязательной форме, но она помнит, и её реакция зависит от предыдущих событий. Например, контроллер кофейного котла будет наблюдать разные температуры в зависимости от того, нагревали ли котёл до этого. В таких случаях популярным выбором служит алгоритм ПИД-регулятора (пропорционально-интегрально-дифференциальный). Аналогично поведение пользователя новостного сайта зависит от того, что ему показывали раньше (например, большинство новостей он читает только один раз). Многие такие алгоритмы строят модель среды, в которой их действия выглядят менее случайными. В последние годы теорию управления (например, варианты ПИД-регуляторов) также применяют для автоматической настройки гиперпараметров, чтобы получить лучшее качество декодирования и реконструкции, а также повысить разнообразие генерируемого текста и качество реконструкции изображений (Shao et al., 2020).

4.9.4.5 Обучение с подкреплением

Обучение с подкреплением (reinforcement learning) делает акцент на том, как действовать в среде, чтобы максимизировать ожидаемую выгоду. Примеры его применения — шахматы, го, нарды или StarCraft. Ещё пример — создание контроллера для беспилотного автомобиля или иная реакция на поведение других участников движения (например, попытка избежать препятствия, попытка спровоцировать аварию или попытка сотрудничать).

4.9.4.6 Учёт среды

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

4.9.5 Справедливость, ответственность и прозрачность в машинном обучении

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

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

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

Часто в процессе корректировки модели механизмы, которыми предсказания модели связаны с обучающими данными, не получают объяснения; исследователи называют это явление «неконтролируемой петлёй обратной связи». Кроме того, сначала нужно убедиться, что мы решаем правильную задачу. Например, алгоритмы предсказания сейчас играют огромную посредническую роль в распространении информации: должны ли новости, которые видит человек, определяться страницами Facebook, которые ему нравятся? Это лишь несколько из этических дилемм, с которыми можно столкнуться в карьере специалиста по машинному обучению.

Резюме

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

Упражнения

  1. Что происходит, когда мы меняем поведение поисковой системы? Что могут сделать пользователи? А рекламодатели?
  2. Реализуйте детектор сдвига ковариат. Подсказка: постройте классификатор.
  3. Реализуйте коррекцию сдвига ковариат.
  4. Что ещё, помимо сдвига распределения, влияет на то, насколько эмпирический риск близок к истинному?

Обсуждение

Литература

  • Shao, H., Yao, S., Sun, D., Zhang, A., Liu, S., Liu, D., Wang, J., & Abdelzaher, T. (2020). ControlVAE: Controllable variational autoencoder. Proceedings of the 37th International Conference on Machine Learning.