Dlaczego używamy k-średnich zamiast innych algorytmów?

14

Badałem k-średnich i oto, co otrzymałem: k-średnich jest jednym z najprostszych algorytmów, który wykorzystuje metodę uczenia bez nadzoru w celu rozwiązania znanych problemów związanych z klastrowaniem. Działa naprawdę dobrze z dużymi zestawami danych.

Istnieją jednak także wady K-Means:

  • Silna wrażliwość na wartości odstające i hałas
  • Nie działa dobrze w przypadku nieokrągłego kształtu skupienia - liczba skupień i początkowa wartość początkowa muszą zostać wcześniej określone
  • Niska zdolność do przekroczenia lokalnego optimum.

Czy jest coś wielkiego w k-średnich, ponieważ wydaje się, że wady wykraczają poza dobre strony k-średnich.

Proszę, naucz mnie.

Złota czaszka z wzorem
źródło
3
Nie ma czegoś takiego jak dobra metoda lub dobry algorytm bez kontekstu problemu, w którym jest używany. Dlatego używamy k-średnich, ponieważ istnieją problemy, dla których k-średnie jest optymalnym rozwiązaniem (;

Odpowiedzi:

8

Inne algorytmy grupowania z lepszymi funkcjami są zwykle droższe. W tym przypadku k-średnich staje się doskonałym rozwiązaniem dla wstępnego klastrowania, redukując przestrzeń do rozłącznych mniejszych podprzestrzeni, w których można zastosować inne algorytmy klastrowania.

zeferino
źródło
Droższy jak koszt programu? czy?
Złota Czaszka z Wzorem
5
Droższy jak w trybie wolnym i wymagającym dużej ilości pamięci.
Martin O'Leary
Rozumiem. Czy są jakieś inne korzyści niż szybkie, niezawodne i łatwiejsze do zrozumienia? A poza tym dzięki za odpowiedzi @ MartinO'Leary i @ zeferino
Gold Skull with Pattern
6

Środki K są najprostsze. Aby wdrożyć i uruchomić. Wszystko, co musisz zrobić, to wybrać „k” i uruchomić go kilka razy.

Najbardziej sprytne algorytmy (szczególnie te dobre) są znacznie trudniejsze do wydajnego wdrożenia (zobaczysz współczynniki 100x w różnicach czasu wykonywania) i mają znacznie więcej parametrów do ustawienia.

Ponadto większość ludzi nie potrzebuje klastrów jakości . W rzeczywistości są zadowoleni ze wszystkiego, co zdalnie dla nich działa. Poza tym tak naprawdę nie wiedzą, co robić, gdy mają bardziej złożone klastry. K-oznacza, który modeluje klastry za pomocą najprostszego jak dotąd modelu - centroidu - jest dokładnie tym, czego potrzebują: ogromną redukcją danych do centroidów .

Ma ZAKOŃCZENIE - Anony-Mus
źródło
0

K-znaczy jest jak algorytm wymiany sortowania. Łatwy do zrozumienia, pomaga przejść do tematu, ale nigdy nie powinien być używany do niczego prawdziwego, nigdy. W przypadku Exchange Sort, nawet Bubble Sort jest lepszy, ponieważ może zatrzymać się wcześniej, jeśli tablica jest częściowo posortowana. W przypadku K-średnich algorytm EM jest tym samym algorytmem, ale zakłada rozkłady Gaussa dla klastrów zamiast założenia równomiernego rozkładu K-średnich. Średnie K to skrajny przypadek EM, gdy wszystkie klastry mają ukośne macierze kowariancji. Struktura Gaussa oznacza, że ​​klastry kurczą się w bardzo przyjemny sposób. Pozwala to obejść poważne zastrzeżenia, które prawidłowo zgłosisz w pytaniu. A tak naprawdę EM nie jest dużo droższy niż środki K. (Mogę zaimplementować oba w arkuszu kalkulacyjnym Excel.) Ale w przypadku poważnych aplikacji klastrowych,

Dr James M. Coggins
źródło