Алгоритм персептрона
Материал из MachineLearning.
| | Статья написана с использованием LLM GPT-5.6 Thinking и проверена участником К.Н.Гибадуллина, 18 июля 2026 (MSD) |
Содержание |
Алгоритм персептрона
Представим, что требуется автоматически разделять электронные письма на спам и обычные сообщения. Для каждого письма можно выделить несколько признаков: количество подозрительных слов, число ссылок, наличие большого количества заглавных букв. На основе этих признаков алгоритм выбирает один из двух классов. Такая задача называется бинарной классификацией.
Одним из самых простых алгоритмов для её решения является персептрон. Его предложил американский психолог Фрэнк Розенблатт, опубликовавший в 1958 году статью о персептроне как обучаемой модели распознавания образов.
Основная идея
Персептрон — это простой линейный классификатор. Он получает числовые признаки объекта, вычисляет их взвешенную сумму и по результату относит объект к одному из двух классов.
В примере с письмами класс 1 может соответствовать спаму, а класс 0 — обычному письму. Каждый признак влияет на решение с некоторой силой. Например, большое число подозрительных слов может склонять модель к классу «спам». Во время обучения персептрон сам подбирает величину и направление такого влияния.
Устройство персептрона
Пусть объект описывается признаками . Каждому признаку соответствует вес
. Вес показывает, насколько сильно признак влияет на решение.
Сначала вычисляется значение
где — значение признака,
— его вес, а
— смещение. Смещение позволяет сдвигать границу между классами и не привязывать её к началу координат.
Затем персептрон определяет класс объекта. Если , то он предсказывает класс
. Если
, то предсказывается класс
.
Здесь — ответ персептрона. Таким образом, знак взвешенной суммы определяет, к какому классу будет отнесён объект.
Обучение персептрона
Для обучения используется обучающая выборка, в которой для каждого объекта известен правильный класс. Сначала веса задают нулевыми или небольшими случайными числами. Затем алгоритм последовательно рассматривает примеры.
Для каждого объекта обучение проходит так:
- Персептрон вычисляет взвешенную сумму признаков.
- Получает предсказание
.
- Сравнивает его с правильным ответом
.
- При ошибке изменяет веса и смещение.
Правило изменения весов имеет вид:
Смещение изменяется по похожему правилу:
Здесь — скорость обучения, то есть размер одного исправления.
Если объект первого класса ошибочно отнесён к нулевому, веса изменяются так, чтобы итоговая сумма стала больше. Если объект нулевого класса ошибочно отнесён к первому, сумма уменьшается. Правильно распознанный пример не изменяет модель. Обычно алгоритм несколько раз проходит по всей выборке.
Пример работы
Пусть письмо описывается двумя признаками: — количеством подозрительных слов, а
— количеством ссылок. Рассмотрим письмо с признаками
, которое является спамом, поэтому
.
Пусть вначале ,
, а скорость обучения равна
. Персептрон получает
и ошибочно предсказывает класс 0. После исправления веса становятся
, а смещение —
. Теперь для того же письма сумма равна
, поэтому оно относится к классу 1.
Пример показывает, что персептрон не запоминает ответ, а изменяет общее правило классификации.
Геометрический смысл
Если используются два признака, каждый объект можно представить точкой на плоскости. Уравнение
задаёт прямую. По одну сторону от неё персептрон предсказывает класс 1, а по другую — класс 0. При большем числе признаков роль прямой выполняет гиперплоскость.
Данные называются линейно разделимыми, если существует прямая или гиперплоскость, которая без ошибок разделяет два класса. Теорема сходимости персептрона утверждает, что для линейно разделимой обучающей выборки алгоритм за конечное число исправлений способен найти разделяющую границу. Доказательство здесь не приводится.
Преимущества и ограничения
К преимуществам персептрона относятся простота, небольшое число вычислений и понятный процесс обучения. Он хорошо показывает, как модель может исправлять свои ошибки по примерам.
Главное ограничение состоит в том, что персептрон строит только линейную границу. Если классы нельзя разделить одной прямой или гиперплоскостью, алгоритм не найдёт решения без ошибок. Классический пример — Задача XOR, в которой объекты двух классов расположены по диагонали и не разделяются одной прямой.
Результат также может зависеть от масштаба признаков, порядка объектов и скорости обучения. Персептрон выдаёт класс, но не оценивает вероятность принадлежности объекта к нему.
Отличие от многослойного персептрона
Классический персептрон и многослойный персептрон — не одно и то же. Классический персептрон является простой линейной моделью и строит только линейную разделяющую границу.
Многослойный персептрон представляет собой нейронную сеть из входного, одного или нескольких скрытых и выходного слоёв. Благодаря скрытым слоям и нелинейным функциям активации такая сеть может описывать сложные нелинейные зависимости, в том числе решать задачу XOR. Для её обучения обычно используется алгоритм обратного распространения ошибки, а не классическое правило персептрона.
См. также
- Машинное обучение
- Бинарная классификация
- Линейный классификатор
- Линейная разделимость
- Задача XOR
- Многослойный персептрон
Литература
- Rosenblatt F. The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain // Psychological Review. — 1958. — Vol. 65, No. 6. — P. 386–408.
- Rosenblatt F. Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms. — Washington, D.C.: Spartan Books, 1962.
- Bishop C. M. Pattern Recognition and Machine Learning. — New York: Springer, 2006.
- Minsky M., Papert S. A. Perceptrons: An Introduction to Computational Geometry. — Cambridge, Massachusetts: MIT Press, 1969.

