언덕 오르기 알고리즘에서 이웃을 생성하는 방법은 무엇입니까?


9

언덕 오르기 는 최적화를위한 매우 강력한 도구 인 것 같습니다. 그러나 솔루션의 "이웃"을 생성하는 방법은 항상 당황합니다.

예를 들어 솔루션을 최적화하고 있습니다. (x1,x2,x3). 여기서 은 범위에 있고, 는 범위에 있으며 , 은 범위에 있습니다.x1(0,0.1)x2(0,100)x3(0,1000000) 있습니다. "이웃"을 생성하는 가장 좋은 방법은 무엇입니까? 단계 크기가 1이기 때문에 여기서 "단계 크기"를 선택할 수 없습니다.x1, 그러나 매우 사소한 x3.

언덕 오르기 알고리즘에서 "이웃"을 생성하는 가장 일반적인 방법은 무엇입니까?

답변:


3

Vincent의 솔루션으로 첫 번째 장애물을 극복 할 수 있습니다. 모든 차원의 범위가 동일한 경우에도 단계 크기를 선택하는 방법이 여전히 궁금합니다. 이 경우 함수의 동작을 이해하면 적절한 값을 선택할 수 있습니다. 다른 방법은 그라디언트를 기반으로 단계 크기를 적응 적으로 설정하는 것입니다 (함수가 많이 바뀌면 가볍게 밟습니다).

이 백서에는 흥미로운 아이디어가있을 수 있습니다. 적응 형 스텝 크기의 힐 클라이밍 알고리즘 : 제어 파라미터가없는 블랙 박스 최적화 알고리즘으로


2

가장 쉽고 안전한 방법은 모든 매개 변수가 비슷한 범위 (예 : [0,1])를 갖도록 문제를 재평가하는 것입니다.

또는 각 매개 변수에 다른 단계 크기를 사용할 수 있습니다.

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