1. Искусственный
нейрон принимает входные признаки, умножает их на соответствующие веса,
суммирует полученные значения, добавляет смещение и применяет функцию
активации. Веса определяют влияние отдельных признаков, смещение позволяет
сдвигать результат вычисления, а функция активации преобразует выход нейрона и
вводит нелинейность.
2. Sigmoid
преобразует значения в диапазон от 0 до 1 и часто применяется на выходе
бинарного классификатора. Tanh возвращает значения от −1 до 1 и может
использоваться в скрытых слоях отдельных архитектур. ReLU возвращает максимум
из нуля и входного значения, поэтому её выход находится в диапазоне от 0 до
бесконечности. Она широко применяется в скрытых слоях глубоких нейронных сетей.
3. При прямом
распространении входные данные последовательно проходят через слои сети. Каждый
слой вычисляет взвешенные суммы, добавляет смещения и применяет функции
активации. На выходе формируется прогноз, который сравнивается с правильным
ответом с помощью функции потерь. Для регрессии часто используется
среднеквадратичная ошибка, а для бинарной классификации — бинарная
кросс-энтропия.
4. Обратное
распространение ошибки вычисляет производные функции потерь по весам и
смещениям всех слоёв с использованием цепного правила дифференцирования.
Сначала определяется сигнал ошибки выходного слоя, затем он распространяется к
предыдущим слоям. Полученные градиенты используются для изменения параметров,
например методом градиентного спуска, с целью уменьшения функции потерь.
5. В примере
используется набор digits, содержащий изображения рукописных цифр размером 8
× 8 пикселей, представленные 64 признаками. Данные разделяются на
обучающую и тестовую выборки. С помощью Pipeline объединяются StandardScaler и
MLPClassifier с двумя скрытыми слоями по 64 и 32 нейрона. StandardScaler
стандартизирует признаки без утечки информации из тестовой выборки. Параметр
early_stopping=True прекращает обучение, когда качество на внутренней
валидационной части перестаёт улучшаться.