Suponha que você tenha dois conjuntos de dados D1 e D2. Ambos são amostrados da mesma distribuição subjacente X. Quero usá-los para treinar uma rede neural. Os recursos são todos os números inteiros não assinados no intervalo [0; 2 ^ 64].
Devido ao fato de os recursos estarem em escalas muito diferentes, decidi usar a normalização do escore z em conjunto com uma função sigmóide. Isso significa que eu alimento os dados normalizados do z-score para a função logística para mapear os recursos para o [0; 1] intervalo.
Neste ponto, não tenho certeza em qual ponto normalizar os dados.
1.) Eu uso D1 e normalizo com mean_1 e std_dev_1, que são obtidos considerando apenas D1. Repito o processo para D2 e normalizo usando mean_2 e std_dev_2. Depois, treino a rede com os dois conjuntos de dados sequencialmente.
2.) Eu adiciono D1 e D2 para obter um conjunto D3 e normalizo-o calculando mean_3 e std_dev_3 em todo o conjunto de dados (D1 + D2). Então eu treino a rede com ele.
2 perguntas aqui:
a) Os dois métodos levam a resultados semelhantes? É especialmente importante para mim, pois o D2 pode se tornar disponível mais tarde que o D1 e preciso saber se devo treinar novamente a rede com todo o conjunto de dados.
b) Ao fazer inferência com a rede treinada, quais parâmetros devo usar para normalizar as novas entradas? Então eu tenho que usar mean_3 e std_dev_3 por exemplo?
EDIT: Descobri que a média e o desvio padrão da combinação dos dois conjuntos de dados podem ser calculados a partir da média e do desvio padrão dos originais. Isso significa (em teoria) que eles poderiam ser treinados sequencialmente e seus parâmetros de distribuição poderiam ser combinados para normatizar as entradas para inferência.