Довольно сложно сравнивать kNN и линейную регрессию напрямую, поскольку они очень разные вещи, однако, я думаю, что ключевой момент здесь - это разница между «моделированием » и «предположением о f ( x ) ».е( х )е( х )
При выполнении линейной регрессии, кто-то специально моделирует , часто что-то среди линий f ( x ) = w x + ϵ, где ϵ - гауссовский шумовой член. Вы можете понять, что модель максимального правдоподобия эквивалентна модели минимальной суммы квадратов ошибок.е( х )е( х ) = ш х + ϵε
KNN, с другой стороны, как предполагает ваша вторая точка зрения, предполагает, что вы можете аппроксимировать эту функцию с помощью локально постоянной функции - некоторой меры расстояния между точками, без конкретного моделирования всего распределения.Икс
Другими словами, линейная регрессия часто будет иметь хорошее представление о значении для некоторого невидимого x только из значения x , тогда как для kNN потребуется некоторая другая информация (то есть, k соседей), чтобы делать предсказания о f ( x ) , потому что значение x и только само значение не будут давать никакой информации, так как не существует модели для f ( x ) .е( х )ИксИксе( х )Иксе( х )
РЕДАКТИРОВАТЬ: повторить это ниже, чтобы выразить это яснее (см. Комментарии)
Y= ф( х )Иксе( х )
е( х1)е( х2)Икс1Икс2е( х )Икс (будь то линия, парабола и т. д.), поскольку у него нет модели этого отношения, оно просто предполагает, что оно может быть аппроксимировано с помощью изучения ближайших точек.
источник
Термин «на основе модели» является синонимом «на основе распределения» при обсуждении методов кластеризации. Линейная регрессия делает предположения о распределении (что ошибки являются гауссовыми). KNN не делает никаких предположений о распределении. Это различие.
источник
КНН на основе экземпляра
Для того, чтобы сделать прогноз для нового наблюдения, вы должны сохранить весь обучающий набор данных, потому что в наборе данных нет модели .
Вот как работает kNN: учитывая новое наблюдение, мы вычислим расстояние между этим новым наблюдением и всеми другими наблюдениями в наборе обучающих данных. Затем вы получаете соседей (тех, которые ближе всего к новому наблюдению).
Как можно найти модель?
Теперь, если мы попытаемся найти функцию, которая не является «локально постоянной», это будет нормальное распределение. В этом случае вы получите алгоритм вызова Linear Discriminant Analysis или Naive Bayes (в зависимости от некоторых других предположений).
источник