ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.11.2023
Просмотров: 128
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Обратите внимание, что для любого такого подхода нам нужны выборки, взятые из обоих распределений - «истинного» p, например, путем доступа к тестовым данным, и того, который используется для генерации обучающего набора q (последний доступен тривиально). Однако обратите внимание, что нам нужны только функции x ∼ p (x); нам не нужно обращаться к меткам y ∼ p (y).
В этом случае существует очень эффективный подход, который даст почти такие же хорошие результаты, как и исходный: логистическая регрессия, которая является частным случаем регрессии softmax для двоичной классификации.
Это все, что нужно для вычисления оценочных отношений вероятности. Мы изучаем классификатор, чтобы различать данные, полученные из p (x), и данные, полученные из q (x). Если невозможно различить два распределения, это означает, что связанные экземпляры с равной вероятностью происходят из любого из двух распределений. С другой стороны, любые примеры, которые могут быть хорошо различимы, должны быть соответственно значительно переоценены или недооценены. Для простоты предположим, что у нас есть равное количество экземпляров из обоих распределений p (x) и q (x) соответственно. Теперь обозначьте z метки, которые равны 1 для данных, взятых из p, и -1 для данных, взятых из q. Тогда вероятность в смешанном наборе данных определяется выражением
Р (z = 1 | х) = р (х)/(р (х) + q (х)) и, следовательно,
P (z = 1 | x)/Р (z = -1 | х) = р (х)/q (х), (5.9.6)
Таким образом, если мы используем подход логистической регрессии, где P(z = 1 | x) = 1/(1 + exp (−h (x))) (h - параметризованная функция), отсюда следует, что
βi = 1 / (1 + ехр (−h (xi)))/(ехр (−h (xi)) / (1 + ехр (−h (xi))))
= ехр (h (xi)). (5.9.7)
В результате нам нужно решить две проблемы: первую, чтобы различать данные, полученные из обоих распределений, а затем задачу минимизации взвешенного эмпирического риска в (5.9.5), где мы взвешиваем слагаемые βi.
Теперь мы готовы описать алгоритм коррекции. Предположим, что у нас есть обучающий набор {(x1, y1),. , , , (xn, yn)} и немаркированный тестовый набор {u1,. , , , um}. Для ковариантного сдвига мы предполагаем, что xi для всех 1 ≤ i ≤ n взяты из некоторого исходного распределения, а ui для всех 1 ≤ i ≤ m взяты из целевого распределения. Вот прототипный алгоритм исправления ковариантного сдвига:
-
Сгенерируйте обучающий набор бинарной классификации: {(x1, −1),..., (xn, −1), (u1, 1),…, (um, 1)}. -
Обучите бинарный классификатор с помощью логистической регрессии, чтобы получить функцию h. -
Взвесьте тренировочные данные, используя βi = exp (h (xi)) или лучше βi = min (exp (h (xi)), c) для некоторой константы c. -
Используйте веса βi для тренировки на {(x1, y1), …, (xn, yn)} в (5.9.5).
Обратите внимание, что приведенный выше алгоритм основан на важном предположении. Чтобы эта схема работала, нам нужно, чтобы каждая точка данных в целевом распределении (например, время тестирования) имела ненулевую вероятность появления во время обучения. Если мы найдем точку, где p (x)> 0, но q (x) = 0, то соответствующий вес важности должен быть бесконечным.
Предположим, что мы имеем дело с задачей классификации с k категориями. Используя те же обозначения в разделе 5.9.3, q и p - это исходное распределение (например, время обучения) и целевое распределение (например, время теста) соответственно. Предположим, что распределение меток меняется со временем: q (y) ̸ = p (y), но условное распределение классов остается неизменным: q (x | y) = p (x | y). Если исходное распределение q (y) является «неправильным», мы можем исправить это в соответствии со следующим тождеством истинного риска, как определено в (5.9.2):
∫ ∫ l (f (x), y) p (x | y) p (y) dxdy
= ∫ ∫ l (f (x), y) q (x | y) q (y)р (у)/q (у) dхdу. (5.9.8)
Здесь наши веса важности будут соответствовать отношениям правдоподобия ярлыков.
βi def = р (у)/d (у), (5.9.9)
Хорошая особенность смещения меток заключается в том, что если у нас есть достаточно хорошая модель распределения источников, то мы можем получить согласованные оценки этих весов, даже не имея дело с окружающим измерением. При глубоком обучении входными данными обычно являются объекты большой размерности, такие как изображения, в то время как метки часто представляют собой более простые объекты, такие как категории.
Чтобы оценить целевое распределение меток, мы сначала берем наш достаточно хороший стандартный классификатор (обычно обученный на обучающих данных) и вычисляем его матрицу неточностей, используя набор проверки (также из обучающего распределения). Матрица неточности C - это просто матрица размера k × k, где каждый столбец соответствует категории метки (основная истина), а каждая строка соответствует категории, предсказанной нашей моделью. Значение cij каждой ячейки - это доля от общего числа прогнозов на проверочном наборе, где истинная метка была j, а наша модель предсказала i.
Теперь мы не можем вычислить матрицу путаницы для целевых данных напрямую, потому что мы не можем видеть метки для примеров, которые мы видим в дикой природе, если мы не инвестируем в сложный конвейер аннотаций в реальном времени. Однако мы можем усреднить все прогнозы наших моделей во время тестирования вместе, давая средние выходные данные модели µ (yˆ) ∈ R
k, i-й элемент которого µ (ˆyi) представляет собой долю от общего числа прогнозов на тестовом наборе, где наша модель предсказывала i. Оказывается, что при некоторых мягких условиях - если наш классификатор с самого начала был достаточно точным, и если целевые данные содержат только категории, которые мы видели раньше, и если предположение о сдвиге метки выполняется в первую очередь (самое сильное предположение здесь ), то мы можем оценить распределение меток тестового набора, решив простую линейную систему
Cp (y) = µ (yˆ), (5.9.10)
поскольку в качестве оценки ∑kj = 1 cijp (yj) = µ (ˆyi) выполняется для всех 1 ≤ i ≤ k, где p (yj) - j-й элемент k-мерного вектора распределения меток p (y). Если наш классификатор для начала достаточно точен, тогда матрица неточностей C будет обратимой, и мы получим решение p (y) = C− 1µ (yˆ).
Поскольку мы наблюдаем метки на исходных данных, легко оценить распределение q (y). Затем для любого обучающего примера i с меткой yi мы можем взять отношение нашего оцененного p (yi) / q (yi), чтобы вычислить вес βi, и вставить его в взвешенную минимизацию эмпирического риска в (5.9.5).
Концептуальная коррекция сдвига
Сдвиг концепций гораздо сложнее исправить принципиальным образом. Например, в ситуации, когда проблема внезапно меняется с отличия кошек от собак на проблему отличия белых от черных животных, будет неразумно предполагать, что мы можем добиться большего, чем просто собирать новые ярлыки и обучать с нуля. К счастью, на практике такие экстремальные сдвиги редки. Вместо этого обычно происходит то, что задача продолжает медленно меняться. Чтобы сделать вещи более конкретными, вот несколько примеров:
-
В компьютерной рекламе запускаются новые продукты, старые становятся менее популярными. Это означает, что распределение объявлений и их популярность постепенно меняются, и любой прогнозирующий показатель CTR должен постепенно меняться вместе с ним. -
Объективы дорожных камер постепенно изнашиваются из-за износа окружающей среды, что постепенно влияет на качество изображения. -
Содержание новостей меняется постепенно (т.е. большинство новостей остается без изменений, но появляются новые статьи).
В таких случаях мы можем использовать тот же подход, который мы использовали для обучения сетей, чтобы заставить их адаптироваться к изменению данных. Другими словами, мы используем существующие веса сети и просто выполняем несколько шагов обновления с новыми данными, а не обучаем с нуля.
-
Таксономия проблем обучения
Вооружившись знаниями о том, как поступать с изменениями в дистрибутивах, мы теперь можем рассмотреть некоторые другие аспекты постановки задач машинного обучения.
Пакетное обучение
При пакетном обучении у нас есть доступ к функциям обучения и меткам {(x1, y1),. , , , (xn, yn)}, который мы используем для обучения модели f (x). Позже мы используем эту модель для оценки новых данных (x, y), взятых из того же распределения. Это предположение по умолчанию для любой из обсуждаемых здесь проблем. Например, мы можем обучить детектор кошек на основе большого количества изображений кошек и собак. После обучения мы отправляем его как часть интеллектуальной системы компьютерного зрения с дверью для кошек, которая пропускает только кошек. Затем она устанавливается в доме клиента и больше никогда не обновляется (за исключением чрезвычайных обстоятельств).
Онлайн обучение
Теперь представьте, что данные (xi, yi) поступают по одной выборке за раз. Более конкретно, предположим, что мы сначала наблюдаем xi, затем нам нужно прийти к оценке f (xi), и только после того, как мы это сделаем, мы наблюдаем yi, и с его помощью мы получаем вознаграждение или несем убытки, учитывая наше решение. В эту категорию попадают многие реальные проблемы. Например, нам нужно спрогнозировать цену акций на завтра, это позволяет нам торговать на основе этой оценки, и в конце дня мы выясняем, позволила ли наша оценка нам получить прибыль. Другими словами, в онлайн-обучении у нас есть следующий цикл, в котором мы постоянно улучшаем нашу модель с учетом новых наблюдений.
модель ft - → данные xt - → оценка ft (xt) - → наблюдение yt –
→ потеря l (yt, ft (xt)) - → модель ft + 1 (5.9.11)
Бандиты
Бандиты - частный случай проблемы, описанной выше. Хотя в большинстве задач обучения у нас есть непрерывно параметризованная функция f, где мы хотим узнать ее параметры (например, глубокая сеть), в проблеме бандитов у нас есть только конечное количество рук, которые мы можем тянуть, то есть конечное количество действий, которые мы можем предпринять. Неудивительно, что для этой более простой задачи могут быть получены более сильные теоретические гарантии оптимальности. Мы перечисляем это в основном потому, что с этой проблемой часто (что сбивает с толку) трактуют, как если бы это была отдельная обучающая среда.
Контроль
Во многих случаях окружение помнит то, что мы сделали. Не обязательно враждебно, но он просто запомнит, и ответ будет зависеть от того, что произошло раньше. Например, контроллер кофейного бойлера будет наблюдать разные температуры в зависимости от того, нагревал ли он бойлер ранее. Здесь популярны алгоритмы PID -регулятора (пропорционально-интегрально-производная). Здесь популярны алгоритмы PID -регулятора (пропорционально-интегрально-производная). Точно так же поведение пользователя на новостном сайте будет зависеть от того, что мы ему показали ранее (например, большую часть новостей он прочитает только один раз). Многие такие алгоритмы образуют модель среды, в которой они действуют, чтобы их решения казались менее случайными. В последнее время теория управления (например, варианты PID) также использовалась для автоматической настройки гиперпараметров для достижения лучшего качества распутывания и реконструкции, а также улучшения разнообразия сгенерированного текста и качества реконструкции сгенерированных изображений (Shao et al., 2020).
Обучение с подкреплением
В более общем случае среды с памятью мы можем столкнуться с ситуациями, когда среда пытается сотрудничать с нами (совместные игры, в частности, для игр с ненулевой суммой), или с другими ситуациями, когда среда будет пытаться победить. Шахматы, Gо, нарды или StarCraft - вот некоторые из примеров обучения с подкреплением. Точно так же мы могли бы создать хороший контроллер для автономных автомобилей. Другие автомобили, вероятно, будут реагировать на стиль вождения автономного автомобиля нетривиальным образом, например, пытаясь избежать его, пытаясь вызвать аварию и пытаясь сотрудничать с ним.
Учет окружающей среды
Другая вышеупомянутая ситуация заключается в том, что та же самая стратегия, которая могла бы работать повсюду в случае стационарной среды, может не работать повсюду, когда среда может адаптироваться. Например, возможность арбитража, открытая трейдером, скорее всего, исчезнет, как только он начнет ею пользоваться. Скорость и способ изменения среды в значительной степени определяют тип алгоритмов, которые мы можем применить. Например, если мы знаем, что вещи могут меняться только медленно