DEV//UNIT

Перцептрон

Один нейрон учится разделять классы: ошибка сдвигает веса.

время O(эпохи · n)память O(1)уровень: начальный
Что происходит сейчас0/0
Нажмите Play, чтобы запустить сценарий
TypeScript — активная строка подсвечена шагом
1class Perceptron {
2 w1 = 0; w2 = 0; b = 0
3
4 predict(x: number, y: number): 0 | 1 {
5 return this.w1 * x + this.w2 * y + this.b > 0 ? 1 : 0
6 }
7
8 train(points: Array<[x: number, y: number, c: 0 | 1]>, epochs: number): void {
9 for (let e = 0; e < epochs; e++) {
10 for (const [x, y, c] of points) {
11 const pred = this.predict(x, y)
12 const err = c - pred // ошибка: −1, 0 или +1
13 // сдвигаем веса в сторону правильного ответа
14 this.w1 += err * x
15 this.w2 += err * y
16 this.b += err
17 }
18 }
19 }
20}

Проблема

Один нейрон учится разделять классы: ошибка сдвигает веса.

Что вы видите

w1·x + w2·y + b = 0 — линия; каждая ошибка двигает её в нужную сторону.

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

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

Пошаговый разбор

  1. 01

    Предсказание

    w·x + b > 0?

  2. 02

    Ошибка

    Разница с правильным классом.

  3. 03

    Сдвиг

    Веса += ошибка · вход.

Complexity и ограничения

time
O(эпохи · n)
space
O(1)

Сложность см. в шапке страницы.

Edge cases

  • Пустой вход

    Корректная тривиальная обработка.

  • Вырожденный случай

    Минимум работы — сразу ответ.

Где встречается в реальности

История ML

Перцептрон Розенблатта.

Нейросети

Линейный слой + активация.

Спам-фильтры

Простейшие линейные классификаторы.

Связанные алгоритмы

Shorts

«1958: один нейрон научился видеть»

Тот же сценарий StepSequence в вертикальной композиции — с safe zones и записью WebM ниже на странице.

Shorts 9:16

Вертикальная композиция строится той же последовательностью шагов, что и страница: safe zones отмечены пунктиром (там живёт UI платформ), биты сценария подсвечиваются по прогрессу. Кнопка записи сохраняет WebM — детерминированная StepSequence даёт воспроизводимый ролик без монтажа.

1958: один нейрон научился видеть
Нажмите Play
Бит 1/6 · 0–2 с
Hook
script-setup.ru/algorithms/perceptron