좌표 하강은 한 번에 하나의 매개 변수를 업데이트 하는 반면, 경사 하강은 모든 매개 변수를 한 번에 업데이트하려고 시도합니다.
한 알고리즘이 다른 알고리즘보다 더 나은시기를 정확하게 지정하는 것은 어렵습니다 . 예를 들어, 좌표 하강이 LASSO의 최첨단이라는 사실을 알게되어 매우 충격을 받았습니다. 그리고 나는 유일한 사람이 아니었다. 슬라이드 17 참조 .
그렇기 때문에 하강을 조정하기 위해 문제를 더 수정할 수있는 몇 가지 기능이 있습니다.
(1) 빠른 조건부 업데이트. 어떤 이유로 문제가 매개 변수를 매우 빠르게 개별적으로 최적화 할 수있는 경우 좌표 하강에서이를 사용할 수 있습니다. 예를 들어, 데이터의 서브 세트만을 사용하여 특정 파라미터를 업데이트 할 수있어, 이들 업데이트의 계산 비용을 크게 감소시킬 수있다. 다른 경우는 다른 모든 매개 변수의 값에 따라 개별 매개 변수에 대해 닫힌 양식 솔루션이있는 경우입니다.
(2) 파라미터에 대해 상대적으로 독립적 인 모드. 한 매개 변수의 최적 값이 다른 매개 변수 값과 완전히 독립적 인 경우, 한 좌표의 하강 라운드가 솔루션으로 이어집니다 (각 좌표 업데이트가 현재 모드를 찾는 것으로 가정). 반면에, 주어진 매개 변수의 모드가 다른 매개 변수 값에 크게 의존하는 경우, 좌표 하강은 각 라운드마다 매우 작은 업데이트로 함께 인치 될 가능성이 매우 높습니다.
불행히도, 대부분의 문제에서 (2)는 유지하지 않으므로 좌표 강하가 다른 알고리즘과 비교되는 경우는 거의 없습니다. 나는 그것이 LASSO에 대해 잘 수행되는 이유는 조건을 제정하는 데 사용할 수있는 많은 트릭이 있기 때문이라고 생각합니다 (1).
그래디언트 디센트의 경우,이 알고리즘은 2 차 도함수가 상대적으로 안정적이고 양호한 가 선택 되고 Hessian의 대각 대각선이 대각선 항목에 비해 상대적으로 작 으면 잘 작동합니다. 이러한 조건도 드물기 때문에 일반적으로 L-BFGS와 같은 알고리즘보다 성능이 떨어집니다.α