Неитеративный Метод Обучения Однослойной Сети Прямого Распространения С Линейной Функцией Активации

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

Планирую реализовать метод в следующей статье.

Перспективы неитеративного обучения нейронных сетей очень велики; потенциально это самый быстрый способ обучения нейронной сети.

Серию работ по неитеративному обучению хочу начать с самого простого случая (где упрощать некуда).

А именно, из однослойной сети прямого распространения с линейной функцией активации, взвешенным сумматором.

Функция ошибки для одного нейрона задается как:

Неитеративный метод обучения однослойной сети прямого распространения с линейной функцией активации

Где

Неитеративный метод обучения однослойной сети прямого распространения с линейной функцией активации

, m — количество входов в нейронной сети, n — мощность обучающей выборки, состоящей из пар: выходного идеального значения «y» для каждого нейрона и входного вектора «x».

Также стоит отметить, что каждый нейрон можно обучать отдельно.

Сеть будет обучена, если:

Неитеративный метод обучения однослойной сети прямого распространения с линейной функцией активации

, т. е.

если ошибка минимальна.

Учитывая, что функция активации линейна, а уравнение функции ошибок квадратично, очевидно, что такая функция не имеет максимума, а значит, и условия, при котором

Неитеративный метод обучения однослойной сети прямого распространения с линейной функцией активации

, это минимальное условие.

Давайте сначала определим эту производную и приравняем ее 0.

Неитеративный метод обучения однослойной сети прямого распространения с линейной функцией активации

После ряда преобразований получим:

Неитеративный метод обучения однослойной сети прямого распространения с линейной функцией активации

Где k – номер уравнения в системе.

Для завершения обучения нам необходимо вычислить вектор весов W. Нетрудно заметить, что последнее выражение, если оно записано для каждого уравнения, представляет собой СЛАУ относительно W. Для решения этой системы я выбрал метод Крамера (метод Гаусса работает быстрее, но не так однозначно).

Вес каждого нейрона можно записать как:

Неитеративный метод обучения однослойной сети прямого распространения с линейной функцией активации

Вот матрица

Неитеративный метод обучения однослойной сети прямого распространения с линейной функцией активации

это матрица «А» в которой j-й столбец заменен вектором Б.

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

P.S. Если есть замечания по статье, пишите, всегда приветствую конструктивную критику.

Теги: #нейронная сеть #математика #дифференциальные уравнения #математика #Машинное обучение

Вместе с данным постом часто просматривают: