최적화 알고리즘이 다른 최적화 문제로 정의되는 이유는 무엇입니까?


23

기계 학습을위한 최적화 기술에 대한 연구를하고 있지만 다른 최적화 문제와 관련하여 많은 수의 최적화 알고리즘이 정의되어 있다는 사실에 놀랐습니다. 다음은 몇 가지 예를 보여줍니다.

예를 들어 https://arxiv.org/pdf/1511.05133v1.pdf

여기에 이미지 설명을 입력하십시오

모든 것이 멋지고 좋아 보이지만 업데이트에 가 있습니다 . 대해 해결되는 알고리즘은 무엇 입니까? 우리는 알지 못합니다. 마술처럼 우리는 내부 벡터가 최소가되도록 최소화 벡터를 찾는 또 다른 최적화 문제를 해결해야합니다. 어떻게하면 될까요?argminxzk+1argmin

다른 예를 보자 : https://arxiv.org/pdf/1609.05713v1.pdf

여기에 이미지 설명을 입력하십시오

알고리즘 중간에 근위 연산자를 칠 때까지 모든 것이 멋지고 좋아 보입니다. 해당 연산자의 정의는 무엇입니까?

팔:여기에 이미지 설명을 입력하십시오

이제 근위 연산자 에서이 를 어떻게 해결 합니까? 말하지 않습니다. 어쨌든 그 최적화 문제는 가 무엇인지에 따라 어렵게 보입니다 (NP HARD) .argminxf

누군가 나를 제발 깨달을 수 있습니까?

  1. 다른 최적화 문제와 관련하여 너무 많은 최적화 알고리즘이 정의 된 이유는 무엇입니까?

(이것은 일종의 닭고기와 계란 문제가 될 수는 없습니다 : 문제 1을 해결하려면 문제 해결에 의존하는 문제 3을 해결하는 방법을 사용하여 문제 2를 해결해야합니다 ....)

  1. 이 알고리즘에 포함 된 최적화 문제를 어떻게 해결합니까? 예를 들어, , 오른쪽에서 최소화 찾는 방법은 무엇입니까?xk+1=argminxreally complicated loss function

  2. 궁극적으로 이러한 알고리즘을 수치 적으로 구현할 수있는 방법에 대해 의아해합니다. 파이썬에서 벡터를 더하고 곱하는 것이 쉬운 연산이라는 것을 알고 있지만 는 어떻습니까?argminx

(Bounty : 누구나 높은 수준의 최적화 알고리즘에 포함 된 하위 문제에 대한 알고리즘을 명확하게 작성한 논문을 참조 할 수 있습니까?)


관련 있을 수 있습니다.
GeoMatt22

1
하위 문제가 기존의 문제가 아닌 NP-hardness라는 점을 강조하면 질문이 훨씬 나아질 것 같습니다.
Mehrdad

죄송합니다. "NP-hardness"는 마지막 코멘트에서 "NP-hard"라고 말해야합니다.
Mehrdad

현상금 요청에 따라 참조를 제공하는 내 답변 편집 2를 참조하십시오.
Mark L. Stone

답변:


27

최상위 알고리즘 순서도를보고 있습니다. 순서도의 개별 단계 중 일부는 고유 한 세부 순서도를 사용할 수 있습니다. 그러나 간결성을 강조한 출판 된 논문에서는 많은 세부 사항이 생략되는 경우가 많습니다. "오래된 모자"로 간주되는 표준 내부 최적화 문제에 대한 세부 사항은 전혀 제공되지 않을 수 있습니다.

일반적인 아이디어는 최적화 알고리즘이 일반적으로 더 쉬운 일련의 쉬운 최적화 문제의 솔루션을 요구할 수 있다는 것입니다. 최상위 알고리즘 내에 3 또는 4 수준의 최적화 알고리즘이있는 것은 드문 일이 아니지만 일부는 표준 최적화 프로그램에 내장되어 있습니다.

(계층 레벨 중 하나에서) 알고리즘 종료 시점을 결정하더라도 측면 최적화 문제를 해결해야 할 수도 있습니다. 예를 들어, 음을 제한하지 않는 선형 최소 제곱 문제는 최적 성을 선언하는 시점을 결정하는 데 사용되는 KKT 최적 성 점수를 평가하는 데 사용되는 라그랑주 승수를 결정하기 위해 해결 될 수 있습니다.

최적화 문제가 확률 론적이거나 역동적이라면, 추가적인 계층 적 최적화 수준이있을 수 있습니다.

다음은 예입니다. 순차적 이차 프로그래밍 (SQP). 초기 최적화 문제는 문제의 라그랑지안의 2 차 근사와 제약의 선형화 인 목적으로 시작하여 Karush-Kuhn-Tucker 최적 조건을 반복적으로 해결하여 처리됩니다. 결과 이차 프로그램 (QP)이 해결됩니다. 해결 된 QP는 신뢰 영역 제한 조건을 갖거나 다음 반복을 찾기 위해 현재 반복에서 QP의 솔루션으로 자체 탐색 문제에 대한 행 검색이 수행됩니다. Quasi-Newton 방법을 사용하는 경우 Lagrangian의 Hessian에 대한 Quasi-Newton 업데이트를 결정하기 위해 최적화 문제를 해결해야합니다. 일반적으로 BFGS 또는 SR1과 같은 닫힌 양식 수식을 사용하는 닫힌 양식 최적화입니다. 그러나 그것은 수치 최적화 일 수 있습니다. 그러면 새로운 QP 등이 해결됩니다. QP가 시작을 포함하여 실행 불가능한 경우, 실행 가능한 지점을 찾기 위해 최적화 문제가 해결됩니다. 한편, QP 솔버 내에서 한두 가지 레벨의 내부 최적화 문제가 발생할 수 있습니다. 각 반복이 끝날 때, 음수가 아닌 선형 최소 제곱 문제는 최적 성 점수를 결정하기 위해 해결 될 수 있습니다. 기타.

이것이 혼합 정수 문제인 경우,이 전체 shebang은 상위 알고리즘의 일부로 각 분기 노드에서 수행 될 수 있습니다. 글로벌 옵티마이 저의 경우와 마찬가지로 로컬 최적화 문제를 사용하여 글로벌 최적 솔루션에서 상한을 생성 한 다음, 일부 제약 조건을 완화하여 하한 최적화 문제를 생성합니다. 하나의 혼합 정수 또는 전역 최적화 문제를 해결하기 위해 분기 및 경계에서 수천 또는 수백만 개의 "쉬운"최적화 문제를 해결할 수 있습니다.

이것은 당신에게 아이디어를 제공하기 시작해야합니다.

편집 : 내 대답 후 질문에 추가 된 닭고기와 계란 질문에 대한 답변 : 닭고기와 계란 문제가 있으면 잘 정의 된 실용적인 알고리즘이 아닙니다. 내가 제시 한 예에는 닭고기와 달걀이 없습니다. 상위 레벨 알고리즘 단계는 정의되었거나 이미 존재하는 최적화 솔버를 호출합니다. SQP는 하위 문제를 해결하기 위해 QP 솔버를 반복적으로 호출하지만 QP 솔버는 원래 문제보다 더 쉬운 문제인 QP를 해결합니다. 더 높은 수준의 전역 최적화 알고리즘이있는 경우 SQP 솔버를 호출하여 로컬 비선형 최적화 하위 문제를 해결하고 SQP 솔버는 QP 해결사를 호출하여 QP 하위 문제를 해결합니다. chiicken과 계란이 없습니다.

참고 : 최적화 기회는 "모든 곳"입니다. 최적화 알고리즘을 개발하는 사람들과 같은 최적화 전문가는 이러한 Joe가 Jane보다 평균적으로 이러한 최적화 기회를보고 그럴 가능성이 높습니다. 그리고 알고리즘 적으로 기울어지기 때문에 자연스럽게 저수준 최적화 알고리즘에서 최적화 알고리즘을 구축 할 수있는 기회를 얻게됩니다. 최적화 문제의 공식화 및 솔루션은 다른 (높은 수준의) 최적화 알고리즘의 빌딩 블록 역할을합니다.

편집 2 : 방금 OP에 의해 추가 된 현상금 요청에 대한 응답. SQP 비선형 옵티 마이저 SNOPT https://web.stanford.edu/group/SOL/reports/snopt.pdf를 설명하는 논문 은 SNOPT의 QP 하위 문제를 해결하는 데 사용되는 것으로 별도로 문서화 된 QP 솔버 SQOPT를 구체적으로 언급합니다.


2

Mark의 답변이 마음에 들지만 기본적으로 모든 최적화 알고리즘에서 실행할 수있는 "Simulated Annealing"에 대해서는 언급하고 있습니다. 높은 수준에서 다음과 같이 작동합니다.

"시작"매개 변수가있어 시작됩니다. 뜨거울 때 하위 최적화 알고리즘이 가리키는 곳에서 멀어지고 멀리 떨어집니다. 그것이 냉각됨에 따라 종속 알고리즘의 조언을 더 밀접하게 따르고, 제로에서는 로컬 최적에 도달 한 후에 따라갑니다.

직관은 처음에 공간을 넓게 검색하여 최적의 위치를 ​​찾기 위해 "더 나은 장소"를 찾는 것입니다.

우리는 지역 / 세계 최적 문제에 대한 실질적인 해결책이 없다는 것을 알고 있습니다. 모든 알고리즘에는 사각 지대가 있지만 이와 같은 하이브리드는 많은 경우 더 나은 결과를 제공하는 것으로 보입니다.


"메타 알고리즘"의이 범주는 때때로 메타 휴리스틱 이라고합니다 .
GeoMatt22

@ GeoMatt22 다음은 제가 학부생으로 공식화 한 휴리스틱 증명 또는 휴리스틱 논증의 정의입니다. 유사하게, 휴리스틱 알고리즘은 임의의 알고리즘 또는 그 부족으로, 해결 될 문제를 정확하게 해결하지 못할 수있다.
Mark L. Stone

" 중지 된 시계 "휴리스틱 처럼 ? 여기에 설명 된 Neumaier (2004) 분류 체계 는 합리적입니다.
GeoMatt22

하이브리드 옵티 마이저 또는 메타 휴리스틱에 대해 +1 이론과 논문에서는 훌륭하지만 엔지니어링 최적화에서 자주 발생하는 실제 다중 모드 복합 목표 함수를 해결하는 데는 적합하지 않은 실제 대 파생 기반 최적화 프로그램에서 매우 잘 작동합니다.
예측 자

@forecaster 문제에 따라 다양한 접근 방식이 있습니다. 딥 러닝 및 PDE 기반 최적화와 같은 많은 실제 응용 프로그램에서는 성공할 수 있으므로 "파생 기반 최적화 프로그램"을 너무 강력하게 할인하는 데주의를 기울여야합니다 . ( 미분이없는 대안을 포함하여 여기 에서 일부 토론 )
GeoMatt22

2

나는 당신의 욕구를 만족시키는 참고 문헌이 여기 있다고 생각합니다 . 현대 베이지안 계산에서 섹션 4-최적화로 이동하십시오.

TL; DR-그들은 근위 방법을 논의합니다. 이러한 방법의 장점 중 하나는 분할입니다. 더 쉬운 하위 문제를 최적화하여 솔루션을 찾을 수 있습니다. 많은 경우 (또는 적어도 때때로) 특정 근위 기능을 평가하기위한 전문 알고리즘을 문헌에서 찾을 수 있습니다. 그들의 예에서, 그들은 이미지 노이즈 제거를합니다. 이 단계 중 하나는 Chambolle의 매우 성공적이고 많이 인용 된 알고리즘입니다.


2

이것은 많은 최적화 논문에서 일반적이며 일반 성과 관련이 있습니다. 저자는 일반적으로 이러한 방식으로 알고리즘을 작성하여 기술적으로 모든 기능에서 작동 함을 보여줍니다. 그러나 실제로는 이러한 하위 문제를 효율적으로 해결할 수있는 매우 특정한 기능에만 유용합니다.

예를 들어, 이제 두 번째 알고리즘에 대해서만 이야기하고 있습니다. 근접 연산자 (실제로 해결하기 어려운 다른 최적화 문제를 언급했듯이)가 닫힌 형식 솔루션을 가지고 있음을 알 때마다 알고리즘이 효율적이되도록 이는 l1-norm, group norms 등과 같은 기계 학습에 관심이있는 많은 기능에 해당됩니다. 이 경우 근위 연산자의 명시 적 수식에 대한 하위 문제를 대체 할 수 있으며 해당 문제를 해결하기 위해 알고리즘이 필요하지 않습니다.

왜 이런 식으로 작성되는지에 관해서는 다른 함수를 생각해 내고 해당 알고리즘을 적용하려면 먼저 근위에 닫힌 양식 솔루션이 있거나 효율적으로 계산할 수 있는지 확인하십시오. 이 경우 수식을 알고리즘에 연결하기 만하면됩니다. 앞에서 언급했듯이, 알고리즘이 알고리즘을 계산하기 위해 효율적인 알고리즘의 근위 표현과 함께 알고리즘이 처음 게시 된 후에 발생할 수있는 미래의 기능에 적용 할 수있을 정도로 일반 알고리즘을 보장합니다.

마지막으로, 예를 들어, 고전적인 FISTA 알고리즘 원본 용지를 사용하십시오. 두 가지 매우 특정한 함수, 제곱 손실과 l1-norm에 대한 알고리즘을 도출합니다. 그러나 그들은 일부 전제 조건을 충족하는 한 어떤 기능도 적용 할 수 없으며, 그중 하나는 정규화 된 근위를 효율적으로 계산할 수 있다는 것입니다. 이것은 이론적 인 요구 사항이 아니라 실제적인 요구 사항입니다.

이 구획화는 알고리즘을 일반화 할뿐만 아니라 분석하기도 더 쉽습니다.이 속성을 가진 하위 문제에 대한 알고리즘이 존재하는 한 제안 된 알고리즘은 이러한 수렴 률 또는 그 밖의 것을 갖습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.