Algorytm k-średnich

Procesy stochastyczne. Sposoby racjonalizowania wielkich ilości informacji. Matematyka w naukach społecznych.
jeth
Użytkownik
Użytkownik
Posty: 41
Rejestracja: 20 mar 2010, o 12:56
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 9 razy

Algorytm k-średnich

Post autor: jeth »

Witam,

problem opiszę od razu na przykładzie, jest on matematyczno-informatyczny. Załóżmy, że mam tablicę następujących danych: [1, 2, 8] i chcę ją sklasteryzować algorytmem k-średnich na 3 klastry. Powinienem otrzymać 3 klastry: pierwszy z wartością 1, drugi z 2 i trzeci z 8. Mam jednak pewną implementację tego algorytmu w PHP i gdy ją testuję na powyższych danych, to mimo tego, że na sztywno "żądam" utworzenia trzech klastrów, program generuje dwa: do pierwszego klastra wrzuca 1 i 2, do drugiego 8.

Czy takie działanie jest poprawne? Czy to się bierze z tego, że jeśli dwie wartości są "bliskie" i różnica między nimi nie jest znacząca, to są one wrzucane do tego samego klastra? Czyli w tym przypadku algorytm "uznał", że 1 i 2 to wartości bliskie, a 8 już jest wartością dużo większą, więc wrzucił 1 i 2 "do jednego worka"?

Dla kontrprzykładu, dla danych [1, 2, 4] generowane są trzy klastry.

Pozdrawiam
ODPOWIEDZ