Вопрос или проблема
Как начинающему в MLOps, мне было трудно с некоторыми запутанными определениями.
Насколько я понимаю, когда у нас есть классификатор или регрессор с функцией y = f(X)
:
Covariate Shift
означает изменение распределения независимых переменных (X),Label Shift
означает изменение распределения зависимых переменных (y),Concept Shift
или drift концепции означает изменение взаимосвязи между X и Y (f).
Но что такое Prior Probability Shift
и Dataset Shift
? Являются ли label shift и data drift синонимами этих двух предыдущих определений?
Правильно ли я понимаю, не мог бы кто-то уточнить мне различия между этими определениями? Я думаю, это можно сделать, приведя ясный пример.
Я перефразирую из книги “Designing Machine Learning Systems by Chip Huyen”.
В задаче машинного обучения с обучением под контролем обучающая выборка может рассматриваться как набор образцов из совместного распределения P(X,Y)
, где X
— это входные данные, а Y
— это выходные данные. Мы заинтересованы в моделировании P(Y|X)
. P(X,Y)
можно разложить как P(X|Y)*P(Y)
или P(Y|X)*P(X)
. Понятие сдвига данных является общим термином, который иногда используется как синоним label shifts, covariate shifts и concept drift. Но эти сдвиги можно рассматривать как три отдельных подтипа сдвигов данных, и их определение связано с изменением параметров, таких как P(Y)
или P(X)
.
Covariate shift: Когда P(X)
изменяется, но P(Y|X)
остается прежним. Это относится к первому разложению совместного распределения, т.е. распределение входных данных изменяется, но условная вероятность выхода при заданном входе остается прежней. Например, вы пытаетесь предсказать, будет ли человек неплатежеспособным или нет. У вас есть переменная education
в вашей модели, и предположим, что люди с низким уровнем образования обычно чаще становятся неплатежеспособными. В вашем обучающем наборе данных предположим, у вас много примеров людей с более высоким уровнем образования, но в вашем наборе данных для тестирования много примеров людей с низким уровнем образования.
Label shift: Когда P(Y)
изменяется, но P(X|Y)
остается прежним. Это относится ко второму разложению совместного распределения. Это также известно как prior shift, prior probability shift или target shift. Давайте развивать тот же пример, предположим, что правительство начинает предоставлять прямые денежные трансферы всем людям, это может снизить вероятность неплатежеспособности P(Y)
для всех, однако условная вероятность P(X|Y)
, т.е. вероятность того, что человек имеет более низкое образование, при условии, что он стал неплатежеспособным, не изменилась.
Concept drift: Когда P(Y|X)
изменяется, но P(X)
остается прежним. Это относится к первому разложению совместного распределения. Это также известно как posterior shift. Например, в модели предсказания цен на жилье площадь дома является входным параметром, предположим, до Covid-19 цена дома составляет 200K, но после Covid-19 цена дома снизилась до 150K. Таким образом, даже если характеристики дома остаются прежними, условное распределение цены дома, учитывая его характеристики, изменилось.
Существуют и другие типы изменений, которые не совсем являются сдвигами данных, но тесно связаны с изменением схемы данных. Предположим, вы добавляете новую характеристику в свою модель или меняете свойства конкретной характеристики (например, ранее характеристика, как разница во времени, моделировалась в днях, а теперь — в месяцах). Еще один пример — когда вы изменяете возможные значения, которые Y
может принимать в задаче классификации (например, ранее в вашей задаче анализа настроений вы классифицировали только как POSITIVE
и NEGATIVE
, но теперь вам также нужно классифицировать как NEUTRAL
).
Надеюсь, это поможет.
Ответ или решение
Вопрос о различиях между ковариатным сдвигом (Covariate Shift), сдвигом меток (Label Shift), изменением концепции (Concept Shift), дрейфом концепции (Concept Drift) и сдвигом априорной вероятности (Prior Probability Shift) действительно может вызывать путаницу, особенно для начинающих в области MLOps. Давайте разберемся в этих понятиях более подробно, опираясь на примеры.
1. Ковариатный сдвиг (Covariate Shift)
Определение: Ковариатный сдвиг происходит, когда распределение независимых переменных (X) меняется, но условная вероятность зависимых переменных (Y) при фиксированных X остается неизменной, то есть ( P(Y|X) ) остается постоянной.
Пример: Предположим, вы строите модель, предсказывающую вероятность дефолта клиента, и одной из переменных является уровень образования. Если в обучающем наборе данных много примеров с высоким уровнем образования, но в тестовом наборе – значительно больше примеров с низким уровнем образования, то это является примером ковариатного сдвига. Распределение уровней образования изменилось, но соотношение вероятностей дефолта для каждого уровня образования осталось прежним.
2. Сдвиг меток (Label Shift)
Определение: Сдвиг меток возникает, когда распределение зависимых переменных (Y) изменяется, но условная вероятность независимых переменных при фиксированных метках (X|Y) остается постоянной, то есть ( P(X|Y) ) не изменяется. Это также известно как сдвиг априорной вероятности или целевой сдвиг.
Пример: Допустим, правительство начинает выпускать прямые денежные трансферы для всех граждан, что уменьшает общую вероятность дефолта среди населения. Увеличивается доля людей, которые не дефолтят (изменяется ( P(Y) )), но вероятность того, что человек с низким уровнем образования новый дефолтчик, остается без изменений ( ( P(X|Y) ) остается постоянной).
3. Изменение концепции (Concept Shift / Concept Drift)
Определение: Изменение концепции происходит, когда изменяется условная вероятность зависимых переменных в зависимости от независимых (Y|X), то есть ( P(Y|X) ) изменяется, а распределение X остается неизменным.
Пример: Рассмотрим модель прогнозирования цен на жилье, где одной из переменных является площадь дома. До пандемии COVID-19 цена за квадратный метр была определенной, но после пандемии она существенно упала. Несмотря на то, что характеристики дома не изменились, условная вероятность цены жилья в зависимости от этих характеристик изменилась.
4. Сдвиг априорной вероятности (Prior Probability Shift)
Сдвиг априорной вероятности фактически является синонимом сдвига меток, поскольку он относится к изменениям в распределении ( P(Y) ) без изменения ( P(X|Y) ). Это обозначает, что вероятность разных классов в целевой переменной изменяется, но условия, при которых эти классы возникают (с учетом признаков), остаются прежними.
5. Дрейф концепции (Concept Drift)
Часто термины "изменение концепции" и "дреф концепции" используются взаимозаменяемо. Но иногда "дреф концепции" может конкретизировать ситуацию, в которой соответствие между X и Y меняется с течением времени. Например, модель, предсказывающая уровень продаж, может быть актуальна лишь в определенный период времени, и со временем может потерять свою точность, если факторы, влияющие на продажи, изменятся.
Заключение
Резюмируя, давайте подытожим основные различия:
- Ковариатный сдвиг: Изменение ( P(X) ), ( P(Y|X) ) остается прежним.
- Сдвиг меток: Изменение ( P(Y) ), ( P(X|Y) ) остается прежним.
- Изменение концепции/дреф концепции: Изменение ( P(Y|X) ), ( P(X) ) остается прежним.
Эти концепции представляют собой важные аспекты понимания, как меняется распределение данных в задачах машинного обучения. Осознание этих различий поможет лучше справляться с задачами адаптации моделей к изменяющимся условиям.