Почему KNN не «на основе модели»?

10

Глава 2.4 ESL, по- видимому, классифицирует линейную регрессию как «основанную на модели», потому что она предполагает , тогда как для k-ближайших соседей подобная аппроксимация не указана. Но разве оба метода не делают предположений о ?f ( x )е(Икс)Иксβе(Икс)

Позже в 2.4 это даже говорит:

  • Наименьшие квадраты предполагают, что хорошо аппроксимируется глобально линейной функцией.е(Икс)
  • k-ближайшие соседи предполагают, что хорошо аппроксимируется локально постоянной функцией.е(Икс)

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

Итак, если KNN на самом деле не основан на моделях, почему? Или я неправильно читаю ESL?

сельдь
источник

Ответы:

8

Довольно сложно сравнивать kNN и линейную регрессию напрямую, поскольку они очень разные вещи, однако, я думаю, что ключевой момент здесь - это разница между «моделированием » и «предположением о f ( x ) ».е(Икс)е(Икс)

При выполнении линейной регрессии, кто-то специально моделирует , часто что-то среди линий f ( x ) = w x + ϵ, где ϵ - гауссовский шумовой член. Вы можете понять, что модель максимального правдоподобия эквивалентна модели минимальной суммы квадратов ошибок.е(Икс)е(Икс)знак равновесИкс+εε

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

Другими словами, линейная регрессия часто будет иметь хорошее представление о значении для некоторого невидимого x только из значения x , тогда как для kNN потребуется некоторая другая информация (то есть, k соседей), чтобы делать предсказания о f ( x ) , потому что значение x и только само значение не будут давать никакой информации, так как не существует модели для f ( x ) .е(Икс)ИксИксе(Икс)Иксе(Икс)

РЕДАКТИРОВАТЬ: повторить это ниже, чтобы выразить это яснее (см. Комментарии)

Yзнак равное(Икс)Иксе(Икс)

е(Икс1)е(Икс2)Икс1Икс2е(Икс)Икс (будь то линия, парабола и т. д.), поскольку у него нет модели этого отношения, оно просто предполагает, что оно может быть аппроксимировано с помощью изучения ближайших точек.

Саулюс Лукаускас
источник
«Кто-то специально моделирует f (x)» Что это значит? Кажется, можно формализовать предположение, что f локально постоянна. Это просто, что KNN не может быть получен любой такой формализацией?
Алек
«линейная регрессия часто будет иметь хорошее представление о значении f (x) для некоторого невидимого x только из значения x», не знаю, что вы подразумеваете под этим, либо ... вам все еще нужны параметры линейной модели, просто как вам понадобятся параметры для KNN (хотя его параметры более сложны)
Alec
Хорошие моменты, я попытался отредактировать свой ответ, чтобы сделать его более понятным и, надеюсь, ответить на ваши вопросы (ограничение количества символов для комментариев низкое).
Саулюс Лукаускас
+1, это хорошо объяснено. «Разница между« моделированием f (x) »и« наличием предположений о f (x) »», очень хорошо отражает идею, ИМО. Возможно, еще один способ выразить это состоит в том, чтобы учесть, что моделирование f (x) сводится к предположениям о процессе генерации данных , тогда как knn не делает этого, а просто показывает, что значение данного элемента данных может быть аналогично значению поблизости данные.
gung - Восстановить Монику
Хм, хорошо. Ваше редактирование определенно делает его немного понятнее, но мне все еще не удается увидеть формальное различие. Кажется, что под «моделированием» вы подразумеваете «получение хорошей идеи о форме f в глобальном масштабе», тогда как KNN заботится только о местном поведении. Таким образом, это различие между глобальным и локальным делает линейное регрессионное моделирование, а KNN нет?
Алек
5

е^(Икс)знак равноβ^Икс

Икс

tjnel
источник
Хотя я интуитивно понимаю, что вы имеете в виду, это различие все еще кажется мне шатким ... разве вы не видите, что KNN параметризован разделом R ^ d и весами, назначенными этим разделам?
Алек
1
Если кто-то попросил вас обосновать ваши прогнозы, вы могли бы сделать это, если бы использовали линейную регрессию, объясняя отношения между входами и выходами, которые предполагает ваша модель. Модель пытается объяснить взаимосвязь ч / б входов и выходов. KNN не пытается объяснить взаимосвязь ч / б входов и выходов, поэтому здесь нет модели.
tjnel
4

Термин «на основе модели» является синонимом «на основе распределения» при обсуждении методов кластеризации. Линейная регрессия делает предположения о распределении (что ошибки являются гауссовыми). KNN не делает никаких предположений о распределении. Это различие.

DL Dahly
источник
1
Для меня это наиболее логично с точки зрения формального различия, хотя ESL на самом деле не представляла линейную регрессию таким образом. Сначала они ввели функцию стоимости в квадрате ошибки, своего рода произвольно (вместо того, чтобы делать MLE для гауссиана), использовали ее, чтобы найти, что мы должны предсказать f (x) = E (Y | X = x), объяснили, как приближается KNN это при определенных предположениях, а затем продолжил предполагать, что f был линейным, чтобы получить линейную регрессию.
Алек
Интересное предложение, но было бы намного лучше, если бы у нас были какие-то упоминания об этом.
Ivanmp
0

КНН на основе экземпляра

Для того, чтобы сделать прогноз для нового наблюдения, вы должны сохранить весь обучающий набор данных, потому что в наборе данных нет модели .

Вот как работает kNN: учитывая новое наблюдение, мы вычислим расстояние между этим новым наблюдением и всеми другими наблюдениями в наборе обучающих данных. Затем вы получаете соседей (тех, которые ближе всего к новому наблюдению).

Кзнак равно5

Как можно найти модель?

Теперь, если мы попытаемся найти функцию, которая не является «локально постоянной», это будет нормальное распределение. В этом случае вы получите алгоритм вызова Linear Discriminant Analysis или Naive Bayes (в зависимости от некоторых других предположений).

Xiaoshi
источник