이 논문의 목적은 정규화 된 로그 우도를 최대화하여 일부 매개 변수를 최적화하는 것이 었습니다. 그런 다음 부분 파생 상품을 계산합니다. 그리고 저자들은 많은 변수의 부드러운 함수를 최적화하기 위해 표준 유사-뉴턴 절차 인 L-BFGS를 사용하여 방정식을 최적화한다고 언급했습니다 (더 자세한 것은 아님).
어떻게 작동합니까?
이 논문의 목적은 정규화 된 로그 우도를 최대화하여 일부 매개 변수를 최적화하는 것이 었습니다. 그런 다음 부분 파생 상품을 계산합니다. 그리고 저자들은 많은 변수의 부드러운 함수를 최적화하기 위해 표준 유사-뉴턴 절차 인 L-BFGS를 사용하여 방정식을 최적화한다고 언급했습니다 (더 자세한 것은 아님).
어떻게 작동합니까?
답변:
기본적으로 L-BFGS는 목적 함수 값과 목적 함수의 기울기를 사용하여 목적 함수의 (로컬) 최소값을 찾는 방법으로 생각합니다. 이 수준의 설명에는 L-BFGS 외에도 많은 최적화 방법이 포함됩니다. 이에 대한 자세한 내용은 Nocedal and Wright "Numerical Optimization, 2nd edition"( http://www.springer.com/us/book/9780387303031) 섹션 7.2에서 확인할 수 있습니다. L-BFGS에 대한 매우 간단한 설명은 https://en.wikipedia.org/wiki/Limited-memory_BFGS 에서 제공됩니다 .
1 차 방법은 기울기 (1 차 도함수) (및 목적 함수 값)가 사용되지만 헤 시안 (2 차 도함수)은 사용되지 않음을 의미합니다. 예를 들어, 경사 하강 및 가파른 하강을 생각해보십시오.
2 차 방법은 그라디언트 및 Hessian (및 아마도 목적 함수 값)이 사용됨을 의미합니다. 2 차 방법은 다음 중 하나를 기반으로 할 수 있습니다.
"정확한"Hessian 행렬 (또는 그라디언트의 유한 차이),이 경우 Newton 방법 또는
"시차"(Quasi-Newton) 조건을 적용하여 여러 반복에 대한 기울기의 차이를 기반으로 Hessian을 근사화하는 Quasi-Newton 방법. Hessian을 다른 방식으로 추정하는 많은 Quasi-Newton 방법이 있습니다. 가장 인기있는 것 중 하나는 BFGS입니다. BFGS Hessian 근사값은 전체 그라디언트 히스토리 (이 경우 BFGS라고 함)를 기반으로하거나 가장 최근의 m 그라디언트만을 기반으로 할 수 있습니다.이 경우 제한된 메모리 BFGS라고하며 약어 L-BFGS로. L-BFGS의 장점은 가장 최근의 m 그라디언트 만 유지하면된다는 점입니다. 여기서 m은 일반적으로 약 10-20이며, 이는 전체를 저장하는 데 필요한 n * (n + 1) / 2 요소보다 훨씬 작은 저장 요구 사항입니다. BFGS에서 요구되는 헤 시안 추정치의 (삼각형) 여기서 n은 문제의 차원입니다. (완전한) BFGS와 달리, Hessian의 추정은 결코 명시 적으로 L-BFGS에 형성되거나 저장되지 않습니다 (BFGS의 일부 구현은 Hessian 근사 자체가 아닌 Hessian 근사의 Choelsky 요인 만 형성하고 업데이트하지만). 오히려, Hessian의 추정에 필요한 계산은 그것을 명시 적으로 형성하지 않고 달성됩니다. 매우 큰 문제 (n이 매우 큰 경우)에 대해 BFGS 대신 L-BFGS가 사용되지만 BFGS만큼 성능이 좋지 않을 수 있습니다. 따라서 BFGS의 메모리 요구 사항을 충족 할 수있는 경우 BFGS가 L-BFGS보다 선호됩니다. 반면, L-BFGS는 BFGS보다 성능면에서 그리 나쁘지 않을 수 있습니다. Hessian의 추정은 명시 적으로 L-BFGS에 명시 적으로 형성되거나 저장되지 않습니다 (BFGS의 일부 구현은 Hessian 근사 자체가 아니라 Hessian 근사의 Choelsky 요인 만 형성하고 업데이트하지만). 오히려, Hessian의 추정에 필요한 계산은 그것을 명시 적으로 형성하지 않고 달성됩니다. 매우 큰 문제 (n이 매우 큰 경우)에 대해 BFGS 대신 L-BFGS가 사용되지만 BFGS만큼 성능이 좋지 않을 수 있습니다. 따라서 BFGS의 메모리 요구 사항을 충족 할 수있는 경우 BFGS가 L-BFGS보다 선호됩니다. 반면, L-BFGS는 BFGS보다 성능면에서 그리 나쁘지 않을 수 있습니다. Hessian의 추정은 명시 적으로 L-BFGS에 명시 적으로 형성되거나 저장되지 않습니다 (BFGS의 일부 구현은 Hessian 근사 자체가 아니라 Hessian 근사의 Choelsky 요인 만 형성하고 업데이트하지만). 오히려, Hessian의 추정에 필요한 계산은 그것을 명시 적으로 형성하지 않고 달성됩니다. 매우 큰 문제 (n이 매우 큰 경우)에 대해 BFGS 대신 L-BFGS가 사용되지만 BFGS만큼 성능이 좋지 않을 수 있습니다. 따라서 BFGS의 메모리 요구 사항을 충족 할 수있는 경우 BFGS가 L-BFGS보다 선호됩니다. 반면, L-BFGS는 BFGS보다 성능면에서 그리 나쁘지 않을 수 있습니다. Hessian의 추정에 필요한 계산은 명시 적으로 형성하지 않고 수행됩니다. 매우 큰 문제 (n이 매우 큰 경우)에 대해 BFGS 대신 L-BFGS가 사용되지만 BFGS만큼 성능이 좋지 않을 수 있습니다. 따라서 BFGS의 메모리 요구 사항을 충족 할 수있는 경우 BFGS가 L-BFGS보다 선호됩니다. 반면, L-BFGS는 BFGS보다 성능면에서 그리 나쁘지 않을 수 있습니다. Hessian의 추정에 필요한 계산은 명시 적으로 형성하지 않고 수행됩니다. 매우 큰 문제 (n이 매우 큰 경우)에 대해 BFGS 대신 L-BFGS가 사용되지만 BFGS만큼 성능이 좋지 않을 수 있습니다. 따라서 BFGS의 메모리 요구 사항을 충족 할 수있는 경우 BFGS가 L-BFGS보다 선호됩니다. 반면, L-BFGS는 BFGS보다 성능면에서 그리 나쁘지 않을 수 있습니다.
이 수준의 설명에서도 많은 변형이 있습니다. 예를 들어, 방법은 완전히 안전하지 않을 수 있으며,이 경우 어떤 일이 발생하더라도 볼록한 문제 일지라도 어떤 것도 수렴되지 않을 수 있습니다. 또는 보호 할 수 있습니다. 보호 방법은 일반적으로 트러스트 영역 또는 줄 검색을 기반으로하며 무언가에 대한 수렴을 보장하기위한 것입니다. 매우 중요한 것은 방법이 L-BFGS라는 것을 아는 것만으로 어떤 유형의 보호가 사용되는지를 스스로 알려주지는 않습니다. 자동차가 4 도어 세단이라는 말과 비슷하지만 모든 4 도어 세단이 성능이나 신뢰성이 동일한 것은 아닙니다. 최적화 알고리즘의 특성 중 하나 일뿐입니다.