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

В этой статье объясняются некоторые популярные алгоритмы обучения с учителем, такие как K-NN (K ближайший сосед), наивный байесовский метод, линейная регрессия и логистическая регрессия.

Это вторая статья из серии «На пути к машинному обучению». Вы можете ознакомиться с ранее опубликованной статьей по следующей ссылке:

Введение

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

Метрика Минковского

Расстояние Минковского — это обобщенная форма евклидова и манхэттенского расстояний.

  • Когда p=1: Манхэттенское расстояние
  • Когда p=2: евклидово расстояние

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

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

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

В следующих разделах кратко объясняются некоторые из популярных алгоритмов обучения с учителем:

  1. K-NN (K ближайший сосед)
  2. Наивный Байес
  3. Линейная регрессия
  4. Логистическая регрессия

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

K-NN — это простой алгоритм обучения с учителем. Это непараметрический алгоритм, который не принимает допущений, поскольку предполагает, что все независимые переменные не связаны между собой. KNN предполагает, что две вещи близки на основе сходства.

Преимущества

  • Может использоваться для классификации и регрессии.
  • Простой алгоритм

Недостатки

  • Высокие требования к памяти: все обучающие данные должны присутствовать в памяти, чтобы вычислить ближайшее значение K.

Ну ладно. Но что такое К?!

K – это количество ближайших соседей, которые используются в большей части процесса классификации.

На что следует обратить внимание при выборе K

  • Мы не должны использовать четное значение для K, если мы работаем над бинарной классификацией.
  • Но если мы работаем с классификацией нескольких классов, мы можем использовать четное значение.

Шаги K-ближайшего соседа

  1. Загрузите базу данных
  2. Расчет расстояний
  3. Получить ближайший сосед (наиболее частые соседи).
  4. Сделать прогноз

Все ли соседи влияют на наш тестовый экземпляр одинаково? Тогда как решить этот вопрос?

Взвешенный k-NN

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

Формула весов:

Формула веса расстояния:

Наивный байесовский классификатор

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

Преимущества

  • Хорошо работает с большими размерами

Недостатки

  • Если независимое допущение не выполняется, то производительность очень низкая.

Наивный байес опирается на «мешок слов».

Как это работает?

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

Затем мы можем подсчитать, сколько раз каждое слово встречается в документе, чтобы классифицировать документ как положительный или отрицательный.

В приведенной выше формуле:

  • Максимальный апостериорный = наиболее вероятный класс.
  • Документ d представлен как функции x1; …; хн
  • Arg max возвращает класс, к которому относится документ.

Предположим, что вероятности признаков P (xi |cj) независимы при заданном классе c.

Итак, мы получим:

Изучение наивной байесовской модели

Оценка максимального правдоподобия:

V — объем словарного запаса.

Доля раз слово wi встречается среди всех слов в документах темы cj.

Что делать, если мы не видели учебных документов?

Вероятность будет равна нулю. Но нулевые вероятности нельзя исключить условно. Чтобы решить эту проблему, мы должны использовать сглаживание Лапласа (добавить-1) для наивного байесовского

Чтобы избежать нулевой вероятности: используйте log.

Одномерная линейная регрессия

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

Как найти наилучшую аппроксимированную линейную модель?

Строка с наименьшей ошибкой является наилучшей.

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

Предположим, что независимой переменной является время обучения, а зависимой переменной — средний балл.

Таким образом, оценочная строка ŷявляется оценочной оценкой

B0 – точка пересечения y, а B1 – наклон.

Если отношение между зависимым и независимым положительное, наклон будет положительным, а если отношение отрицательным, наклон будет отрицательным.

Предположим, что оценка Yi равна h (θ (xi)), а фактическое наблюдение равно Y.

Где θ0 — пересечение, а θ1 — уклон.

Итак, ошибка будет:

Минимизируйте ошибку для всех примеров:

Чтобы минимизировать функцию стоимости: Для модели линейной регрессии функция стоимости будет минимумом среднеквадратичной ошибки модели, полученной путем вычитания прогнозируемых значений из фактических значений. Функция стоимости будет минимальной из этих значений ошибки.

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

Это контролируемое обучение, целью которого является найти границу, отделяющую классы друг от друга, чтобы правильно классифицировать.

В логистической регрессии расчетная кривая представляет собой сигмовидную функцию, которая лежит в диапазоне от 0 до 1.

А сигмовидная функция:

Основываясь на сигмовидной функции, решит логистическая регрессия.

Как принять решение?

Если h (θ (xi)) ›= 0,5, прогнозируется y=1. Однако если h (θ (xi)) ‹ 0,5, спрогнозируйте y=0

Итак, мы видим, что нам нужны θ, которые находят наилучшее граничное решение.

Пример:

h θ (x) = g (θ 0 + θ 1x1 + θ 2x2). с Θ = [-3 1 1]

Прогноз y = 1 =› -3+x1+x2 ›= 0

x1+x2›=3 это уравнение прямой. Таким образом, граница решения будет линейной линией.

Что делать, если функция стоимости не является выпуклой?

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

Интуитивно понятно, что если h θ (x) = 0 (прогнозировать P (y=1jx; θ) = 0), но y = 1, мы очень дорого накажем алгоритм обучения.

Функция стоимости, если y = 1, — это левая кривая, а правая кривая — это функция стоимости, если y = 0.

По отдельности две функции стоимости выпуклы.

Общая формула

Общая формула суммирует две отдельные кривые в одну функцию.

Примените градиентный спуск, чтобы приблизиться к глобальному минимуму.

Мы можем сделать вывод, что логистическая регрессия лучше всего работает с бинарной классификацией.

Что делать, если у нас более двух классов?

Применить метод "один против всех". Это метод использования алгоритмов бинарной классификации для многоклассовой классификации.

Каждый раз, когда вы выбираете класс, объединяйте другие классы в один класс, чтобы он был бинарным классификатором. Затем найдите максимальное значение h θ (x) и классифицируйте.

Сводка

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

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