수치 최적화 기술로 Gradient descent vs Monte Carlo를 사용하는 경우


11

일련의 방정식을 분석적으로 해결할 수 없으면 그래디언트 디센트 알고리즘을 사용할 수 있습니다. 그러나 분석 솔루션이없는 문제를 해결하는 데 사용할 수있는 Monte Carlo 시뮬레이션 방법도 있습니다.

그라디언트 디센트 사용시기와 몬테 카를로 사용시기를 어떻게 알 수 있습니까? 아니면 '시뮬레이션'이라는 용어를 '최적화'와 혼동하고 있습니까?

대단히 감사합니다!

답변:


4

이 기술들은 다른 일을합니다.

그라디언트 디센트는 최적화 기술이므로 최대화가 필요한 모든 통계적 방법 (MLE, MAP)에서 일반적입니다.

Monte Carlo 시뮬레이션은 분포에서 샘플링하고 샘플의 일부 기능을 평가하여 적분을 계산합니다. 따라서 일반적으로 기대 계산 (베이 예 추론, 베이지안 가설 검정)이 필요한 기술과 함께 사용됩니다.


그래디언트 디센트는 미분 (최대, 최소)과 연결되고 몬테 카를로는 통합과 관련이 있습니까?
Victor

구배는 미분의 (많은 것 중 하나) 일반화입니다. 그래디언트 디센트는 차별화와 관련이 있습니다. 그러나 가능한 적은 단어를 사용해야한다면 "그라디언트 디센트는 최적화를 위해 파생물을 사용합니다"와 "몬테 카를로는 샘플링을 사용합니다"라고 말할 것입니다.
jlimahaverford

4

이들은 모두 거대한 알고리즘 계열이므로 정확한 답변을 제공하기는 어렵지만 ...

기울기 상승 (또는 하강)은 최대 값 (또는 최소값)을 찾을 때 유용합니다. 예를 들어 확률 분포 모드 또는 손실 함수를 최소화하는 모수의 조합을 찾을 수 있습니다. 이 극단을 찾는 데 필요한 "경로"는 함수의 전체적인 모양에 대해 조금 알려줄 수 있지만 의도 된 것은 아닙니다. 사실, 효과가 좋을수록 극단을 제외한 모든 것에 대해 덜 알 수 있습니다.

몬테 카를로 방법은 카지노와 마찬가지로 무작위 화에 의존하기 때문에 몬테 카를로 카지노의 이름을 따서 명명되었습니다. 다양한 방법으로 사용할 수 있지만 대부분 분포를 근사화하는 데 중점을 둡니다. 예를 들어 Markov Chain Monte Carlo 알고리즘은 복잡한 확률 분포에서 효율적으로 샘플링하는 방법을 찾습니다. 다른 Monte Carlo 시뮬레이션은 가능한 결과에 대한 분포를 생성 할 수 있습니다.


"Monte Carlo 방법"은 일반적으로 샘플을 얻는 방법과 달리 샘플로 수행 하는 작업 나타냅니다. MCMC에서 "Markov Chain"은 샘플을 얻는 과정을 말합니다.
jlimahaverford

정말? 나는 항상 Monte Carlo가 어떤 종류의 무작위 화가 진행되고 있음을 암시한다고 생각했습니다. MCMC에서는 Markov Chain이 관련되어 있지만 사실 체인에서 무작위로 샘플링하고 있습니다 (따라서 Monte-Carlo) /
Matt Krause

아마도 이것은 의견의 문제 일 것입니다. MCMC를 사용하여 사후 분포의 평균을 근사화하는 경우 정규화되지 않은 분포에서 대략적으로 샘플링하기 위해 Markov Chain에서 임의의 보행을 사용하는 경우 Monte Carlo Integration을 사용하여 평균을 근사화합니다. Monte Carlo 방법을 가능하게하는 도구로 샘플링 방법을 고려합니다. 예를 들어, 몬테 카를로 (Monte Carlo) 방법으로 거부 샘플링을 호출하지는 않지만, 누군가가이를 함께 사용한다고 상상할 수 있습니다.
jlimahaverford

이 모든 것이 위키피디아는 몬테 카를로 방법의 거부 샘플링을 고려합니다. 따라서 내 아이디어가 완전히 잘못되었을 가능성이 큽니다.
jlimahaverford

2

다른 사람들에 의해 설명 된 바와 같이, 경사 하강 / 상승은 최적화를 수행한다. 즉, 함수의 최대 또는 최소를 찾는다. Monte Carlo는 확률 적 시뮬레이션 방법입니다. 즉, 반복 된 랜덤 샘플링을 통해 누적 분포 함수를 근사합니다. 연속 분포의 cdf가 실제로 필수이기 때문에 이것을 "Monte Carlo 통합"이라고도합니다.

그라디언트 디센트와 몬테 카를로의 공통점은 폐쇄 형 솔루션이 존재하지 않는 문제에서 특히 유용하다는 것입니다. 분석 솔루션이 가능할 때마다 간단한 미분을 사용하여 볼록 함수의 최대 또는 최소 지점을 찾을 수 있습니다. 이러한 솔루션이 존재하지 않으면 그래디언트 디센트와 같은 반복적 인 방법을 사용해야합니다. Monte Carlo 시뮬레이션과 동일합니다. 기본적으로 일반 통합을 사용하여 cdf를 분석적으로 계산할 수 있지만 이러한 닫힌 양식 솔루션이 항상 가능하다는 보장은 없습니다. Monte Carlo 시뮬레이션으로 문제를 다시 해결할 수 있습니다.

시뮬레이션에는 그라디언트 디센트를, 최적화에는 몬테 카를로를 사용할 수 있습니까? 간단한 대답은 '아니요'입니다. Monte Carlo는 확률 적 요소 (분포)를 샘플링해야하며 기울기 하강에서는 확률 적 정보 문제를 처리 할 수단이 없습니다. 그러나 간단한 그라데이션 하강으로 해결할 수없는 매우 복잡한 문제를 해결할 수있는보다 강력한 확률 적 최적화 알고리즘을 생성하기 위해 시뮬레이션과 최적화를 결합 할 수 있습니다. 이에 대한 예로는 시뮬레이션 된 Annealing Monte Carlo가 있습니다.


2

이 답변 은 부분적으로 잘못되었습니다. 실제로 Monte Carlo 방법과 기울기 하강을 결합 할 수 있습니다. Monte Carlo 방법을 사용하여 손실 함수의 그라디언트를 추정 한 다음 그라디언트 디센트에서 매개 변수를 업데이트하는 데 사용됩니다. 그래디언트를 추정하기 위해 많이 사용되는 Monte Carlo 방법은 점수 그래디언트 추정기로 , 예를 들어 강화 학습에 사용될 수 있습니다. Shakir Mohamed et al.의 기계 학습에서 Monte Carlo Gradient Estimation (2019)을 참조하십시오 . 더 많은 정보를 위해서.

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