Я думаю, что одно из основных предположений о машинном обучении или оценке параметров заключается в том, что невидимые данные поступают из того же распределения, что и обучающий набор. Однако в некоторых практических случаях распределение тестового набора будет практически отличаться от учебного набора.
Скажем, для крупномасштабной задачи мульти-классификации, которая пытается классифицировать описания продуктов примерно на 17 000 классов. Учебный набор будет иметь сильно искаженные классные приоры, так что в некоторых классах может быть много обучающих примеров, а в некоторых - только несколько. Предположим, мы получили тестовый набор с неизвестными метками классов от клиента. Мы пытаемся классифицировать каждый продукт в тестовом наборе в один из 17 000 классов, используя классификатор, обученный на обучающем наборе. Набор тестов, вероятно, имел бы искаженные распределения классов, но, вероятно, сильно отличался от таковых в обучающем наборе, поскольку они могли быть связаны с различными областями бизнеса. Если два распределения классов сильно различаются, обученный классификатор может не работать в тестовом наборе. Это кажется особенно очевидным с наивным байесовским классификатором.
Есть ли принципиальный способ обработки разницы между обучающим набором и конкретным заданным набором тестов для вероятностных классификаторов? Я слышал о том, что «трансдуктивный SVM» делает то же самое в SVM. Существуют ли похожие методы для изучения классификатора, который лучше всего работает на конкретном заданном наборе тестов? Затем мы можем переобучить классификатор для различных заданных тестовых наборов, как это разрешено в этом практическом сценарии.