2013-04-03 6 views

Antwort

34

Normalisierung ist nicht immer erforderlich, aber es tut nur selten weh.

Einige Beispiele:

K-means:

K-Means-Algorithmus wird als "isotrop" in alle Richtungen des Raumes und daher mehr oder weniger runde (eher als langgestrecktes) Cluster zu erzeugen, neigt. In dieser Situation entspricht das Variieren ungleicher Werte , was Variablen mit geringerer Varianz mehr Gewicht verleiht.

Beispiel 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:

Die vergleichende Analyse zeigt, dass die verteilten Clustering-Ergebnisse von der Art der Normalisierungsprozedur abhängen.

Artificial neural network (inputs):

Wenn die Eingangsvariablen linear kombiniert werden, wie sie in einem MLP, dann ist es nur selten unbedingt erforderliche Eingaben zu standardisieren, zumindest in Theorie. Der Grund dafür ist, dass eine Neuskalierung eines Eingangsvektors wirksam rückgängig gemacht werden kann, indem die entsprechenden Gewichte und Verzerrungen geändert werden, , wodurch Sie genau die gleichen Ausgänge erhalten wie zuvor. gibt es jedoch eine Vielzahl von praktischen Gründen, warum Standardisierung der Eingänge Training schneller machen kann und die Chancen auf stecken bleiben in lokalen Optima. Gewichtsabnahme und Bayessche Schätzung können auch bequemer mit standardisierten Eingaben vorgenommen werden.

Artificial neural network (inputs/outputs)

sollten Sie tun, alle diese Dinge auf Ihre Daten? Die Antwort ist, dass es abhängt.

Standardisieren entweder Eingang oder Zielgrößen tendiert dazu, die Ausbildung Prozess besser durch die Verbesserung der numerischen Zustand verhielt sich zu machen (siehe ftp://ftp.sas.com/pub/neural/illcond/illcond.html) der Optimierung Problem und dafür zu sorgen, dass verschiedene Standardwerte in Initialisierung und Beendigung beteiligt sind angemessen. Standardisierungsziele können auch die Zielfunktion beeinflussen.

Die Standardisierung der Fälle sollte mit Vorsicht angegangen werden, da sie Informationen verwirft. Wenn diese Information irrelevant ist, können Standardisierungsfälle sehr hilfreich sein. Wenn diese Information wichtig ist, kann die Standardisierung von Fällen katastrophal sein.


Interessanterweise können die Maßeinheiten zu ändern, selbst ein führen eine ganz andere Cluster-Struktur zu sehen: Kaufman, Leonard, and Peter J. Rousseeuw.. "Finding groups in data: An introduction to cluster analysis." (2005).

In einigen Anwendungen die Maßeinheiten zu ändern, selbst ein führen kann ein sehen sehr unterschiedliche Clusterstruktur. Zum Beispiel sind das Alter (in Jahre) und die Höhe (in Zentimetern) von vier imaginären Personen in Tabelle 3 angegeben und in 3 aufgetragen. Es scheint, dass {A, B) und {C, 0) zwei Wells sind -getrennte Cluster Wenn andererseits die Höhe in Fuß ist, erhält man Tabelle 4 und 4, wobei die offensichtlichen Cluster nun {A, C} und {B, D} sind. Diese Partition ist komplett anders als die erste, weil jedes Thema einen anderen Begleiter erhalten hat. (Abbildung 4 wäre noch mehr abgeflacht, wenn das Alter in Tagen gemessen worden wäre.)

Um diese Abhängigkeit von der Wahl der Maßeinheiten zu vermeiden, hat man die Option, die Daten zu standardisieren. Dies konvertiert die ursprünglichen Messungen in unitlose Variablen.

enter image description here enter image description here

Kaufman et al. weiter mit einigen interessanten Überlegungen (Seite 11):

Aus philosophischer Sicht Standardisierung nicht wirklich das Problem lösen. In der Tat führt die Wahl der Maßeinheiten zu relativen Gewichten der Variablen zu . Das Ausdrücken einer Variablen in kleineren Einheiten führt zu einem größeren Bereich für diese Variable, die dann einen großen Einfluss auf die resultierende Struktur haben wird . Auf der anderen Seite, durch Standardisierung versucht man, alle Variablen ein gleiches Gewicht zu geben, in die Hoffnung, Objektivität zu erreichen. Als solche kann es von einem Praktiker verwendet werden, der keine Vorkenntnisse besitzt. Es kann jedoch gut sein , dass einige Variablen an sich wichtiger sind als andere in einer speziellen Anwendung, und dann sollte die Zuweisung von Gewichten basierend auf dem Fachwissen (siehe z. B. Abrahamowicz, 1985) sein. Auf der Seite gab es andererseits Versuche, Clustering Techniken zu entwickeln, die unabhängig von der Skala der Variablen sind (Friedman und Rubin, 1967). Der Vorschlag von Hardy und Rasson (1982) lautet , nach einer Partition zu suchen, die das Gesamtvolumen der konvexen Hüllen der Cluster minimiert. Im Prinzip ist eine solche Methode in Bezug auf lineare Transformationen der Daten invariant , aber leider kein Algorithmus existiert für seine Implementierung (mit Ausnahme einer Approximation, die auf zwei Dimensionen beschränkt ist).Daher erscheint das Dilemma der Standardisierung zur Zeit unvermeidlich und die Programme, die in diesem Buch beschrieben sind, überlassen die Wahl dem Benutzer.

+0

Können Sie mehr warum für K-bedeutet, "Varianzen ungleich zu verlassen ist gleichbedeutend mit mehr Gewicht auf Variablen mit geringerer Varianz"? Wie wird die euklidische Distanz in diesem Fall von ungleicher Varianz beeinflusst? – soufanom

+1

@soufanom Sicher, Beispiel in Antwort hinzugefügt. –

+1

Beachten Sie, dass ich ['gscatter'] (http://www.mathworks.com/help/stats/gscatter.html) verwendet haben könnte, um das Beispiel von k-means darzustellen. –

0

Der Grund dafür ist, dass manchmal die Messungen der verschiedenen Variablen unterschiedlich sind, so dass die Varianz der Ergebnisse durch Normalisierung angepasst wird. zum Beispiel in einem Alter (x) vs Gewicht (y) Vergleich für eine Reihe von Kindern, kann das Alter von eins bis 10 und das Gewicht von 10 Pfund auf 100 gehen. Wenn Sie nicht normalisieren die Grafik wird eine produzieren zwei sehr seltsame lange ovale Formen auf der rechten Seite des Diagramms, da beide Skalen von 1 bis 100 gehen müssen. Normalisierung würde beiden Achsen eine Skala von 1 bis 100 geben, damit die Grafik sinnvollere Cluster zeigt.