k nejbližších sousedů (k-NN)

k nejbližších sousedů (k-Nearest Neighbors, k-NN) je nejjednodušší algoritmus učení s učitelem a zástupce tzv. líného učení: fázi tréninku v podstatě nemá, pouze si uloží celou trénovací množinu. Predikce pro nový vzorek se odvodí až v okamžiku dotazu – najde se k nejbližších trénovacích bodů podle zvolené metriky, typicky euklidovské nebo kosinové, a výsledek se určí jejich hlasováním u klasifikace či průměrem u regrese, případně s vážením podle vzdálenosti. Volba k je klíčovým hyperparametrem: hodnota jedna vede k modelu extrémně citlivému na šum a odlehlé body, příliš velké k naopak setře lokální strukturu a vede k podučení. Nutnou podmínkou je normalizace příznaků, protože jinak měřítko jedné veličiny přehluší všechny ostatní. Hlavní slabinou je náročnost inference, která roste s velikostí datasetu, a prokletí dimenzionality – ve vysokých dimenzích přestává být vzdálenost informativní. Právě proto se v moderním nasazení kombinuje s embeddingy a přibližným vyhledáváním nejbližších sousedů ve vektorové databázi.


Je to postup, který používáte, když se stěhujete do nové čtvrti a chcete odhadnout cenu domu. Nestudujete ekonomické modely – podíváte se, za kolik se prodalo pět nejbližších domů podobné velikosti, a uděláte průměr. Žádnou přípravu k tomu nepotřebujete, jen seznam prodejů. Zrádné je to ve dvou věcech. Když se podíváte jen na jeden nejbližší dům, můžete narazit na ten, který byl prodán v rodině za symbolickou cenu. A když do srovnání pustíte i vzdálenost v centimetrech od potoka a stáří v sekundách, čísla o velké velikosti přehluší všechno ostatní.

Je pro vás článek užitečný a čerpáte z něj? Zkopírujte si citaci