(Редагувати примітки: я реорганізував це після того, як відлякав його довжину.)
Літературу про координатний спуск можна трохи відстежити. Ось деякі причини цього.
Багато відомих властивостей методів координат відображено в теоремах парасольки для більш загальних методів спуску. Два приклади цього, наведені нижче, є швидкої збіжності при сильній опуклості (утримання для будь-якого градієнтного спуску), а загальна збіжність цих методів (зазвичай пов'язують з Zoutendijk).lp
Іменування не є стандартним. Навіть термін "найкрутіший спуск" не є стандартним. У вас може бути успіх гуглінгу будь-якого з термінів "циклічний координатний спуск", "координатний спуск", "Гаусс-Сейдель", "Гаус-Саутуелл". використання не є послідовним.
Циклічний варіант рідко отримує особливу згадку. Замість цього зазвичай обговорюється лише найкращий єдиний вибір координати. Але це майже завжди дає циклічну гарантію, хоча і з додатковим фактором (кількість змінних): це тому, що більшість аналізів конвергенції проходить шляхом нижчого обмеження вдосконалення на один крок, і ви можете ігнорувати додаткові координати. Також важко сказати що-небудь загальне про те, що циклічно купує тебе, тому люди просто роблять найкращу координацію, і n- фактор зазвичай може бути перевірений.nn
Швидкість при сильній опуклості. Найпростіший випадок - ваша цільова функція сильно опукла. Тут усі варіанти спуску градієнта мають швидкість . Це доведено в книзі Boyd & Vandenberghe. Доказ спочатку дає результат для градієнтного спуску, а потім використовує нормову еквівалентність, щоб дати результат для загального l p найвищого спуску.O(ln(1/ϵ))lp
Обмеження. Без сильної опуклості ви повинні почати бути трохи обережними. Ви нічого не сказали про обмеження, і, таким чином, загалом, мінімальне може бути недосяжним. Я коротко скажу на тему обмежень, що стандартний підхід (із методами спуску) полягає у проектуванні на ваш обмеження, встановленому кожну ітерацію, щоб підтримувати здійсненність, або використовувати бар'єри для перенесення обмежень у вашу цільову функцію. Що стосується колишнього, я не знаю, як це грає з координатним узвозом; у випадку останнього він прекрасно працює при координатному спуску, і ці бар'єри можуть бути сильно опуклими.
Більш конкретно, щоб координувати методи, а не проектувати, багато людей просто змушують оновлення координат підтримувати можливість: це, наприклад, саме з алгоритмом Франка-Вулфа та його варіантами (тобто, використовуючи його для розв’язання СДП).
Я також коротко зазначу, що алгоритм SMO для SVM можна розглядати як метод спуску координат, де ви оновлюєте відразу дві змінні та підтримуєте обмеження техніко-економічної спроможності під час цього. Вибір змінних є евристичним у цьому методі, і тому гарантії насправді є лише циклічними гарантіями. Я не впевнений, чи з’являється цей зв’язок у стандартній літературі; Я дізнався про метод SMO з курсових записок Ендрю Нґ і виявив їх досить чистими.
Загальна гарантія конвергенції. Те, що я знаю в цій більш загальній обстановці (для координатного спуску), є значно слабкішою. По-перше, існує давній результат, зумовлений Зутендійком, що всі ці варіанти градієнта гарантували конвергенцію; це можна знайти в книзі Nocedal & Wright, і це також з’являється в деяких книгах Берцекаса (принаймні, «нелінійне програмування»). Ці результати знову для чогось більш загального, ніж координатний спуск, але ви можете їх спеціалізувати для координації спуску, а потім отримати циклічну частину, помноживши на .n
O(ln(1/ϵ))
Є кілька останніх результатів координатного спуску, я бачив речі на arXiv. Крім того, у luo & tseng є кілька нових робіт. але це головний матеріал.
∑mi=1g(⟨ai,λ⟩)g(ai)m1λexp(1/ϵ2)O(1/ϵ)
Проблема з точними оновленнями. Крім того, дуже часто трапляється так, що у вас немає єдиного оновлення координат закритої форми. Або точне рішення може просто не існувати. Але, на щастя, існує багато і багато методів пошуку рядків, які отримують в основному ті ж гарантії, що і точне рішення. Цей матеріал можна знайти в стандартних текстах нелінійного програмування, наприклад, у згаданих вище книгах Берцекаса або Ноцедаля і Райт.
По відношенню до другого абзацу: коли вони добре працюють.
По-перше, багато згаданих вище аналізів для градієнтної роботи для координатного спуску. То чому б не завжди використовувати координатний спуск? Відповідь полягає в тому, що для багатьох проблем, де застосовується спуск градієнта, ви також можете використовувати методи Ньютона, для яких можна довести вищу конвергенцію. Я не знаю способу отримати перевагу Ньютона за допомогою координатного спуску. Крім того, висока вартість методів Ньютона може бути зменшена за допомогою оновлень Quasinewton (див., Наприклад, LBFGS).
l0 sense). Of course, there are NP-hardness issues with this kind of sparsity, but the point is that if you run k iterations, you have k nonzero entries. These facts generalize to, say, using coordinate methods with SDP solvers, where each iteration you throw in a rank 1 matrix, thus with k iterations you have a rank k iterate. There is a great paper on this topic, by Shalev-Shwartz, Srebro, and Zhang, titled "trading accuracy for sparsity in optimization problems with sparsity constraints". Most specifically to the second paragraph of your question, this paper gives further properties on f that allow fast convergence and good sparsity (true to its title).