Вы можете спрашивать или искать, что такое градиентный спуск и как он работает. В этой статье я кратко покажу вам, что такое градиентный спуск Итак, давайте начнем.

Предположим, у нас есть набор данных, состоящий из трех функций, и мы хотим знать, какие функции важнее.

Итак, во-первых, мы присвоим каждой функции ВЕС, этот вес показывает, насколько функция важна, если вес большой, то он важен, если он маленький, то он не так важен и не повлияет на результат.

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

Итак, теперь вы можете спросить ГДЕ ГРАДИЕНТНЫЙ СПУСК?? Градиентный спуск — это способ обновить эти веса и получить их оптимальное значение, а также свести к минимуму ошибку.

Мы будем использовать сумму квадратов ошибок (SSE) при вычислении значения ошибки, которое мы хотим, чтобы оно было минимальным.

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

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

  • Скорость обучения.
  • Функция активации.
  • Случайные инициализированные веса.

Шаг 1:

У нас есть 3 функции, поэтому мы примем 3 веса, по одному для каждой функции с любым номером. Ж1 = 0,3443, Ж2 = 0,3213, Ж3 = 0,5642

Шаг 2 :

Выберите подходящий курс обучения!

ВЫ МОЖЕТЕ СЕЙЧАС СПРОСИТЬ, ЧТО ТАКОЕ СКОРОСТЬ ОБУЧЕНИЯ?!

Скорость обучения — это то, насколько вы продвигаетесь глубже к минимальным потерям, если она слишком мала, нам потребуется больше времени для обучения нашей модели, а если она слишком велика, мы можем не достичь точки минимальных потерь. Этот рисунок больше иллюстрирует то, что я имею в виду. Представьте себе эту кривую как… Итак, мы выбираем скорость обучения, например, 0,001 или 0,01.

Шаг 3 :

Рассчитайте «Y» выход системы. Мы вычисляем «Y» путем скалярного произведения функций и весов.

Y = X1*W1 + X2*W2 + X3*W3 + X4*W4

Шаг 4:

Выберите функцию активации. Здесь мы будем использовать сигмовидную функцию, поэтому нам нужно обновить наш вывод «y» до нового значения. Поскольку мы используем сигмовидную функцию, тогда Y = 1/1+e^-x.

Шаг 5:

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

Новый вес 1 = старый вес 1 + скорость обучения * функция 1 * (д-г) * г * (1-г)

  • Старый вес 1 — это W1, который мы инициализировали на шаге 1.
  • Скорость обучения, которую мы выбрали на шаге 2.
  • Функция 1 – это первая функция (поскольку мы обновляем вес 1).
  • (dy) — это потеря ошибки, где "d" — это желаемый результат (0, 1 и т. д.), а y – значение, полученное на последнем шаге, которое будет равно 1/1. +e^-x мы использовали это, потому что мы используем сигмовидную функцию 'x' здесь функция 1.
  • y*(1-y)Поскольку мы используем сигмовидную функцию.

Шаг 6:

Вычислите ошибку, используя сумму квадратов ошибок по всем тестовым данным, мы вычтем прогнозируемое значение (из шага 4) и фактическое значение (необходимый результат).