Что делает алгоритм KNN на этапе обучения? - PullRequest
0 голосов
/ 03 февраля 2019

В отличие от других алгоритмов, таких как линейные регрессии, KNN, похоже, не выполняет никаких вычислений на этапе обучения.Как и в случае линейных регрессий, он находит коэффициенты на этапе обучения. Но как насчет KNN?

Ответы [ 3 ]

0 голосов
/ 03 февраля 2019

На этапе обучения KNN организует данные (своего рода процесс индексации), чтобы эффективно находить ближайших соседей на этапе вывода.В противном случае пришлось бы сравнивать каждый новый случай во время вывода со всем набором данных, что делает его совершенно неэффективным.

Подробнее об этом можно прочитать по адресу: https://scikit -learn.org / stable / modules /neighbors.html # ближайших соседей-алгоритмы

0 голосов
/ 03 февраля 2019

KNN - это метод, основанный на экземплярах, который полностью опирается на обучающие примеры, другими словами, он запоминает все обучающие примеры. Поэтому в случае классификации, когда появляются какие-либо примеры, он вычисляет евклидово расстояние между входным примером и всем обучающимпримеров и возвращает метку ближайшего примера обучения на основе расстояния.

0 голосов
/ 03 февраля 2019

KNN принадлежит к группе ленивых учеников.В отличие от нетерпеливых учеников, таких как logistic regression, svms, neural nets, ленивые ученики просто сохраняют данные тренировок в памяти.Затем во время вывода он находит K ближайших соседей по обучающим данным, чтобы классифицировать новый экземпляр.

...