Двухслойная сеть и обратное распространение (XOR / спираль)
Реализован минимальный многослойный перцептрон в духе вводных курсов ML: один скрытый слой с tanh и логистический выход σ(z₂) для бинарной метки по двум признакам (x, y). Прямой проход: z₁ = W₁ x + b₁, a₁ = tanh(z₁), z₂ = w₂ᵀ a₁ + b₂, ŷ = σ(z₂). Обучение — полный батч (усреднение градиента по всем точкам) с шагом η по средней бинарной кросс-энтропии. Обратное распространение — цепное правило: ошибка на выходе ŷ − y тянет W₂, b₂, затем через tanh′(z₁) = 1 − tanh²(z₁) — W₁, b₁. Теплокартаσ(z₂(x, y)) показывает P(класс 1) и как движется граница уровня ~0.5 после блоков эпох; белое кольцо — ошибка на обучении. Пресеты XOR и две спирали.
Для кого: Студенты, осваивающие обозначения MLP, BCE и ручной backprop до фреймворков; хорошо сочетается с лабораторией дерева решений на сайте.
Ключевые понятия
MLP
Tanh
Сигмоида
BCE
Полный батч
Backprop
Граница решения
XOR
Как это работает
2-слойный MLP: z₁ = W₁x + b₁, tanh, затем σ(W₂a₁ + b₂); потеря BCE; полный батч — градиент усредняется по всем точкам; backprop: ŷ−y на выходе, далее tanh′ к W₁. Теплокарта — P(класс 1); граница ~0.5 движется по эпохам.
Часто задаваемые вопросы
Почему здесь tanh, а не ReLU?
ReLU чаще в глубоких сетях из-за скорости и разреженности, но tanh гладкий и ограниченный — для крошечной учебной модели удобнее и ближе к классическим выкладкам; при насыщении всё равно виден эффект «затухающих» производных.
Полный батч — это как SGD?
SGD берёт маленькие случайные подмножества (или одну точку) на шаг; полный батч усредняет градиент по всем точкам — здесь так проще интерпретировать шаг, но на больших N шаг тяжелее.
Почему спирали иногда не доучиваются?
Спирали сложные, а сеть маленькая; нужны ширина H, устойчивый η и много эпох. Границе могут понадобиться «изгибы», которые при узком скрытом слое появляются медленно или застревают в плохом локальном минимуме.