Учебники

Машинное обучение — под наблюдением

Контролируемое обучение является одной из важных моделей обучения, связанных с обучением машин. В этой главе подробно говорится о том же.

Алгоритмы для контролируемого обучения

Есть несколько алгоритмов, доступных для контролируемого обучения. Некоторые из широко используемых алгоритмов контролируемого обучения, как показано ниже —

  • k-Ближайшие соседи
  • Деревья решений
  • Наивный байесовский
  • Логистическая регрессия
  • Опорные векторные машины

По мере продвижения в этой главе давайте поговорим подробно о каждом из алгоритмов.

k-Ближайшие соседи

K-Ближайшие соседи, которые просто называются kNN, — это статистический метод, который можно использовать для решения задач классификации и регрессии. Давайте обсудим случай классификации неизвестного объекта с использованием kNN. Рассмотрим распределение объектов, как показано на рисунке ниже —

Ближайшие соседи

Источник:

https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm

Диаграмма показывает три типа объектов, отмеченных красным, синим и зеленым цветами. Когда вы запустите классификатор kNN в указанном наборе данных, границы для каждого типа объекта будут отмечены, как показано ниже —

Границы набора данных

Источник:

https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm

Теперь рассмотрим новый неизвестный объект, который вы хотите классифицировать как красный, зеленый или синий. Это изображено на рисунке ниже.

Изображенная фигура

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

Алгоритм kNN также может использоваться для задач регрессии. Алгоритм kNN доступен как готовый к использованию в большинстве библиотек ML.

Деревья решений

Простое дерево решений в формате блок-схемы показано ниже —

Формат блок-схемы

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

В действительности деревья решений могут быть большими и сложными. Есть несколько алгоритмов, доступных для создания и обхода этих деревьев. Как энтузиаст машинного обучения, вы должны понять и освоить эти методы создания и обхода деревьев решений.

Наивный байесовский

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

Логистическая регрессия

Посмотрите на следующую диаграмму. Показывает распределение точек данных в плоскости XY.

Точки распространения данных

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

Опорные векторные машины

Посмотрите на следующее распределение данных. Здесь три класса данных не могут быть линейно разделены. Граничные кривые являются нелинейными. В таком случае поиск уравнения кривой становится сложной задачей.

Нелинейная

Источник: http://uc-r.github.io/svm

Машины опорных векторов (SVM) пригодятся для определения границ разделения в таких ситуациях.