Hierbei handelt es sich um Klassifikationsverfahren. Der kNN-Algorithmus geht davon aus, dass ähnliche Dinge in unmittelbarer Nähe existieren. Mit anderen Worten, ähnliche Dinge sind nahe beieinander. Verwendet werden kann dieser Supervised-Learning Algorithmus sowohl für Klassifikations- als auch für Regressionsprobleme.
Im Training werden die Input-Daten x(1), …, x(n) als Vektoren im Feature-Raum mit der dazugehörigen Label-Information gespeichert.
Bei der Klassifikation sei ein neuer Vektor x gegeben. Gesucht ist das dazugehörige Label t 0,1. Voraussetzung ist k > 0. Seien y(1), …, y(k) die Trainingsvektoren, für die der Euklidische Abstand zu x am geringsten ist. Wenn die Mehrheit dieser Vektoren das Label 0 besitzt, wird t = 0 gesetzt, andernfalls t = 1.
Beispielhaft erkennbar ist dies in obiger Abbildung. In diesem Fall soll das blaue Quadrat (x) einer Klasse zugeordnet werden. Die nächsten Nachbarn ( y(1), y(2), y(3) ) sind hierbei zwei rote Dreiecke und ein grüner Kreis, sprich k = 3. Da die Anzahl der roten Dreiecke überwiegt, wird das blaue Viereck ebenfalls der Klasse der roten Dreiecke zugeordnet.
Vorteile:
Nachteile: