The k-znamená shlukovací algoritmus je nástroj pro dolování dat a strojové učení používaný ke shlukování pozorování do skupin souvisejících pozorování bez jakékoli předchozí znalosti těchto vztahů. Pomocí vzorkování se algoritmus pokusí ukázat, do které kategorie nebo klastru data patří, přičemž počet klastrů je definován hodnotou k.
The k-znamená, že algoritmus je jednou z nejjednodušších klastrovacích technik a běžně se používá v lékařském zobrazování, biometrii a souvisejících oborech. Výhoda k-znamená shlukování je to, že vypovídá o vašich datech (pomocí jeho nekontrolované formy), spíše než abyste museli instruovat algoritmus o datech na začátku (pomocí supervizované formy algoritmu). Někdy je označován jako Lloydův algoritmus, zejména v kruzích informatiky, protože standardní algoritmus poprvé navrhl Stuart Lloyd v roce 1957. Termín „k-means“ vytvořil v roce 1967 James McQueen.
Jak funguje algoritmus K-Means
The k-znamená algoritmus je evoluční algoritmus, který získává svůj název podle své metody provozu. Algoritmus seskupuje pozorování do k skupiny, kde k je poskytován jako vstupní parametr. Poté přiřadí každé pozorování k shlukům na základě blízkosti pozorování ke střední hodnotě shluku. Průměr klastru je poté přepočítán a proces začíná znovu. Algoritmus funguje takto:
- Algoritmus libovolně vybírá k bodů jako počátečních center klastru (průměr).
- Každý bod v datové sadě je přiřazen uzavřenému klastru na základě euklidovské vzdálenosti mezi každým bodem a každým středem klastru.
- Každé centrum klastru je přepočítáno jako průměr bodů v tomto klastru.
- Kroky 2 a 3 opakujte, dokud se shluky nesbíhají. Konvergence může být definována odlišně v závislosti na implementaci, ale normálně to znamená, že buď žádné pozorování nezmění klastry, když se opakují kroky 2 a 3, nebo že změny nezpůsobí podstatný rozdíl v definici klastrů.
Výběr počtu klastrů
Jednou z hlavních nevýhod k-znamená shlukování je skutečnost, že musíte zadat počet shluků jako vstup do algoritmu. Jak je navrženo, algoritmus není schopen určit vhodný počet klastrů a závisí na tom, aby to uživatel předem identifikoval. Například pokud jste měli skupinu lidí, kteří mají být seskupeni na základě binární genderové identity jako muž nebo žena, volání k-znamená algoritmus využívající vstup k = 3 by přinutil lidi do tří shluků, když jen dva, nebo vstup z k = 2, by poskytovalo přirozenější střih. Podobně, pokud byla skupina jednotlivců snadno seskupena podle domovského státu a vy jste volali k-znamená algoritmus se vstupem k = 20, výsledky mohou být příliš obecné, aby byly účinné. Z tohoto důvodu je často dobré experimentovat s různými hodnotami k k identifikaci hodnoty, která nejlépe vyhovuje vašim datům. Můžete také chtít prozkoumat použití jiných algoritmů pro dolování dat při hledání strojově naučených znalostí.