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.


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.


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 .


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,

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.