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

Что такое обучение с учителем?

Контролируемое обучение говорит: «Научи меня». Это означает, что обучение проходит через помеченный набор данных.

Представьте себе модель ребенком в семье. Ребенка учат разнице между кошкой, собакой и т. Д., После чего ребенок может различать животных, которых он / она видит. Точно так же модель обучается с помеченными данными, которые помогают узнать разницу между характеристиками категорий доступных данных и спрогнозировать результат новых наблюдений.

k-ближайших соседей (k-NN)

Алгоритм k-ближайших соседей (k-NN) - непараметрический метод, используемый для классификации и регрессии. В обоих случаях входные данные состоят из k ближайших обучающих данных в пространстве признаков. Вывод зависит от того, используется ли k -NN для классификации или регрессии:

Классификация: в классификации k-NN выходом является принадлежность к классу. Объект классифицируется множеством голосов его соседей, причем объект присваивается классу, наиболее распространенному среди его ближайших k соседей (k - положительное целое число). Если k = 1, то объект просто назначается классу этот единственный ближайший сосед.

Регрессия: в k-NN регрессии выходными данными является значение объекта. Это значение является средним из значений k ближайших соседей.

Мы все, должно быть, слышали слово «КОРЗИНА» на протяжении всего нашего изучения методов машинного обучения. Алгоритм дерева решений «КОРЗИНА» (деревья классификации и регрессии) может использоваться для построения обоих деревьев классификации (для классификации категориальных переменных ответа ) и деревья регрессии (для прогнозирования переменных непрерывного отклика). Метод k-Nearest Neighbor может также создавать как классификационные, так и регрессионные модели.

k-ближайший сосед (k-NN) для классификации:

В распознавании образов алгоритм k-NN - это метод классификации объектов на основе ближайших обучающих примеров в пространстве признаков. k-NN - это тип обучения на основе экземпляров или ленивого обучения. K-NN - это фундаментальный и простейший метод классификации, когда предварительные знания о распределении данных мало или совсем отсутствуют. Это правило просто сохраняет весь обучающий набор во время обучения и назначает каждому запросу класс, представленный меткой большинства его k-ближайших соседей в обучающем наборе. В этом методе каждый образец следует классифицировать так же, как и окружающие его образцы. Следовательно, если классификация выборки неизвестна, то ее можно предсказать, рассматривая классификацию ближайших соседних выборок.

Пример: -

«Это решающее правило k-NN для K = 1 для набора выборок, разделенных на 2 класса. Правило ближайшего соседа (NN) - это простейшая форма k-NN, когда K = 1. ”- Неизвестная выборка классифицируется с использованием только одной известной выборки. Что хорошо видно на рисунке.

Пример: -

«Это правило принятия решения k-NN для K = 4 для набора выборок, разделенных на 2 класса». - Неизвестная выборка классифицируется с использованием более чем одной известной выборки в пространстве. K установлен на 4, так что четыре ближайших образца рассматриваются для классификации неизвестного. Трое из них принадлежат к одному классу, тогда как только один принадлежит другому классу. Что хорошо видно на рисунке.

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

k-ближайший сосед (k-NN) для регрессии:

Вышеупомянутый метод можно использовать для регрессии, просто присвоив объекту значение, равное среднему значению его K ближайших соседей. Может быть полезно взвесить вклад соседей, чтобы более близкие соседи вносили больший вклад в среднее значение, чем более удаленные. Проблемы регрессии связаны с предсказанием результата зависимой переменной с учетом набора независимых переменных.

Пример-

Давайте рассмотрим приведенный выше рисунок и начнем с 1-ближайшего соседа. В этом случае мы ищем в наборе примеров (зеленые квадраты) и находим тот, который ближе всего к новому наблюдению X. В данном конкретном случае это x4. Таким образом, результат x4 (т. Е. Y4) считается ответом на результат X (т. Е. Y). Таким образом, для 1-ближайшего соседа мы можем написать: Y = y4.

Теперь рассмотрим метод 2-ближайших соседей. В этом случае мы определяем первые две ближайшие точки к X, которые оказываются y3 и y4. Принимая среднее значение их результатов, решение для Y определяется следующим образом:

Точно так же, если значение K увеличивается, прогнозируемое значение является средним для всех ближайших соседей.

Вывод. После изучения алгоритма k-NN давайте обсудим его преимущества и недостатки.

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

Недостатки. Несмотря на указанные выше преимущества, k-N имеет несколько ограничений. KNN может иметь низкую производительность во время выполнения, когда обучающая выборка большая. Он очень чувствителен к нерелевантным или повторяющимся характеристикам, потому что все функции способствуют сходству и, следовательно, классификации. Этого можно избежать путем тщательного выбора или взвешивания признаков. Два других недостатка метода:

1. Дистанционное обучение не ясно, какой тип расстояния использовать и какой атрибут использовать для достижения наилучших результатов.

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

«Спасибо, что уделили свое драгоценное время, чтобы прочитать этот блог об алгоритме машинного обучения».