Рубрики
Без рубрики

Классификация в машинном обучении – часть 4

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

Начиная с машинного обучения (серия 7 деталей)

В последних нескольких постах мы рассмотрели основы техники машинного обучения и регрессии. Здесь мы обсудим классификацию, которая также является контролируемой проблемой, аналогичной регрессии. Но вместо прогнозирования непрерывных значений мы предсказываем дискретные значения. Он используется для классификации различных объектов. Выходная переменная здесь – «категория», такая как красный или синий, да или нет. Возьмите пример, в котором нам нужно классифицировать электронные письма как спам или не спам. Там будет набор функций, которые будут использоваться для классификации электронных писем. Каждое письмо классифицируется в одной из категорий в зависимости от значений этих функций. Как только модель обучена показанным данным/помеченным данным, модель предсказывает этикетки для неизвестных данных.

Давайте начнем с типов алгоритма классификации 😃

SVM

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

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

Много раз данные не линейно разделяются, и, таким образом, определение линейной гиперплоскости невозможно. На этом рисунке точки данных принадлежат двум классам внутреннего кольца и внешнего кольца. Как мы видим, эти классы не линейно разделяются, то есть мы не можем определить прямую линию, чтобы разделить их. Однако эллиптическая или круговая «гиперплоскость» может легко разделить два класса. Особенности x и y могут использоваться для создания новой функции Z, определенной как (x²+y²).

Функция ядра применяется к каждому экземпляру данных, чтобы отобразить исходные нелинейные наблюдения в более высокое пространство, в котором они становятся разделенными. Эти функции могут быть разных типов. Например, линейная, нелинейная, полиномиальная, радиальная базисная функция (RBF) и сигмоида.

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

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

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

Шаги по созданию классификатора дерева решений кратко описаны ниже:

  1. Рассчитайте энтропию целевой переменной.
  2. Затем набор данных разделен на разные атрибуты. Энтропия для каждой ветви рассчитывается. Затем добавляется пропорционально, чтобы получить полную энтропию для разделения. Полученная энтропия вычитается из энтропии перед разделением. Результатом является усиление информации или уменьшение энтропии.
  3. Атрибут с максимальным усилением информации выбирается в качестве атрибута разделения, и процесс повторяется на каждой ветви.
  4. Ветвь с энтропией 0 представляет листовый узел. Ветвление с энтропией более 0 требует дальнейшего расщепления.

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

Чтобы справиться с этим, один из используемых подходов – Обрезка Анкет Он может начинаться либо с корней, либо листьев, и включает в себя отрезание некоторых ветвей деревьев решений, что снижает сложность.

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

Обрезка сложности затрат: При этом общая цель состоит в том, чтобы свести к минимуму функцию комплексности затрат. Последовательность подтереев создается, где Tn – это дерево, состоящее только из корневого узла и T0 всего дерева. На шаге первое дерево создается путем удаления поддерева из дерева I-1 и заменив его на листовой узел. На каждом этапе выбирается этот поддерев, который минимизирует уменьшение функции комплексного затрат и, следовательно, является самой слабой связью дерева.

Обработка пропущенных ярлыков также включен в сам алгоритм дерева решений. Найдя кандидата на раскол, пропущенные этикетки не принесут никакой выгоды информации. Так что это можно безопасно игнорировать. Теперь рассмотрим пример, где пол – это разделение узла с двумя возможными значениями здесь мужчин и женщин. Теперь, если в случае, если экземпляр имеет недостающее значение в гендерном столбце, как мы должны решить, к какой филиале принадлежит экземпляр (интересно, верно?: P). Эта ситуация обрабатывается путем отправки экземпляра с отсутствующим значением для всех узлов дочерних, но с уменьшенным весом. Если есть 10 экземпляров, имеющих «мужской», 30 экземпляров, имеющих «женские» и 5 экземпляров, имеют недостающее значение, то все 5 экземпляров с отсутствующими будут отправлены на детские узлы как мужчин, так и женского пола, что веси, умноженные на 10/40 для ‘ Мужчина ‘и 30/40 для «женских» узлов.

Когда во время прогнозирования мы сталкиваемся с узлом в дереве решений, которое проверяет переменную A, и для этой переменной мы имеем недостающее значение, чем все возможности изучаются.

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

Логистическая регрессия является одним из наиболее используемых алгоритмов классификации. Не путайте с терминами регрессии. Это метод классификации, в котором прогнозируется вероятность класса по умолчанию. Принимая во внимание пример, в котором нам нужно предсказать электронное письмо как спам или не спам (класс по умолчанию является спамом). Это проблема бинарной классификации. Когда мы применяем логистическую регрессию, вероятность того, является ли электронная почта спам, прогнозируется (в диапазоне от 0 до 1). Если значение близко к 0, оно подразумевает вероятность того, что электронная почта будет спамом, близка к 0, и, следовательно, класс затем дается как не-спам. Пороговое значение принимается для определения класса. Если значение вероятности меньше порога, электронная почта идентифицируется как не-спам, иначе спам (как первичный класс-спам).

Значение, прогнозируемое логистической регрессией, может быть где -то между -инфинтией до +бесконечности, и поэтому сигмоидальная/логистическая функция применяется к прогнозируемому значению, чтобы раздавить его между [0,1].

Логистическая функция

Приведенное выше уравнение представляет собой представление логистической регрессии, где RHS представляет собой линейное уравнение (аналогично линейной регрессии) с B0 и B1 в качестве коэффициентов и x в качестве входной особенности. Именно эти коэффициенты изучаются во время тренировочного процесса. Выходная переменная (y) слева – это шансы на класс по умолчанию. Шансы рассчитываются как отношение вероятности события по вероятности не события. P (x) – вероятность класса по умолчанию.

Коэффициенты рассчитываются с использованием оценки максимальной вероятности функции стоимости. Этот алгоритм минимизации используется для оптимизации лучших значений для коэффициентов для наших учебных данных. Лучшие коэффициенты приведут к модели, которая будет предсказать значение, очень близкое к 1 (например, спам) для класса и значения по умолчанию, очень близко к 0 (например, не-спам) для другого класса.

Точки помнить при применении логистической регрессии:

  1. Выбросы и неправильно классифицированные данные должны быть удалены из обучающего набора.
  2. Удалите функции, которые сильно коррелируют, поскольку это приведет к переоснащению модели.

Наивный Байес

Наивный Байеса – это алгоритм классификации, основанный на теореме Байеса. Это делает 2 основных предположения i) Каждая функция не зависит от другой функции ii) Каждому функции дается одинаковый вес/важность.

Байеса теорема

Под P (a | b) мы имеем в виду, что вероятность события дается данное событие B верно. Некоторые популярные алгоритмы классификации наивного байеса:

  1. Гауссовая наивная байеса
  2. Многономиальный наивный байес
  3. Бернулли Наивный Байес

Случайные леса

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

Шаги по строительству случайного лесного классификатора:

  1. Выберите k случайные функции, где k
  2. Определите n, где n – это количество классификаторов дерева решений, которые будут созданы, найдя лучший разделенный узел. Повторите шаги 1 и 2, чтобы создать несколько деревьев классификации.
  3. Чтобы предсказать входную переменную, возьмите голоса из каждого дерева решений и назначьте класс с максимальными голосами.
  4. Случайные леса обычно работают хорошо во всех видах задач классификации. Он способен обрабатывать недостающие функции и категориальные функции.

КНС

KNN обозначает K ближайшего соседа. Здесь ‘k’ – это количество ближайших соседей, которые следует учитывать при классификации входной переменной. Следующие соседи идентифицируются, а класс большинства присваивается входной переменной.

КНН Алгоритм

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

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

Начиная с машинного обучения (серия 7 деталей)

Оригинал: “https://dev.to/apoorvadave/classification-in-machine-learning-1c5n”