Бинарные классификаторы

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

Эти два класса часто называют положительным классом и отрицательным классом или классом 1 и классом 0, в зависимости от контекста. Классификатор принимает входные объекты и выводит прогноз, указывающий, к какому классу принадлежат входные данные.

Он может быть основан на различных алгоритмах и методах, включая, помимо прочего:

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

Машины опорных векторов (SVM): SVM строит гиперплоскость или набор гиперплоскостей в многомерном пространстве, чтобы разделить два класса с максимальным запасом.

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

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

Алгоритмы повышения градиента. Методы повышения градиента, такие как XGBoost или AdaBoost, создают ансамбль слабых учеников (часто деревья решений), которые последовательно обучаются исправлять ошибки, допущенные предыдущими учениками.

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

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

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

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

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

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

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

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

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

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

6. Выход: результат — это результат применения функции активации к взвешенной сумме (плюс смещение, если оно присутствует). Обычно он представляет собой решение о классификации или прогноз, сделанный персептроном, например, присвоение входных данных определенному классу или создание двоичного вывода.

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

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

Типы моделей персептрона

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

2. Многослойный персептрон (MLP). Многослойный персептрон является расширением однослойного персептрона, который вводит один или несколько скрытых слоев между входным и выходным слоями. Каждый скрытый слой содержит несколько нейронов, и нейроны тесно связаны между последовательными слоями. MLP может обрабатывать нелинейно разделимые задачи и способен изучать сложные отображения.

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

4. Сеть радиальных базисных функций (RBFN): RBFN — это тип модели персептрона, который использует радиальные базисные функции в качестве функций активации в скрытых слоях. RBFN вычисляет взвешенную сумму расстояний между входными данными и набором изученных векторов-прототипов (центров) и применяет радиальную базисную функцию для определения активаций скрытого слоя.

5. Вероятностная нейронная сеть (PNN). PNN — это модель персептрона, архитектура которой включает теорию вероятностей. Он использует нелинейную функцию активации, называемую ядром Гаусса, для расчета вероятности того, что входные данные принадлежат определенному классу. PNN часто используется для задач классификации и может обрабатывать как бинарные, так и мультиклассовые задачи.

6. Самоорганизующиеся карты (SOM): SOM, также известные как сети Кохонена, представляют собой модель обучения без учителя, основанную на архитектуре персептрона. SOM используется для кластеризации и визуализации. Он организует входные данные в низкоразмерную сетку нейронов, где каждый нейрон представляет собой прототип кластера.

7. Теория адаптивного резонанса (ART): ART – это семейство моделей нейронных сетей, использующих архитектуру персептрона для реализации самоорганизующегося и адаптивного обучения. Сети ART способны обучаться и распознавать закономерности стабильным и адаптивным образом.

Правило обучения персептрона

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

Ниже приведены правила основного потока:

  1. Инициализируйте веса персептрона небольшими случайными значениями или нулями.
  2. Для каждого обучающего примера (входного экземпляра) в обучающем наборе данных выполните следующие шаги:

а. Рассчитайте взвешенную сумму входных данных, умножив каждое входное значение на соответствующий вес и просуммировав их:

weighted_sum = weight1 * input1 + weight2 * input2 + ... + weightN * inputN

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

predicted_output = activation_function(weighted_sum)

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

error = desired_output - predicted_output

д. Обновите веса, используя правило обучения персептрона:

weight_new = weight_old + learning_rate * error * input

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

3. Повторите шаг 2 для всех обучающих примеров в наборе данных.

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

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

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

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

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