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

Минимизация функции стоимости очень важна в модели машинного обучения. Здесь градиентный спуск - это итерационный метод минимизации функции стоимости. Функция стоимости - ошибка прогнозирования (Y_Actual-Y_Predicted)

Если вы видите изображение выше, человек находится на вершине горы или в середине горы, здесь человек хочет спуститься с минимальным количеством шагов. Человек делает это итеративно (небольшими шагами), пока не достигнет подножия горы.

Градиентный спуск работает так же. Здесь гора - это измерение данных, шаги - это скорость обучения, а нижняя часть (целевая точка) - это функция стоимости с минимальными ошибками.

Скорость обучения: -

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

Как выбрать скорость обучения?

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

Если скорость обучения слишком мала, значит, она достигла локального минимума, но это занимает слишком много времени.

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

При градиентном спуске мы рассчитываем стоимость по всем точкам данных. и выполнять обновления веса на каждой итерации. Например, если у нас в поезде 10 000 очков, мы вычисляем W (веса) и стоимость только за одну итерацию.

Проблема с градиентным спуском: предположим, что гора имеет две точки минимума, первая достигнутая точка минимума называется локальным минимумом, а вторая (последняя) точка минимума называется глобальным минимумом. Затем градиентный спуск останавливает функцию стоимости, когда она достигает локального минимума. .

Всегда лучше оптимизировать функцию стоимости, чтобы она достигла глобального минимума. Для этого мы должны использовать другую технику градиентного спуска. Это следующие: -

  1. Пакетный градиентный спуск
  2. Стохастический градиентный спуск
  3. Мини-пакетный градиентный спуск

1. Пакетный градиентный спуск: -

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

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

2.Стохастический градиентный спуск: -

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

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

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

3. Мини-пакетный градиентный спуск: -

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

Также просмотрите следующую часть, т. е. программный подход к этой методике

Использованная литература:-