Technické informace o algoritmech clusteringu Microsoftu

Platí pro: SQL Server 2019 a starší služby Analysis Services Azure Analysis Services Fabric/ Power BI Premium

Důležité

Dolování dat bylo v SQL Serveru 2017 Analysis Services zastaralé a nyní ukončeno ve službě SQL Server 2022 Analysis Services. Dokumentace se neaktualizuje pro zastaralé a ukončené funkce. Další informace najdete v tématu Zpětná kompatibilita služby Analysis Services.

Tato část vysvětluje implementaci algoritmu clusteringu Microsoftu, včetně parametrů, které můžete použít k řízení chování modelů clusteringu. Obsahuje také pokyny ke zlepšení výkonu při vytváření a zpracování modelů clusteringu.

Další informace o používání modelů clusteringu najdete v následujících tématech:

Implementace algoritmu clusteringu Microsoftu

Algoritmus Microsoft Clustering poskytuje dvě metody pro vytváření clusterů a přiřazování datových bodů ke clusterům. První algoritmus K-means je tvrdá metoda clusteringu. To znamená, že datový bod může patřit pouze do jednoho clusteru a že se vypočítá jedna pravděpodobnost členství každého datového bodu v tomto clusteru. Druhá metoda, metoda Expectation Maximization (EM), je soft clusteringová metoda. To znamená, že datový bod vždy patří do více clusterů a že pravděpodobnost se počítá pro každou kombinaci datového bodu a clusteru.

Můžete zvolit, který algoritmus se má použít, nastavením parametru CLUSTERING_METHOD . Výchozí metoda clusteringu je škálovatelná EM.

EM shlukování

V clusteringu EM algoritmus iterativním způsobem zpřesňuje počáteční model clusteru tak, aby odpovídal datům, a určuje pravděpodobnost, že v clusteru existuje datový bod. Algoritmus proces ukončí, když pravděpodobnostní model odpovídá datům. Funkce, která slouží k určení shody, je pravděpodobnost, že data daná modelem odpovídají protokolům.

Pokud se během procesu vygenerují prázdné clustery nebo pokud členství jednoho nebo více clusterů klesne pod danou prahovou hodnotu, clustery s nízkým počtem obyvatel se znovu zpracují v nových bodech a algoritmus EM se znovu spustí.

Výsledky metody clusteringu EM jsou pravděpodobnostní. To znamená, že každý datový bod patří do všech clusterů, ale každé přiřazení datového bodu ke clusteru má jinou pravděpodobnost. Vzhledem k tomu, že metoda umožňuje, aby se clustery překrývaly, může součet položek ve všech clusterech překročit celkový počet položek v trénovací sadě. Ve výsledcích modelu dolování jsou skóre označující podporu upravena tak, aby odpovídala tomuto.

Algoritmus EM je výchozí algoritmus používaný v modelech clusteringu Microsoftu. Tento algoritmus se používá jako výchozí, protože nabízí oproti clusteringu k-means více výhod:

  • Vyžaduje maximálně jednu kontrolu databáze.

  • Bude fungovat i přes omezenou paměť (RAM).

  • Má možnost používat kurzor jen pro dopředu.

  • Překonává metody vzorkování.

Implementace Microsoftu nabízí dvě možnosti: škálovatelné a neškálovatelné EM. Ve výchozím nastavení se ve škálovatelném EM použije prvních 50 000 záznamů k počáteční kontrole. Pokud je to úspěšné, model tato data používá pouze. Pokud model nemůže použít 50 000 záznamů, přečte se dalších 50 000 záznamů. V neškálovatelné EM se celý datový soubor čte bez ohledu na jeho velikost. Tato metoda může vytvořit přesnější clustery, ale požadavky na paměť mohou být významné. Vzhledem k tomu, že škálovatelný EM pracuje s místní vyrovnávací pamětí, iterace přes data je mnohem rychlejší a algoritmus mnohem lépe využívá mezipaměť procesoru než neškálovatelný EM. Kromě toho je škálovatelný EM třikrát rychlejší než neškálovatelný EM, i když se všechna data mohou vejít do hlavní paměti. Ve většině případů zlepšení výkonu nevede ke snížení kvality celkového modelu.

Pro podrobný technický přehled o implementaci EM v algoritmu Microsoft Clustering viz též Škálování EM (Expectation Maximization) clusteringu do velkých databází.

Clustering K-Means

Clustering K-means je dobře známá metoda přiřazování členství v clusteru tím, že minimalizuje rozdíly mezi položkami v clusteru a současně maximalizuje vzdálenost mezi clustery. "means" v k-means odkazuje na centroid clusteru, což je datový bod, který je vybrán náhodně, a pak iterativním způsobem upřesňován, dokud nepředstavuje skutečný průměr všech datových bodů v clusteru. "k" odkazuje na libovolný počet bodů, které se používají k počátečnímu procesu clusteringu. Algoritmus k-means vypočítá čtvercové euklidové vzdálenosti mezi datovými záznamy v clusteru a vektorem, který představuje průměr clusteru, a konverguje na konečné množině k clusterů, když tento součet dosáhne minimální hodnoty.

Algoritmus k-means přiřazuje každý datový bod přesně jednomu clusteru a neumožňuje nejistotu ve členství. Členství v clusteru se vyjadřuje jako vzdálenost od centroidu.

Algoritmus k-means se obvykle používá k vytváření shluků spojitých atributů, kdy výpočet vzdálenosti ke střední hodnotě je jednoduchý. Implementace Microsoftu ale pomocí pravděpodobností přizpůsobí metodu k-means diskrétním atributům clusteru. U diskrétních atributů se vzdálenost datového bodu od konkrétního clusteru vypočítá následujícím způsobem:

1 – P(datový bod, cluster)

Poznámka:

Algoritmus Microsoft Clustering neodhaluje funkci vzdálenosti používanou ve výpočtech k-průměrů a míry vzdálenosti nejsou v dokončeném modelu k dispozici. Pomocí prediktivní funkce ale můžete vrátit hodnotu odpovídající vzdálenosti, kde se vzdálenost vypočítá jako pravděpodobnost datového bodu patřícího do clusteru. Další informace naleznete v tématu ClusterProbability (DMX).

Algoritmus k-means poskytuje dvě metody vzorkování datové sady: neškálovatelné k-means, které načte celou datovou sadu a provádí jednu fázi seskupování, nebo škálovatelné k-means, kde algoritmus používá prvních 50 000 případů a čte více případů pouze tehdy, když potřebuje více dat k dosažení vhodného modelu k datům.

Aktualizace algoritmu clusteringu Microsoft v SQL Serveru 2008

V SYSTÉMU SQL Server 2008 se výchozí konfigurace algoritmu clusteringu Microsoftu změnila tak, aby používala interní parametr NORMALIZACE = 1. Normalizace se provádí pomocí statistik skóre z a předpokládá normální rozdělení. Záměrem této změny výchozího chování je minimalizovat účinek atributů, které můžou mít velké velikosti a mnoho odlehlých hodnot. Normalizace skóre z však může změnit výsledky clusteringu u distribucí, které nejsou normální (například uniformní distribuce). Chcete-li zabránit normalizaci a získat stejné chování jako algoritmus clusteringu K-means v SYSTÉMU SQL Server 2005, můžete pomocí dialogového okna Nastavení parametrů přidat vlastní parametr, NORMALIZACE a nastavit jeho hodnotu na 0.

Poznámka:

Parametr NORMALIZACE je interní vlastností algoritmu Microsoft Clustering a nepodporuje se. Obecně platí, že použití normalizace se doporučuje v modelech clusteringu ke zlepšení výsledků modelu.

Přizpůsobení algoritmu clusteringu Microsoftu

Algoritmus Microsoft Clustering podporuje několik parametrů, které ovlivňují chování, výkon a přesnost výsledného modelu dolování.

Nastavení parametrů algoritmu

Následující tabulka popisuje parametry, které lze použít s algoritmem Microsoft Clustering. Tyto parametry ovlivňují výkon i přesnost výsledného modelu dolování.

METODA SHLUKOVÁNÍ
Určuje metodu clusteringu pro algoritmus, který se má použít. K dispozici jsou následující metody clusteringu:

ID Metoda
1 Škálovatelné EM
2 Neškálovatelná EM
3 Škálovatelné K-Means
4 Neškálovatelné K-Means.

Výchozí hodnota je 1 (škálovatelná EM).

Počet klastrů
Určuje přibližný počet clusterů, které má algoritmus sestavit. Pokud z dat nelze sestavit přibližný počet clusterů, algoritmus sestaví co nejvíce clusterů. Nastavení CLUSTER_COUNT na hodnotu 0 způsobí, že algoritmus použije heuristika, aby co nejlépe určil počet clusterů, které se mají sestavit.

Výchozí hodnota je 10.

CLUSTER_SEED
Určuje počáteční číslo použité k náhodnému vygenerování clusterů pro počáteční fázi sestavení modelu.

Změnou tohoto čísla můžete změnit způsob sestavení počátečních clusterů a pak porovnat modely vytvořené pomocí různých semen. Pokud se počáteční hodnota změní, ale nalezené clustery se výrazně nezmění , model lze považovat za relativně stabilní.

Výchozí hodnota je 0.

MINIMÁLNÍ PODPORA
Určuje minimální počet případů potřebných k sestavení clusteru. Pokud je počet případů v clusteru nižší než toto číslo, považuje se cluster za prázdný a zahozený.

Pokud nastavíte příliš vysoké číslo, můžete vynechat platné clustery.

Poznámka:

Pokud používáte EM, což je výchozí metoda clusteringu, můžou mít některé clustery hodnotu podpory, která je nižší než zadaná hodnota. Důvodem je to, že každý případ je hodnocen, pokud jde o jeho přináležitost ke všem možným shlucím, a u některých shluků může být podpora pouze minimální.

Výchozí hodnota je 1.

MODELOVÁNÍ_KARDINALITY
Určuje počet vzorových modelů vytvořených během procesu clusteringu.

Snížení počtu kandidátských modelů může zvýšit výkon s rizikem chybějících některých slibných kandidátských modelů.

Výchozí hodnota je 10.

Toleranční kritérium zastavení
Určuje hodnotu, která se použije k určení, kdy je dosaženo konvergence, a algoritmus je dokončen sestavení modelu. Konvergence se dosáhne, když celková změna pravděpodobností clusteru je menší než poměr parametru STOPPING_TOLERANCE děleného velikostí modelu.

Výchozí hodnota je 10.

SAMPLE_SIZE
Určuje počet případů, které algoritmus používá při každém průchodu, pokud je parametr CLUSTERING_METHOD nastaven na jednu ze škálovatelných metod clusteringu. Nastavení parametru SAMPLE_SIZE na 0 způsobí, že celá datová sada bude clusterována v jediném průchodu. Načtení celé datové sady v jednom průchodu může způsobit problémy s pamětí a výkonem.

Výchozí hodnota je 50000.

MAXIMUM_INPUT_ATTRIBUTES
Určuje maximální počet vstupních atributů, které může algoritmus zpracovat před vyvolání výběru funkce. Nastavení této hodnoty na hodnotu 0 určuje, že neexistuje maximální počet atributů.

Zvýšení počtu atributů může výrazně snížit výkon.

Výchozí hodnota je 255.

MAXIMUM_STATES
Určuje maximální počet stavů atributů, které algoritmus podporuje. Pokud má atribut více stavů než maximum, algoritmus používá nejoblíbenější stavy a ignoruje zbývající stavy.

Zvýšení počtu stavů může výrazně snížit výkon.

Výchozí hodnota je 100.

Příznaky modelování

Algoritmus podporuje následující příznaky modelování. Příznaky modelování definujete při vytváření dolování nebo modelu dolování. Příznaky modelování určují způsob zpracování hodnot v jednotlivých sloupcích během analýzy.

Modelační příznak Description
MODEL_EXISTENCE_ONLY Sloupec bude považován za dva možné stavy: Chybí a Existující. Hodnota null chybí.

Platí pro sloupec modelu dolování.
NESMÍ BÝT NULL Sloupec nesmí obsahovat hodnotu null. Pokud služba Analysis Services během trénování modelu narazí na hodnotu null, dojde k chybě.

Platí pro sloupec struktury dolování.

Požadavky

Model clusteringu musí obsahovat klíčový sloupec a vstupní sloupce. Vstupní sloupce můžete také definovat jako předvídatelné. Sloupce nastavené na Předpověděné pouze se nepoužívají k vytváření clusterů. Distribuce těchto hodnot v clusterech se vypočítá po sestavení clusterů.

Vstupní a předvídatelné sloupce

Algoritmus Microsoft Clustering podporuje konkrétní vstupní sloupce a předvídatelné sloupce uvedené v následující tabulce. Další informace o tom, co typy obsahu znamenají při použití v modelu dolování, naleznete v tématu Typy obsahu (Dolování dat).

Sloupec Typy obsahu
Vstupní atribut Kontinuální, Cyklické, Diskrétní, Diskretizované, Klíč, Tabulka, Uspořádané
Předvídatelný atribut Kontinuální, Cyklické, Diskrétní, Diskretizované, Tabulka, Uspořádané

Poznámka:

Cyklické a seřazené typy obsahu jsou podporovány, ale algoritmus je považuje za diskrétní hodnoty a neprovádí speciální zpracování.

Viz také

Algoritmus clusteringu Microsoftu
Příklady dotazů modelu clusteringu
Obsah modelu dolování pro clusteringové modely (Analysis Services – Dolování dat)