kNN vs ANN
Två huvudkategorier av vektorsökningsalgoritmer är k-Nearest Neighbors (kNN) och Ungefärliga närmaste grannar (ANN, som inte ska förväxlas med artificiellt neuralt nätverk). kNN är exakt men beräkningsintensivt, vilket gör det mindre lämpligt för stora datamängder. ANN erbjuder å andra sidan en balans mellan noggrannhet och effektivitet, vilket gör den bättre lämpad för storskaliga program.
Så här fungerar kNN
- Vektorisering: Varje datapunkt i datamängden representeras som en vektor i ett flerdimensionellt utrymme.
- Avståndsberäkning: Om du vill klassificera en ny datapunkt (frågepunkt) beräknar algoritmen avståndet mellan frågepunkten och alla andra punkter i datamängden med hjälp av en avståndsfunktion.
- Hitta grannar: Algoritmen identifierar k närmaste datapunkter (grannar) till frågepunkten baserat på de beräknade avstånden. Värdet för k (antalet grannar) är avgörande. En liten k kan vara känslig för brus, medan en stor k kan jämna ut detaljer.
- Göra förutsägelser:
- Klassificering: För klassificeringsuppgifter tilldelar kNN klassetiketten till den frågepunkt som är vanligast bland k-grannarna. I grund och botten utför den en "majoritetsomröstning".
- Regression: För regressionsaktiviteter förutsäger kNN värdet för frågepunkten som medelvärdet (eller ibland viktat genomsnitt) för värdena för k-grannarna.
Så här fungerar ANN
- Vektorisering: Varje datapunkt i datamängden representeras som en vektor i ett flerdimensionellt utrymme.
- Indexering och datastrukturer: ANN-algoritmer använder avancerade datastrukturer (t.ex. KD-träd, lokalitetskänslig hashning eller grafbaserade metoder) för att indexera datapunkterna, vilket möjliggör snabbare sökningar.
- Avståndsberäkning: I stället för att beräkna det exakta avståndet till varje punkt använder ANN-algoritmer heuristik för att snabbt identifiera regioner i det utrymme som sannolikt kommer att innehålla närmaste grannar.
- Hitta grannar: Algoritmen identifierar en uppsättning datapunkter som sannolikt ligger nära frågepunkten. Dessa grannar är inte garanterade att vara de exakta närmaste punkterna men är tillräckligt nära för praktiska ändamål.
- Göra förutsägelser:
- Klassificering: För klassificeringsuppgifter tilldelar ANN klassetiketten till den frågepunkt som är vanligast bland de identifierade grannarna, ungefär som kNN.
- Regression: För regressionsaktiviteter förutsäger ANN värdet för frågepunkten som medelvärdet (eller det viktade genomsnittet) för värdena för de identifierade grannarna.