Определить оптимальную скорость обучения для градиентного спуска в линейной регрессии

9

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

Валентин Раду
источник
willamette.edu/~gorr/classes/cs449/momrate.html Попытка отжига с формой локальной адаптации скорости: µ (t) = µ (0) / (1 + t / T); Увеличьте t, когда знак ошибки изменится.
Крис

Ответы:

2

(Годы спустя) найдите метод размера шага Барзилай-Борвейн; У onmyphd.com есть хорошее трехстраничное описание. Автор говорит

этот подход хорошо работает даже для задач больших размеров

но это ужасно для его апплета функции 2d Rosenbrock. Если кто-то использует Barzilai-Borwein, пожалуйста, прокомментируйте.

Денис
источник
1

Ты на правильном пути. Обычный подход состоит в том, чтобы удваивать размер шага всякий раз, когда вы делаете успешный шаг вниз, и вдвое уменьшать размер шага, когда вы случайно зашли «слишком далеко». Конечно, вы можете масштабировать не на 2, а на несколько факторов, но это не имеет большого значения.

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

Нарисовалась
источник
Я думал о умножении / делении на два. Тем не менее, я обеспокоен тем, что умножение на два каждый раз, когда происходит успешный шаг, приведет к гораздо большему количеству итераций. Я надеялся, что есть способ сделать это, используя градиент, так как он предоставляет некоторую информацию о том, насколько крутой склон.
Валентин Раду
Мне кажется неправдоподобным, что вы можете получить такую ​​информацию из градиента. Один только градиент не говорит вам, насколько вы далеки от оптимального, и что более важно - как меняется сам градиент при изменении . Для этого вам понадобится гессиан. x
sjm.majewski
Если вы имеете дело с базовым стационарным процессом, максимальная скорость обучения определяется спектром матрицы корреляции, верно?
яркая звезда