2013-04-03 9 views

risposta

34

La normalizzazione non è sempre richiesta, ma raramente fa male.

Alcuni esempi:

K-means:

K-means è "isotropo" in tutte le direzioni dello spazio e tende quindi a produrre più o meno rotonde (anziché allungata) cluster. In questa situazione, lasciare le varianze non uguali equivale a mettendo più peso sulle variabili con varianza più piccola.

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') 

enter image description here

enter image description here

(FYI: How can I detect if my dataset is clustered or unclustered (i.e. forming one single cluster)

Distributed clustering:

L'analisi comparativa mostra che i risultati del clustering distribuito dipendono dal tipo di procedura di normalizzazione.

Artificial neural network (inputs):

Se le variabili di ingresso sono combinati linearmente, come in un MLP, allora è raramente strettamente necessario standardizzare ingressi, almeno in teoria . Il motivo è che qualsiasi ridimensionamento di un vettore di input può essere annullato in modo efficace modificando i pesi e i bias corrispondenti, lasciandovi esattamente gli stessi risultati precedenti. Tuttavia, ci sono una serie di motivi pratici per cui la standardizzazione degli ingressi può rendere più veloce l'allenamento e ridurre le possibilità di rimanere bloccati nell'opzione locale . Inoltre, la riduzione del peso e la stima Bayesiana possono essere eseguite in modo più conveniente con ingressi standardizzati.

Artificial neural network (inputs/outputs)

Si deve fare nessuna di queste cose ai vostri dati? La risposta è, è dipende.

Standardizzazione variabili di ingresso o di destinazione tende a rendere il processo di formazione meglio comportato migliorando la condizione numerica (vedi ftp://ftp.sas.com/pub/neural/illcond/illcond.html) dell'ottimizzazione problema e garantire che vari valori predefiniti coinvolti nella inizializzazione e terminazione sono appropriati. La standardizzazione degli obiettivi può anche influire sulla funzione obiettivo.

La standardizzazione dei casi deve essere affrontata con cautela in quanto informazioni sugli scarti . Se questa informazione è irrilevante, la standardizzazione dei casi può essere molto utile. Se questa informazione è importante , la standardizzazione dei casi può essere disastrosa.


interessante, cambiando le unità di misura può persino portare uno per vedere una diversa struttura di clustering: Kaufman, Leonard, and Peter J. Rousseeuw.. "Finding groups in data: An introduction to cluster analysis." (2005).

In alcune applicazioni, cambiare le unità di misura può anche portare uno per visualizzare un struttura di clustering molto diversa. Ad esempio, l'età (in anni) e l'altezza (in centimetri) di quattro persone immaginarie sono date nella Tabella 3 e riportate nella Figura 3. Sembra che {A, B) e {C, 0) siano due pozzi cluster separati. D'altra parte, quando l'altezza è espressa in piedi si ottiene la Tabella 4 e la Figura 4, dove i cluster ovvi sono ora {A, C} e {B, D}. Questa partizione è completamente uguale a , poiché ciascun soggetto ha ricevuto un altro compagno . (Figura 4 sarebbe stato appiattito ancor più se fosse età stata misurata in giorni.)

Per evitare questa dipendenza sulla scelta delle unità di misura, si ha la possibilità di standardizzazione dei dati. Converte le misure originali in variabili senza unità.

enter image description here enter image description here

Kaufman et al. prosegue con alcune considerazioni interessanti (pagina 11):

Da un punto di vista filosofico, la standardizzazione in realtà non risolvere il problema. Infatti, la scelta delle unità di misura dà origine a ai pesi relativi delle variabili. Esprimere una variabile in unità più piccole porterà a un intervallo più ampio per quella variabile, che quindi avrà un grande effetto sulla struttura risultante. D'altra parte, per il standardizzare un tentativo di dare a tutte le variabili un peso uguale, in la speranza di raggiungere l'obiettività. Come tale, può essere utilizzato da un professionista che non possiede alcuna conoscenza precedente. Tuttavia, potrebbe essere che alcune variabili sono intrinsecamente più importanti di altre in un'applicazione specifica e quindi l'assegnazione dei pesi deve essere in base alla conoscenza dell'oggetto (si veda, ad esempio, Abrahamowicz, 1985). Su d'altra parte, 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) è per cercare una partizione che riduca al minimo 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 (eccetto per un'approssimazione che è limitata a due dimensioni).Pertanto, il dilemma di standardizzazione appare inevitabile al momento ei programmi descritti in questo libro lasciano la scelta all'utente.

+0

Puoi approfondire perché K-means, "lasciare le varianze disuguali equivale a mettere più peso sulle variabili con varianza più piccola"? In che modo la distanza euclidea è influenzata da variazioni ineguali in questo caso? – soufanom

+1

@soufanom Sicuro, esempio aggiunto nella risposta. –

+1

Nota che avrei potuto usare ['gscatter'] (http://www.mathworks.com/help/stats/gscatter.html) per tracciare l'esempio di k-means. –

0

la ragione è che a volte le misurazioni delle diverse variabili sono diverse per natura, quindi la variazione dei risultati viene regolata mediante normalizzazione. per esempio in un confronto di età (x) vs peso (y) per un gruppo di bambini, l'età può andare da uno a 10 e il peso può andare da 10 sterline a 100. se non normalizzi il grafico produrrà un due forme ovali lunghe molto strane alla destra del grafico poiché entrambe le scale devono essere formate da 1 a 100. normalizzando darebbe ad entrambi gli assi una scala da 1 a 100, il grafico mostrerà cluster più significativi.

Problemi correlati