Спуск по координатам обновляет один параметр за раз, в то время как градиентный спуск пытается обновить все параметры одновременно.
Трудно точно указать , когда один алгоритм будет работать лучше, чем другой. Например, я был очень потрясен, узнав, что координатный спуск был для LASSO современным уровнем. И я был не единственным; см. слайд 17 .
С учетом сказанного, есть некоторые особенности, которые могут сделать проблему более корректируемой для координации спуска:
(1) Быстрые условные обновления. Если по какой-то причине проблема позволяет индивидуально оптимизировать параметры очень быстро, спуск по координатам может использовать это. Например, можно обновить некоторые параметры, используя только подмножество данных, что значительно снижает вычислительные затраты на эти обновления. Другой случай, если есть решение в закрытой форме для отдельного параметра, зависящее от значений всех других параметров.
(2) Относительно независимые режимы для параметров. Если оптимальное значение одного параметра полностью не зависит от значений других параметров, то один раунд спуска координат приведет к решению (при условии, что каждое обновление координат находит текущий режим). С другой стороны, если режим для данного параметра очень сильно зависит от других значений параметров, спад координат с большой вероятностью будет постепенно увеличиваться с очень небольшими обновлениями в каждом раунде.
К сожалению, для большинства задач (2) не выполняется, поэтому редко, когда спуск по координатам дает хорошие результаты по сравнению с альтернативными алгоритмами. Я считаю, что причина того, что он работает хорошо для LASSO, заключается в том, что есть много приемов, которые можно использовать для выполнения условия (1).
α