Начнём с начала. Классифицировать объект — значит отнести его к одной из нескольких заранее известных групп. Скажем, определить, к какой из пяти пород принадлежит собака.
Алгоритмы в машинном обучении, как и мы с вами в жизни, принимают такие решения, опираясь на совокупность признаков. В случае с собакой это может быть, например, длина шерсти, рост в холке и форма ушей. Как их оценивают люди, более или менее понятно. Но что с нашей моделью?
Чтобы алгоритм корректно работал, все признаки объекта должны выражаться осмысленными числовыми значениями. Как только вы придумаете, как «посчитать» уши, любую собаку можно будет представить в виде вектора (или точки) в трёхмерном пространстве, где каждая ось соответствует одному признаку.
Вот здесь мы и подходим к самому интересному!
● Расстояния между любыми двумя точками измеряемы.
● Очевидно, чем ближе друг к другу точки, тем больше похожи собаки.
● Собаки обычно наиболее похожи на других представителей своей породы.
Выходит, если вокруг 88 лабрадоров и всего 12 овчарок, то перед нами, скорее всего, лабрадор. В этом и заключается суть метода kNN: модель относит объект к тому классу, к которому принадлежит большинство из k его ближайших соседей. Как видите, никакой магии.
Конечно, сам по себе алгоритм достаточно примитивен и в чистом виде почти не пригоден для реальных задач: есть проблемы и с точностью, и со скоростью. Зато на нём классно учиться :)
Алгоритмы в машинном обучении, как и мы с вами в жизни, принимают такие решения, опираясь на совокупность признаков. В случае с собакой это может быть, например, длина шерсти, рост в холке и форма ушей. Как их оценивают люди, более или менее понятно. Но что с нашей моделью?
Чтобы алгоритм корректно работал, все признаки объекта должны выражаться осмысленными числовыми значениями. Как только вы придумаете, как «посчитать» уши, любую собаку можно будет представить в виде вектора (или точки) в трёхмерном пространстве, где каждая ось соответствует одному признаку.
Вот здесь мы и подходим к самому интересному!
● Расстояния между любыми двумя точками измеряемы.
● Очевидно, чем ближе друг к другу точки, тем больше похожи собаки.
● Собаки обычно наиболее похожи на других представителей своей породы.
Выходит, если вокруг 88 лабрадоров и всего 12 овчарок, то перед нами, скорее всего, лабрадор. В этом и заключается суть метода kNN: модель относит объект к тому классу, к которому принадлежит большинство из k его ближайших соседей. Как видите, никакой магии.
Конечно, сам по себе алгоритм достаточно примитивен и в чистом виде почти не пригоден для реальных задач: есть проблемы и с точностью, и со скоростью. Зато на нём классно учиться :)