- Terminologia (A do D)
- Kontrola zdolności AI
- Operacje AI
- Albumentacje
- Wydajność aktywów
- Autokoder
- Propagacja wsteczna
- Twierdzenie Bayesa
- Big Data
- Chatbot: przewodnik dla początkujących
- Myślenie obliczeniowe
- Wizja komputerowa
- Macierz zamieszania
- Konwolucyjne sieci neuronowe
- Bezpieczeństwo cybernetyczne
- Tkanina danych
- Opowiadanie historii
- Nauka danych
- Magazyn danych
- Drzewo decyzyjne
- Deepfakes
- głęboki Learning
- Uczenie się o głębokim wzmocnieniu
- DevOps
- DevSecOps
- Modele dyfuzyjne
- Cyfrowy bliźniak
- Redukcja wymiarowości
- Terminologia (E do K)
- Sztuczna inteligencja
- Emocje AI
- Nauka zespołowa
- Etyczne hakowanie
- ETL
- Wytłumaczalne AI
- Sfederowane uczenie się
- FinOps
- generatywna sztuczna inteligencja
- Generatywna sieć przeciwników
- Generatywny a dyskryminacyjny
- Wzmocnienie gradientu
- Gradientowe zejście
- Nauka kilku strzałów
- Klasyfikacja obrazu
- Operacje IT (ITops)
- Automatyzacja incydentów
- Inżynieria wpływu
- Klastrowanie K-średnich
- K-Najbliżsi sąsiedzi
- Terminologia (od L do Q)
- Terminologia (od R do Z)
- Uczenie się ze wzmocnieniem
- Odpowiedzialna sztuczna inteligencja
- RLHF
- Automatyzacja procesów robotycznych
- Strukturalne vs niestrukturalne
- Analiza sentymentów
- Nadzorowany kontra bez nadzoru
- Wsparcie maszyn wektorowych
- Dane syntetyczne
- Media syntetyczne
- Klasyfikacja tekstu
- TinyML
- Przenieś naukę
- Transformatorowe sieci neuronowe
- Test Turinga
- Wyszukiwanie podobieństwa wektorów
AI 101
Co to jest KNN (K-najbliżsi sąsiedzi)?
Spis treści
Co to jest K-najbliżsi sąsiedzi (KNN)?
K-Nearest Neighbors to technika i algorytm uczenia maszynowego, który można używać zarówno do zadań regresyjnych, jak i klasyfikacyjnych. K-Najbliżsi sąsiedzi zbadać etykiety wybranej liczby punktów danych wokół docelowego punktu danych, aby przewidzieć klasę, do której należy ten punkt danych. K-Nearest Neighbors (KNN) to koncepcyjnie prosty, ale bardzo potężny algorytm i z tego powodu jest jednym z najpopularniejszych algorytmów uczenia maszynowego. Przyjrzyjmy się bliżej algorytmowi KNN i zobaczmy dokładnie, jak on działa. Dobre zrozumienie sposobu działania KNN pozwoli Ci ocenić najlepsze i najgorsze przypadki użycia KNN.
Przegląd K-najbliższych sąsiadów (KNN)
Zwizualizujmy zbiór danych na płaszczyźnie 2D. Wyobraź sobie kilka punktów danych na wykresie rozmieszczonych wzdłuż wykresu w małych skupiskach. KNN bada rozkład punktów danych i w zależności od argumentów podanych do modelu dzieli punkty danych na grupy. Grupom tym przypisuje się następnie etykietę. Podstawowym założeniem modelu KNN jest to, że punkty/instancje danych istniejące blisko siebie są bardzo podobne, natomiast jeśli punkt danych jest daleko od innej grupy, nie jest podobny do tych punktów danych.
Model KNN oblicza podobieństwo na podstawie odległości między dwoma punktami na wykresie. Im większa odległość między punktami, tym mniej są one podobne. Istnieje wiele sposobów obliczania odległości między punktami, ale najczęstszą metryką odległości jest po prostu odległość euklidesowa (odległość między dwoma punktami w linii prostej).
KNN jest algorytmem uczenia się nadzorowanego, co oznacza, że przykłady w zbiorze danych muszą mieć przypisane etykiety/ich klasy muszą być znane. Są dwie inne ważne rzeczy, które warto wiedzieć o KNN. Po pierwsze, KNN jest algorytmem nieparametrycznym. Oznacza to, że podczas stosowania modelu nie są dokonywane żadne założenia dotyczące zbioru danych. Model jest raczej zbudowany w całości na podstawie dostarczonych danych. Po drugie, przy użyciu KNN nie ma podziału zbioru danych na zbiory uczące i testowe. KNN nie dokonuje żadnych uogólnień między zbiorem uczącym i testowym, więc wszystkie dane uczące są również wykorzystywane, gdy model jest proszony o dokonanie prognoz.
Jak działa algorytm KNN
Algorytm KNN podczas realizacji przechodzi przez trzy główne fazy:
- Ustawienie K na wybraną liczbę sąsiadów.
- Obliczanie odległości między dostarczonym/testowanym przykładem a przykładami ze zbioru danych.
- Sortowanie obliczonych odległości.
- Pobieranie etykiet najważniejszych wpisów K.
- Zwracanie prognozy dotyczącej przykładu testowego.
W pierwszym kroku użytkownik wybiera K i mówi algorytmowi, ilu sąsiadów (ile otaczających punktów danych) należy wziąć pod uwagę przy ocenie grupy, do której należy docelowy przykład. W drugim kroku zauważ, że model sprawdza odległość między przykładem docelowym a każdym przykładem w zbiorze danych. Odległości są następnie dodawane do listy i sortowane. Następnie sprawdzana jest posortowana lista i zwracane są etykiety dla K górnych elementów. Innymi słowy, jeśli K jest ustawione na 5, model sprawdza etykiety 5 górnych punktów danych znajdujących się najbliżej docelowego punktu danych. Podczas renderowania prognozy dotyczącej docelowego punktu danych znaczenie ma to, czy zadaniem jest a regresja or klasyfikacja zadanie. W zadaniu regresji wykorzystuje się średnią z górnych K etykiet, natomiast w przypadku klasyfikacji stosuje się tryb z górnych K etykiet.
Dokładne operacje matematyczne stosowane do przeprowadzenia KNN różnią się w zależności od wybranej metryki odległości. Jeśli chcesz dowiedzieć się więcej o tym, jak obliczane są dane, możesz przeczytać o niektórych najpopularniejszych wskaźnikach odległości, takich jak Euklidesa, Manhattan, Minkowskiego.
Dlaczego wartość K ma znaczenie
Głównym ograniczeniem podczas korzystania z KNN jest to, że przy niewłaściwej wartości K (niewłaściwa liczba sąsiadów, które należy wziąć pod uwagę), może zostać wybrana. Jeśli tak się stanie, zwracane prognozy mogą znacznie się różnić. Bardzo ważne jest, aby przy zastosowaniu algorytmu KNN wybrać odpowiednią wartość K. Chcesz wybrać wartość K, która maksymalizuje zdolność modelu do przewidywania niewidocznych danych, jednocześnie zmniejszając liczbę popełnianych błędów.
Niższe wartości K oznaczają, że przewidywania KNN są mniej stabilne i wiarygodne. Aby zrozumieć, dlaczego tak się dzieje, rozważmy przypadek, w którym mamy 7 sąsiadów wokół docelowego punktu danych. Załóżmy, że model KNN działa z wartością K wynoszącą 2 (prosimy go, aby w celu przewidzenia przyjrzał się dwóm najbliższym sąsiadom). Jeśli zdecydowana większość sąsiadów (pięciu z siedmiu) należy do klasy Blue, ale tak się składa, że dwóch najbliższych sąsiadów to Red, model przewidzi, że przykładowe zapytanie to Red. Pomimo przypuszczeń modela, w takim scenariuszu lepszym wyborem byłby kolor niebieski.
Jeśli tak jest, dlaczego nie wybrać po prostu najwyższej możliwej wartości K? Dzieje się tak, ponieważ nakazanie modelowi uwzględnienia zbyt wielu sąsiadów również zmniejszy dokładność. W miarę wzrostu promienia uwzględnianego w modelu KNN w końcu zacznie on uwzględniać punkty danych znajdujące się bliżej innych grup niż docelowy punkt danych i zacznie się pojawiać błędna klasyfikacja. Na przykład, nawet jeśli początkowo wybrany punkt znajdował się w jednym z czerwonych obszarów powyżej, jeśli K zostało ustawione zbyt wysoko, model sięgałby do innych obszarów, aby uwzględnić punkty. Podczas korzystania z modelu KNN próbuje się różnych wartości K, aby sprawdzić, która wartość zapewnia modelowi najlepszą wydajność.
KNN Plusy i minusy
Przyjrzyjmy się niektórym zaletom i wadom modelu KNN.
Plusy:
W przeciwieństwie do innych algorytmów uczenia się nadzorowanego, KNN może być używany zarówno do zadań regresji, jak i klasyfikacji.
KNN jest bardzo dokładny i prosty w użyciu. Jest łatwy do zinterpretowania, zrozumienia i wdrożenia.
KNN nie przyjmuje żadnych założeń na temat danych, co oznacza, że można je wykorzystać do wielu różnych problemów.
Wady:
KNN przechowuje większość lub wszystkie dane, co oznacza, że model wymaga dużej ilości pamięci i jest kosztowny obliczeniowo. Duże zbiory danych mogą również powodować, że przewidywanie będzie trwało długo.
KNN okazuje się bardzo wrażliwy na skalę zbioru danych i w porównaniu z innymi modelami dość łatwo może zostać odrzucony przez nieistotne cechy.
Podsumowanie K-najbliższych sąsiadów (KNN)
K-Nearest Neighbors to jeden z najprostszych algorytmów uczenia maszynowego. Pomimo tego, jak prosty jest KNN, w koncepcji jest to także potężny algorytm, który zapewnia dość wysoką dokładność w przypadku większości problemów. Korzystając z KNN, należy poeksperymentować z różnymi wartościami K, aby znaleźć liczbę zapewniającą najwyższą dokładność.
Bloger i programista specjalizujący się w Nauczanie maszynowe i głęboki Learning tematy. Daniel ma nadzieję pomóc innym wykorzystać moc sztucznej inteligencji dla dobra społecznego.
Możesz polubić
Nowe spojrzenie na odtwarzalność jako nową granicę w badaniach nad sztuczną inteligencją
Inżynier uczenia maszynowego – umiejętności i ścieżka kariery
Walka o powstrzymanie sztucznej inteligencji przed oszukiwaniem w testach
Sztuczna inteligencja prawdopodobnie podniesie ceny produktów bez interwencji organów regulacyjnych
Google przewiduje system zapytań podobny do GPT-3, bez wyników wyszukiwania
Co to jest nauka kilku strzałów?