szukanie zaawansowane
 [ Posty: 3 ] 
Autor Wiadomość
Mężczyzna Offline
PostNapisane: 28 sty 2019, o 00:57 
Użytkownik

Posty: 63
Lokalizacja: nie wiem
Witam,
potrzebuje aby ktoś zweryfikował mój tok rozumowania.
W K-NN znajdujemy K najbliższych sąsiadów dla danego punktu p_1 i na tej postawie klasyfikujemy punkt p_1. Wszystko ok.

Ale, jak powinno podejść się do tematu kiedy mamy kilka punktów, dajmy na to nasz obiekt, który chcemy sklasyfikować składa się z dwóch punktów, p_1 i p_2.

Ustalamy K, obliczamy odległość najpierw dla p_1, wychodzi p_1 należy do klasy A.
Teraz to samo dla p_2 i wychodzi że p_2 należy do klasy B.

Co teraz?
Nasz obiekt w połowie jest klasą A i w połowie B.
Wiem można zmienić K, np. zwiększyć ją, ale to wcale nie musi pomóc.
Czy w ogóle takie podejście ma sens? Dla każdego punktu mojego obiektu wyznaczam klasę, a potem patrze jakiej mam najwięcej i to taką przypisuje do całego obiektu - czy to nie jest źle?

Zastanawiam się, czy istnieje jakiś sposób radzenia sobie z czymś takim.
W takim podejściu nie mam również informacji o dystansie danego obiektu do danej klasy.

Dodam, że klasy mogą zawierać różna ilość punktów, tak samo klasyfikowany obiekt.
Uniwersytet Wrocławski Instytut Matematyczny - rekrutacja 2019
Góra
Mężczyzna Offline
PostNapisane: 28 sty 2019, o 02:06 
Moderator

Posty: 2762
Lokalizacja: Seattle, WA
Trudno o jednoznaczną odpowiedź, bo podejście zależy od typu danych. Rozsądnym wydaje się przyjęcie metryki, która minimalizuje odległość obu punktów od danej klasy.
Góra
Mężczyzna Offline
PostNapisane: 6 lut 2019, o 19:51 
Użytkownik

Posty: 62
Zakładając, że cechy rozpatrywanych punktów są ciągłe, prawdopodobieństwo, że punkt będzie należał do dwóch klas jednocześnie wynosi dokładnie 0. No ale co z tego, w komputerach pojęcie ciągłości jest złudne, wszystko jest dyskretne - i jak wtedy sobie radzić z takim problemem? Otóż - z pragmatycznego punktu widzenia, to nie ma w ogóle znaczenia, ale możemy sobie z takim problemem poradzić bardzo łatwo. Przykład: Jeżeli zbiór cech jest na tyle źle dobrany, że wiele punktów należy do kilku klas jednocześnie, so be it. Reprezentujmy wtedy przynależność do klasy jako wersor typu "Onehot" (kiedy punkt ma jedną klasę) albo wektor symbolizujący przynależność do wielu klas na raz, np.
Jedna klasa
\begin{bmatrix}
0 \\
1 \\
0 \\
0
\end{bmatrix}
Dwie klasy:
\begin{bmatrix}
0 \\
\frac{1}{\sqrt{2}} \\
\frac{1}{\sqrt{2}} \\
0
\end{bmatrix}

Punkt opisany za pomocą takiego wektora przynależy po części do klasy drugiej i po części do klasy trzeciej. Jeżeli jest to jeden z najbliższych punktów innego punktu, którego klasę mamy wyznaczyć, po prostu ma on wpływ na klasę nowego punktu jednakowy dla klas drugiej oraz trzeciej. Wpływ ten jest mniejszy niż jednoznacznie zaklasyfikowany punkt, ale większy niż wpływ klas do których ten punkt nie należy.

Możesz sobie to rozwiązanie wyobrazić tak, jeżeli punkt jest jednakowo daleko od klasy czerwonej i zielonej, punkt staje się czerwono-zielony. Jeżeli jest to najbliższy punkt innego z punktów, wtedy wpływa on na nowy punkt z jednakową wagą klasy czerwonej i zielonej, waga ta jest jednak mniejsza niż waga klasy dla punktu, który przydzielony jest do jednej klasy.
Góra
Utwórz nowy temat Odpowiedz w temacie  [ Posty: 3 ] 


 Zobacz podobne tematy
 Tytuł tematu   Autor   Odpowiedzi 
 [Algorytmy] Tablica dwuwymiarowa- maksymalna suma podtablicy  cyberciq  4
 [Algorytmy] Cykle hamiltona w grafie skierowanym  MathNoob  4
 [Algorytmy] Algorytm do kawy metodą Turinga  Insane  0
 [C++][Algorytmy] Cechy podzielności przez 6,8 i 343  calmosc  3
 [Algorytmy] Dodawanie macierzy - schemat blokowy  przonak007  5
cron
 
Atom [Regulamin Forum] [Instrukcja LaTeX-a] [Poradnik] [F.A.Q.] [Reklama] [Kontakt]
Copyright (C) Karpatka.pl