Technické reference k algoritmu clusteringu Microsoft

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.

Tento článek vysvětluje implementaci Microsoft Clustering Algoritmus, včetně parametrů, které můžete použít k řízení chování modelů clusteringu. Článek 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 článcích:

implementace algoritmu clusteringu Microsoft

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

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

shlukování EM

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 proces generuje prázdné clustery nebo pokud členství jednoho nebo více clusterů klesne pod danou prahovou hodnotu, algoritmus znovu provede clustery s nízkým počtem obyvatel v nových bodech a znovu spustí algoritmus EM.

Výsledky metody clusteringu EM jsou pravděpodobnostní, což 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 překrývání.

Algoritmus EM je výchozí algoritmus používaný v modelech clusteringu Microsoftu. Tento algoritmus je výchozí, protože nabízí v porovnání s clusteringem k-means následující výhody:

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

  • Funguje bez ohledu na omezenou paměť (RAM).

  • Může použít kurzor jen vpřed.

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

Implementace Microsoftu nabízí dvě možnosti: škálovatelné a neškálovatelné EM. Ve škálovatelném EM prvních 50 000 záznamů ve výchozím nastavení slouží jako základ pro počáteční kontrolu. Pokud je tento krok úspěšný, model používá pouze tato data. Pokud model nemůže použít 50 000 záznamů, algoritmus přečte dalších 50 000 záznamů.

V neškálovatelném EM algoritmus čte celou datovou sadu bez ohledu na její velikost. Tato metoda může vytvořit přesnější clustery, ale může mít významné požadavky na paměť. Protože škálovatelný EM pracuje s lokální vyrovnávací pamětí, je průchod daty rychlejší a algoritmus lépe využívá mezipaměť procesoru než neškálovatelný EM. Škálovatelná EM je třikrát rychlejší než nešilovatelná EM, i když se všechna data vejdou do hlavní paměti. Ve většině případů zlepšení výkonu nevede ke snížení kvality celého modelu.

Technickou zprávu popisující implementaci EM v algoritmu Microsoft Clustering Algorithm naleznete v tématu Škálování shlukování EM (Expectation Maximization) pro velké databáze.

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ý zvolíte libovolně, a pak iterativním způsobem zpřesní, dokud nepředstavuje skutečný průměr všech datových bodů v clusteru. „k“ označuje libovolný počet bodů, které inicializují proces shlukování. 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 vyjadřujete jako vzdálenost od centroidu.

Obvykle používáte algoritmus k-means pro vytváření clusterů spojitých atributů, kde výpočet vzdálenosti na střední hodnotu je jednoduchý. Implementace Microsoft ale přizpůsobí metodu k-means k clusteru diskrétních atributů pomocí pravděpodobností. 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 clusteringu společnosti Microsoft nezpřístupňuje funkci vzdálenosti, kterou používá při výpočtu metodou k-means, 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 provede jeden průchod shlukováním, nebo škálovatelný k-means, kdy algoritmus používá prvních 50 000 případů a další případy načítá pouze tehdy, pokud potřebuje více dat, aby dosáhl dobrého přizpůsobení modelu datům.

Aktualizace algoritmu clusteringu Microsoft v SQL Serveru 2008

V SQL Server 2008 se výchozí konfigurace algoritmu clusteringu Microsoft změnila tak, aby používala interní NORMALIZATION = 1 parametr. Algoritmus provádí normalizaci pomocí statistik skóre z a předpokládá normální rozdělení. Záměrem této výchozí změny chování je minimalizovat účinek atributů, které mají 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 jednotné distribuce. Chcete-li zabránit normalizaci a získat stejné chování jako algoritmus clusteringu K-means v SQL Server 2005, použijte dialogové okno Nastavení parametrů k přidání vlastního NORMALIZATION parametru a nastavení jeho hodnoty na 0.

Poznámka:

Parametr NORMALIZATION je interní vlastností algoritmu clusteringu Microsoft a nepodporuje se. Obecně platí, že ke zlepšení výsledků modelu použijte normalizaci v modelech clusteringu.

Přizpůsobení algoritmu clusteringu Microsoftu

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

Parametry algoritmu

Následující tabulka popisuje parametry, které můžete použít s algoritmem clusteringu Microsoft. 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é se mají sestavit algoritmem. Pokud algoritmus nedokáže sestavit přibližný počet clusterů z dat, 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, které algoritmus používá 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, jakým se vytvářejí počáteční clustery, a potom porovnat modely vytvořené pomocí různých počátečních hodnot. Pokud změníte počáteční hodnota, ale clustery, které algoritmus najde, se výrazně nezmění, můžete model 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, algoritmus považuje cluster za prázdný a zahodí ho. Pokud nastavíte příliš vysoké číslo, můžete vynechat platné clustery.

Poznámka:

Pokud použijete výchozí metodu clusteringu EM, můžou mít některé clustery hodnotu podpory, která je nižší než zadaná hodnota. Tato podmínka existuje, protože algoritmus vyhodnocuje každý případ pro jeho členství ve všech možných clusterech a u některých clusterů může existovat pouze minimální podpora.

Výchozí hodnota je 1.

MODELOVÁNÍ_KARDINALITY
Určuje počet ukázkových modelů, které algoritmus vytváří 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, kterou algoritmus používá k určení, kdy je dosaženo konvergence, a algoritmus dokončí 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, což 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 žádný 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.

Modelování vlajek

Algoritmus podporuje následující příznaky modelování. Definujte příznaky modelování při vytváření struktury 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.

Příznak modelování Description
MODEL_EXISTENCE_ONLY Sloupec má dva možné stavy: Chybějící a Existující. Hodnota null chybí.

Platí pro sloupec modelu dolování.
NESMÍ BÝT NULL Sloupec nemůže obsahovat hodnotu null. K chybě dojde v případě, že služba Analysis Services během trénování modelu narazí na hodnotu null.

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ět 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 clusteringu Microsoft podporuje 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:

Podporují se cyklické a uspořádané typy obsahu, 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)