La normalizzazione non è sempre necessaria, ma raramente fa male.
Qualche esempio:
K-significa :
Il clustering K significa "isotropico" in tutte le direzioni dello spazio e quindi tende a produrre cluster più o meno rotondi (piuttosto che allungati). In questa situazione, lasciare le varianze disuguali equivale a dare più peso alle variabili con varianza minore.
Esempio in 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: Come posso rilevare se il mio set di dati è raggruppato o non cluster (cioè formando un singolo cluster )
Clustering distribuito :
L'analisi comparativa mostra che i risultati del clustering distribuito dipendono dal tipo di procedura di normalizzazione.
Rete neurale artificiale (ingressi) :
Se le variabili di input sono combinate linearmente, come in una MLP, raramente è strettamente necessario standardizzare gli input, almeno in teoria. Il motivo è che qualsiasi ridimensionamento di un vettore di input può essere annullato efficacemente modificando i pesi e le inclinazioni corrispondenti, lasciandoti con gli stessi identici output di prima. Tuttavia, ci sono una serie di ragioni pratiche per cui la standardizzazione degli input può rendere più veloce l'allenamento e ridurre le possibilità di rimanere bloccati negli optima locali. Inoltre, la riduzione del peso e la stima bayesiana possono essere eseguite in modo più conveniente con input standardizzati.
Rete neurale artificiale (ingressi / uscite)
Dovresti fare una di queste cose ai tuoi dati? La risposta è, dipende.
La standardizzazione delle variabili di input o target tende a migliorare il comportamento del processo di formazione migliorando la condizione numerica (vedi
ftp://ftp.sas.com/pub/neural/illcond/illcond.html ) del problema di ottimizzazione e assicurando che vari valori predefiniti i valori coinvolti nell'inizializzazione e nella terminazione sono appropriati. La standardizzazione degli obiettivi può anche influire sulla funzione obiettivo.
La standardizzazione dei casi dovrebbe essere affrontata con cautela perché scarta le informazioni. Se tali informazioni sono irrilevanti, la standardizzazione dei casi può essere molto utile. Se tali informazioni sono importanti, la standardizzazione dei casi può essere disastrosa.
È interessante notare che la modifica delle unità di misura può persino portare a vedere una struttura di cluster molto diversa: Kaufman, Leonard e Peter J. Rousseeuw .. "Trovare gruppi nei dati: un'introduzione all'analisi dei cluster". (2005).
In alcune applicazioni, la modifica delle unità di misura può persino portare a vedere una struttura di clustering molto diversa. Ad esempio, l'età (in anni) e l'altezza (in centimetri) di quattro persone immaginarie sono riportate nella Tabella 3 e riportate nella Figura 3. Sembra che {A, B) e {C, 0) siano due cluster ben separati . D'altra parte, quando l'altezza è espressa in piedi si ottiene la Tabella 4 e la Figura 4, dove i cluster evidenti sono ora {A, C} e {B, D}. Questa partizione è completamente diversa dalla prima perché ogni soggetto ha ricevuto un altro compagno. (La figura 4 sarebbe stata appiattita ancora di più se l'età fosse stata misurata in giorni).
Per evitare questa dipendenza dalla scelta delle unità di misura, si ha la possibilità di standardizzare i dati. Questo converte le misure originali in variabili senza unità.
Kaufman et al. continua con alcune considerazioni interessanti (pagina 11):
Da un punto di vista filosofico, la standardizzazione non risolve davvero il problema. In effetti, la scelta delle unità di misura genera pesi relativi delle variabili. Esprimere una variabile in unità più piccole porterà a un intervallo più ampio per quella variabile, che avrà quindi un grande effetto sulla struttura risultante. D'altra parte, standardizzando si tenta di dare a tutte le variabili un peso uguale, nella speranza di raggiungere l'obiettività. Come tale, può essere utilizzato da un professionista che non possiede alcuna conoscenza precedente. Tuttavia, può darsi che alcune variabili siano intrinsecamente più importanti di altre in una particolare applicazione, e quindi l'assegnazione dei pesi dovrebbe essere basata sulla conoscenza della materia (vedi, ad esempio, Abrahamowicz, 1985). D'altro canto, ci sono stati tentativi di escogitare tecniche di clustering indipendenti dalla scala delle variabili (Friedman e Rubin, 1967). La proposta di Hardy e Rasson (1982) è quella di cercare una partizione che minimizzi il volume totale degli scafi convessi dei cluster. In linea di principio, tale metodo è invariante rispetto alle trasformazioni lineari dei dati, ma sfortunatamente non esiste alcun algoritmo per la sua implementazione (tranne un'approssimazione limitata a due dimensioni). Pertanto, il dilemma della standardizzazione appare attualmente inevitabile e i programmi descritti in questo libro lasciano la scelta all'utente. La proposta di Hardy e Rasson (1982) è quella di cercare una partizione che minimizzi il volume totale degli scafi convessi dei cluster. In linea di principio, tale metodo è invariante rispetto alle trasformazioni lineari dei dati, ma sfortunatamente non esiste alcun algoritmo per la sua implementazione (tranne un'approssimazione limitata a due dimensioni). Pertanto, il dilemma della standardizzazione appare attualmente inevitabile e i programmi descritti in questo libro lasciano la scelta all'utente. La proposta di Hardy e Rasson (1982) è quella di cercare una partizione che minimizzi il volume totale degli scafi convessi dei cluster. In linea di principio, tale metodo è invariante rispetto alle trasformazioni lineari dei dati, ma sfortunatamente non esiste alcun algoritmo per la sua implementazione (tranne un'approssimazione limitata a due dimensioni). Pertanto, il dilemma della standardizzazione appare attualmente inevitabile e i programmi descritti in questo libro lasciano la scelta all'utente.