Informacje techniczne algorytm klastrowania Microsoft

W tej sekcji wyjaśniono wykonania Microsoft algorytmu klastrowanie, w tym parametry, które można używać do sterowania zachowaniem modeli klastrów.Zawiera także wskazówki dotyczące poprawy wydajności podczas tworzenia i proces klastrowanie modeli.

Aby uzyskać dodatkowe informacje dotyczące używania klastrowanie modeli, zobacz następujące tematy:

Implementacja algorytmu klastrowania Microsoft

Microsoft Algorytm klastrowanie oferuje dwie metody tworzenia klastrów i przypisywanie punktów danych do klastrów.Pierwszy, oznacza k algorytm jest metoda klastrowego dysku twardego. Oznacza to, że punkt danych może należeć tylko do jednego klastrowanie i że pojedynczego prawdopodobieństwa jest obliczana dla członkostwa każdego punktu danych w klastrze.Druga metoda Maksymalizacyjne oczekiwanie (EM) metodą jest miękkie klastrowanie metody. Oznacza to, że punkt danych zawsze należy do wielu klastrów i że prawdopodobieństwo jest obliczany dla każdej kombinacji punkt danych i klastra.

Można wybrać, który algorytm do używania przez ustawienie CLUSTERING_METHOD parametru.Domyślnie metoda dla usługi klastrowania jest skalowalna EM.

Klastrowanie EM

W wypadku klastrowania EM algorytm wielokrotnie powtarzane ulepsza modelu klastrowanie początkowego dopasowanie danych i określa prawdopodobieństwo, że punkt danych istnieje w klastrze.Algorytm kończy proces, gdy model opóźnianie dopasowanie do danych.Funkcja używana do określenia dopasowanie jest prawdopodobieństwo dziennika dane podane w modelu.

Jeśli puste klastrów są generowane podczas procesu lub członkostwa w jednej lub wielu klastrów spadnie poniżej określonego progu, klastry o niskiej populacji są reseeded na nowe punkty i ponownie algorytm EM.

Wyniki EM klastrowanie opóźnianie są metoda.Oznacza to, że każdy punkt danych należy do wszystkich klastrów, ale każde przypisanie punkt danych do klastra ma różne prawdopodobieństwa.Ponieważ metoda umożliwia klastrów do nakładania, suma elementów we wszystkich klastrach może przekroczyć całkowitej elementów w kształceniu zestaw.W model wyszukiwania wyniki, wyniki wskazujące wsparcia są dostosowane do konta tego.

Algorytm EM jest domyślny algorytm używany w programie Microsoft klastrowanie modeli.Ten algorytm jest używany jako domyślny, ponieważ oferuje wiele korzyści w porównaniu z oznacza k klastrowanie:

  • Wymaga co najwyżej jednego skanowania bazy danych.

  • Będzie działać, pomimo ograniczonego pamięci (RAM).

  • Ma możliwość korzystania z kursor progresywny.

  • Outperforms metod pobierania próbkowanie.

Implementacja firmy Microsoft oferuje dwie opcje: skalowalne i nieskalowalna EM.Domyślnie w skalowalne EM najpierw 50 000 rekordów są używane do materiału siewnego wstępne skanowania.Jeśli to się powiedzie, model używa tylko te dane.Jeśli model nie może być dopasowanie za pomocą 50 000 rekordów, dodatkowe 50 000 rekordów są odczytywane.W nieskalowalna EM całego zestawu danych jest odczytywana niezależnie od jego rozmiaru.Ta metoda może utworzyć klastry dokładniejsze, ale wymagania pamięci mogą być znaczne.Ponieważ skalowalne EM działa w lokalnym buforze, iteracja danych przebiega szybciej i algorytm sprawia, że znacznie lepsze wykorzystanie pamięci podręcznej Procesora niż nieskalowalna EM.Ponadto, jest trzy razy szybsza niż nieskalowalna EM EM skalowalne nawet wtedy, gdy wszystkie dane można dopasowanie w pamięci głównej.W większości przypadków poprawy wydajności nie prowadzi do obniżenia jakości pełny model.

Dla technicznej raport opisujący implementacji EM w Microsoft Klastrowanie algorytmu, zobacz Klastrowanie skalowanie EM (oczekiwanie maksymalizacyjne) do dużych baz danych.

K-oznacza klastrowanie

Klastrowanie oznacza k jest dobrze znane metoda przypisywania członkostwa klastra, minimalizując różnice między elementami w klastrze podczas maksymalizacja odległość między klastrami."Środki" k środki odnosi się do środek strefy widocznego klastra, który jest wybrany arbitralnie i następnie Elegancja wielokrotnie powtarzane aż prawdziwą średnią wszystkich punktów danych w klastrze, reprezentuje punkt danych."k" odnosi się do dowolnej liczby punktów, które są używane do materiału siewnego klastrowanie procesu.Algorytm oznacza k oblicza kwadrat euklidesowa odległości między rekordy danych w klastrze i wektorowe, odpowiada średniej klastra i uzyskuje zbieżności na ostateczny zestaw klastrów k, gdy tej sumy osiąga wartość minimalną.

Algorytm k oznacza przypisuje każdy punkt danych dokładnie jednego klastra i nie zezwala na niepewność w członkostwie.Członkostwo w klastrze jest wyrażana jako odległość od środek strefy widocznego.

Zazwyczaj algorytm k oznacza służy do tworzenia klastry ciągłe atrybuty, gdzie obliczania odległość do średniej jest bardzo proste.Jednakże Microsoft wykonania przystosowuje metoda oznacza k do klastra discrete atrybuty, korzystając z nimi prawdopodobieństwa.Atrybuty discrete odległość punktu danych z konkretnym klastrem jest obliczana następująco:

1 - P(data point, cluster)

Ostrzeżenie

Microsoft Algorytm klastrowanie nie ujawnia używana w komputerowym oznacza k, funkcja odległość i środki odległości są niedostępne w modelu zakończone.Jednak można użyć funkcja przewidywanie zwraca wartość, która odpowiada na odległość, w których odległość jest obliczana jako prawdopodobieństwa punkt danych należących do klastra.Aby uzyskać więcej informacji, zobacz ClusterProbability (DMX).

Algorytm k oznacza oferuje dwie metody pobierania próbkowanie zestaw danych: nieskalowalna K-oznacza, który ładuje cały zestaw danych i tworzy jeden klastrowanie przebieg lub skalowalne k oznacza, gdzie algorytm wykorzystuje pierwsze 50 000 przypadków i odczytuje więcej przypadków tylko wtedy, gdy potrzebuje więcej danych, aby osiągnąć dobre dopasowanie modelu danych.

Aktualizacje Microsoft klastrowanie algorytm programu SQL Server 2008

W domyślnej konfiguracja programu SQL Server 2008 Microsoft Klastrowanie algorytm zmieniono użyć parametru wewnętrznego, normalizacji = 1.Normalizacja jest wykonywane przy użyciu statystyk wynik z i zakłada rozkładu normalnego.Zamiarem ta zmiana domyślnego zachowania było zminimalizować efekt atrybuty, które może mieć duże wielkości i wiele wartości odstających. Jednak mogą zmieniać normalizacji wynik z klastrowanie wyniki w dystrybucji, które nie są normalne (takich jak jednolitego dystrybucje).Z tej implementacji klientom migrowanie rozwiązań z SQL Server 2005 Analysis Services 2008 zauważyć że klastrowanie modele teraz wygenerować różne wyniki.Aby zapobiec normalizacji i uzyskać jak k oznacza algorytm klastrowania w programie SQL Server 2005, można użyć parametr zestawtings okno dialogowe, aby dodać parametru niestandardowego normalizacji, i zestaw jego wartość na 0.

Ostrzeżenie

Parametr normalizacji jest wewnętrzną właściwość Microsoft klastrowania algorytmu i nie jest obsługiwana.Ogólnie rzecz biorąc Użyj normalizacja jest zalecane klastrowanie modeli poprawy wyniki modelu.

Dostosowywanie Microsoft klastrowanie algorytmu

Microsoft Algorytm klastrowania obsługuje kilka parametrów, które wpływają na zachowanie, wydajność i dokładność wyniku model wyszukiwania.

Ustawianie parametrów algorytmu

W poniższej tabela opisano parametry, których można używać z Microsoft Klastrowanie algorytmu.Parametry te wpływają na wydajność i dokładność wyniku model wyszukiwania.

  • CLUSTERING_METHOD
    Określa klastrowanie metoda używania algorytmu.Następujące klastrowanie dostępne są metody:

    Identyfikator

    Metoda

    1

    Skalowalna EM

    2

    Nieskalowalna EM

    3

    Skalowalna oznacza k

    4

    Oznacza K-skalowalne.

    Wartość domyślna to 1 (scalable EM).

  • CLUSTER_COUNT
    Określa przybliżoną liczbę klastrów, które mają zostać zbudowane przez algorytm.Jeśli przybliżoną liczbę klastrów nie może być zbudowany z danych, algorytm tworzy możliwie jak wielu klastrów.Ustawienie CLUSTER_COUNT 0 powoduje, że algorytm użyj algorytmów heurystycznych najlepiej określić liczbę klastrów do budowania.

    Wartość domyślna to 10.

  • CLUSTER_SEED
    Określa numer materiału siewnego, który wygenerować losowo klastrów dla początkowego etapu budowy modeli.

    Zmiana tego numeru, można zmienić sposób początkowe klastrów są wbudowane, a następnie porównaj modeli, które zostały utworzone przy użyciu różnych nasion.Jeśli materiał siewny jest zmieniany, ale klastry, które znajdują się nie zmieniają się znacznie, modelu można uznać za stosunkowo stabilna.

    Wartość domyślna to 0.

  • MINIMUM_SUPPORT
    Określa minimalną liczbę przypadków, które są wymagane do utworzenia klastra.Jeśli liczba przypadków w klastrze jest niższy niż ten numer, klaster jest traktowane jako puste i odrzucone.

    Jeśli użytkownik zestaw ta liczba za duża, możesz pominąć ważne klastrów.

    Ostrzeżenie

    Jeśli używasz EM domyślnym jest klastrowanie metoda niektórych klastrów może mieć wartość pomocy technicznej, która jest niższa niż określona wartość.Jest to ponieważ każdego przypadek jest wyznaczana dla członkostwa we wszystkich klastrach możliwe i dla niektórych klastrów mogą być tylko minimalne wsparcie.

    Wartość domyślna to 1.

  • MODELLING_CARDINALITY
    Określa liczbę modeli próbki, które są zbudowane podczas klastrowanie procesu.

    Zmniejszanie liczby modeli kandydat może zwiększyć wydajność na ryzyko brakuje niektórych modeli dobrą Kandydat.

    Wartość domyślna to 10.

  • STOPPING_TOLERANCE
    Określa wartość, która jest używana do określenia, kiedy osiągnięty zbieżności i algorytm jest gotowych, budowania modelu.Kiedy ogólna zmiana prawdopodobieństwa klastra jest mniejsza niż stosunek parametru STOPPING_TOLERANCE, podzielonej przez rozmiar modelu osiągnięcia zbieżności.

    Wartość domyślna to 10.

  • SAMPLE_SIZE
    Określa liczbę przypadków, które używa algorytmu w każdym, jeśli parametr CLUSTERING_METHOD jest zestaw do jednego z skalowalne klastrowanie metod.Ustawienie parametru SAMPLE_SIZE 0 spowoduje całego zestawu danych do klastra w pojedynczym przebiegu.Ładowanie całego zestawu danych w pojedynczym przebiegu może spowodować pamięć i wydajność problemy.

    Wartość domyślna to 50000.

  • MAXIMUM_INPUT_ATTRIBUTES
    Określa maksymalną liczbę wprowadzania atrybuty, które może obsłużyć algorytmu, zanim go wywołuje funkcję zaznaczania.Ustawienie wartości 0 określa, że jest maksymalna liczba atrybutów.

    Zwiększenie liczby atrybutów może znacznie zmniejszyć wydajność.

    Wartość domyślna to 255.

  • MAXIMUM_STATES
    Określa maksymalną liczbę stanów atrybut, które obsługuje algorytm.Jeśli atrybut ma więcej stanów niż maksymalna, algorytm wykorzystuje większość popularnych Państwa i ignoruje pozostałe Państwa.

    Zwiększenie liczby Państw może znacznie zmniejszyć wydajność.

    Wartość domyślna to 100.

Modelowanie flag

Algorytm obsługuje następujące flagi modelowania.Definiowanie flagi modelowania podczas tworzenia struktura wyszukiwania lub modelu górniczych.Określanie flagi modelowania jak wartości w każdym kolumna są obsługiwane podczas analizy.

Flaga modelowania

Opis

MODEL_EXISTENCE_ONLY

kolumna będą traktowane jako posiadające dwa możliwe stany: Brak i istniejących.Wartość null jest wartość Brak.

Stosuje się do model wyszukiwania kolumna.

NOT NULL

Kolumna nie może zawierać wartość null.Spowoduje błąd, jeśli usługi Analysis Services napotka null podczas szkolenia modelu.

Stosuje się do struktura wyszukiwania kolumna.

Wymagania

A klastrowanie model musi zawierać kolumna klucz i kolumna danych wejściowych.Można także zdefiniować kolumny danych wejściowych jako przewidywalne.Kolumny zestaw do Predict Only nie są używane do tworzenia klastrów.Dystrybucji tych wartości w klastrach są obliczane po klastrów są wbudowane.

Dane wejściowe i przewidywalny kolumn

Microsoft Algorytm klastrowania obsługuje określonych kolumn danych wejściowych i przewidywalny kolumn, które są wymienione w poniższej tabela.Aby uzyskać więcej informacji dotyczących typów zawartości znaczenie w model wyszukiwania, zobacz Typy zawartości (wyszukiwania danych).

Kolumna

Typy zawartości

Atrybut wejściowy

Ciągłe, cykliczne, dyskretnych, Discretized, klucz, tabeli zamówione

Przewidywalne atrybut

Ciągłe, cykliczne, dyskretnych, Discretized tabeli zamówione

Ostrzeżenie

Obsługiwane są typy zawartości Cyclical i Zamówione, ale algorytm traktuje je jako dyskretnych wartości i nie wykonuje przetwarzania specjalnego.