Penso que uma suposição básica de aprendizado de máquina ou estimativa de parâmetros é que os dados invisíveis vêm da mesma distribuição que o conjunto de treinamento. No entanto, em alguns casos práticos, a distribuição do conjunto de testes será quase diferente do conjunto de treinamento.
Digamos um problema de classificação múltipla em larga escala que tenta classificar as descrições de produtos em cerca de 17.000 classes. O conjunto de treinamento terá prévias de classe altamente distorcidas, de modo que algumas turmas possam ter muitos exemplos de treinamento, mas algumas poderão ter apenas alguns. Suponha que recebamos um conjunto de testes com rótulos de classe desconhecidos de um cliente. Tentamos classificar cada produto no conjunto de testes em uma das 17.000 classes, usando o classificador treinado no conjunto de treinamento. O conjunto de testes provavelmente teria distribuições de classes distorcidas, mas provavelmente muito diferentes das do conjunto de treinamento, pois elas podem estar relacionadas a diferentes áreas de negócios. Se as duas distribuições de classe forem muito diferentes, o classificador treinado pode não funcionar bem no conjunto de testes. Isso parece especialmente óbvio com o classificador Naive Bayes.
Existe alguma maneira baseada em princípios para lidar com a diferença entre o conjunto de treinamento e um determinado conjunto de testes para classificadores probabilísticos? Eu ouvi falar que o "SVM transdutivo" faz algo semelhante no SVM. Existem técnicas semelhantes para aprender um classificador com melhor desempenho em um determinado conjunto de testes? Em seguida, podemos treinar novamente o classificador para diferentes conjuntos de testes, conforme permitido neste cenário prático.