A normalização nem sempre é necessária, mas raramente dói.
Alguns exemplos:
K-significa :
O agrupamento K-significa é "isotrópico" em todas as direções do espaço e, portanto, tende a produzir agrupamentos mais ou menos redondos (em vez de alongados). Nessa situação, deixar as variações desiguais equivale a colocar mais peso nas variáveis com menor variação.
Exemplo no Matlab:
X = [randn(100,2)+ones(100,2);...
randn(100,2)-ones(100,2)];
% Introduce denormalization
% X(:, 2) = X(:, 2) * 1000 + 500;
opts = statset('Display','final');
[idx,ctrs] = kmeans(X,2,...
'Distance','city',...
'Replicates',5,...
'Options',opts);
plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)
hold on
plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12)
plot(ctrs(:,1),ctrs(:,2),'kx',...
'MarkerSize',12,'LineWidth',2)
plot(ctrs(:,1),ctrs(:,2),'ko',...
'MarkerSize',12,'LineWidth',2)
legend('Cluster 1','Cluster 2','Centroids',...
'Location','NW')
title('K-means with normalization')
(FYI: Como posso detectar se meu conjunto de dados está em cluster ou não em cluster (por exemplo, formando um único cluster )
Armazenamento em cluster distribuído :
A análise comparativa mostra que os resultados do armazenamento em cluster distribuído dependem do tipo de procedimento de normalização.
Rede neural artificial (entradas) :
Se as variáveis de entrada são combinadas linearmente, como em um MLP, raramente é estritamente necessário padronizar as entradas, pelo menos em teoria. O motivo é que qualquer redimensionamento de um vetor de entrada pode ser efetivamente desfeito, alterando os pesos e desvios correspondentes, deixando as mesmas saídas exatas que você tinha antes. No entanto, existem várias razões práticas pelas quais a padronização das entradas pode tornar o treinamento mais rápido e reduzir as chances de ficar preso nas ótimas localidades. Além disso, a redução de peso e a estimativa bayesiana podem ser feitas de maneira mais conveniente com entradas padronizadas.
Rede neural artificial (entradas / saídas)
Você deve fazer alguma dessas coisas nos seus dados? A resposta é: depende.
A padronização de variáveis de entrada ou de destino tende a tornar o processo de treinamento melhor, melhorando a condição numérica (consulte
ftp://ftp.sas.com/pub/neural/illcond/illcond.html ) do problema de otimização e garantindo que vários padrões valores envolvidos na inicialização e finalização são apropriados. A padronização de metas também pode afetar a função objetivo.
A padronização dos casos deve ser abordada com cautela, pois descarta informações. Se essa informação é irrelevante, a padronização de casos pode ser bastante útil. Se essa informação é importante, a padronização de casos pode ser desastrosa.
Curiosamente, alterar as unidades de medida pode até levar a uma estrutura de agrupamento muito diferente: Kaufman, Leonard e Peter J. Rousseeuw .. "Encontrar grupos em dados: uma introdução à análise de agrupamentos". (2005).
Em algumas aplicações, alterar as unidades de medida pode até levar a uma estrutura de cluster muito diferente. Por exemplo, a idade (em anos) e a altura (em centímetros) de quatro pessoas imaginárias são dadas na Tabela 3 e plotadas na Figura 3. Parece que {A, B) e {C, 0) são dois grupos bem separados . Por outro lado, quando a altura é expressa em pés, obtém-se a Tabela 4 e a Figura 4, onde os aglomerados óbvios são agora {A, C} e {B, D}. Essa partição é completamente diferente da primeira, porque cada sujeito recebeu outro companheiro. (A Figura 4 teria sido achatada ainda mais se a idade tivesse sido medida em dias.)
Para evitar essa dependência na escolha das unidades de medida, é possível padronizar os dados. Isso converte as medidas originais em variáveis sem unidade.
Kaufman et al. continua com algumas considerações interessantes (página 11):
Do ponto de vista filosófico, a padronização não resolve realmente o problema. De fato, a escolha das unidades de medida gera pesos relativos das variáveis. Expressar uma variável em unidades menores levará a um intervalo maior para essa variável, o que terá um grande efeito na estrutura resultante. Por outro lado, ao padronizar, tenta-se dar a todas as variáveis um peso igual, na esperança de alcançar objetividade. Como tal, pode ser usado por um profissional que não possui conhecimento prévio. No entanto, pode muito bem ser que algumas variáveis sejam intrinsecamente mais importantes que outras em uma aplicação específica, e então a atribuição de pesos deve ser baseada no conhecimento do assunto (ver, por exemplo, Abrahamowicz, 1985). Por outro lado, houve tentativas de criar técnicas de agrupamento independentes da escala das variáveis (Friedman e Rubin, 1967). A proposta de Hardy e Rasson (1982) é buscar uma partição que minimize o volume total dos cascos convexos dos clusters. Em princípio, esse método é invariável em relação às transformações lineares dos dados, mas infelizmente não existe algoritmo para sua implementação (exceto por uma aproximação restrita a duas dimensões). Portanto, o dilema da padronização parece inevitável no momento e os programas descritos neste livro deixam a escolha para o usuário. A proposta de Hardy e Rasson (1982) é buscar uma partição que minimize o volume total dos cascos convexos dos clusters. Em princípio, esse método é invariável em relação às transformações lineares dos dados, mas infelizmente não existe algoritmo para sua implementação (exceto por uma aproximação restrita a duas dimensões). Portanto, o dilema da padronização parece inevitável no momento e os programas descritos neste livro deixam a escolha para o usuário. A proposta de Hardy e Rasson (1982) é buscar uma partição que minimize o volume total dos cascos convexos dos clusters. Em princípio, esse método é invariável em relação às transformações lineares dos dados, mas infelizmente não existe algoritmo para sua implementação (exceto por uma aproximação restrita a duas dimensões). Portanto, o dilema da padronização parece inevitável no momento e os programas descritos neste livro deixam a escolha para o usuário.