упрощенная задача

Предположим, у нас есть один пример обучения с вводом 1 и целью 2. Использование упрощенного нейрона только с одним весом. Каково значение веса, чтобы модель лучше всего соответствовала нашей паре (входная, целевая)?.

Исходя из входа и веса, мы рассчитали выход. Затем из цели и выходных данных мы могли бы вычислить ошибку, используя среднеквадратичную ошибкуформулу.

Теперь проблема заключается в том, чтобы найти вес, чтобы минимизировать ошибку. Конечно, в этом упрощенном нейроне мы могли бы легко найти w=2, тогда минимальная ошибка = 0. В реальности ошибкаилипотеряфункция содержит вес и погрешность от тысяч до миллионов, поэтому мы не можем решить уравнение напрямую, но нам нужен алгоритм, чтобы убедиться, что после нескольких шагов чтобы изменить вес, ошибка уменьшится и приблизится к минимальному значению.

градиентный спуск

градиентный спуск — это алгоритм, гарантирующий уменьшение ошибки при изменении веса. Вычислите производную ошибкиотносительно веса ​​, которую мы имеем

вот и все, у нас есть алгоритм изменения веса ​​и он называется градиентным спускомв основном из-за следующей формулы :

градиентный спуск с питоном

Я создаю следующий демонстрационный код для той формулы, которая у нас есть выше

И у нас есть следующий график, показывающий процесс изменения веса, чтобы минимизировать ошибку. Красная точка перемещается с весом, и мы видим, что ошибка приближается к минимальному значению 0.

Это так, легко ли градиентный спуск? Спасибо за ваше чтение.