페이지

2022년 10월 1일 토요일

28.1 로젠브록 함수

 이번 단계에서는 로젠브록 합수(Rosenbrock function)를 다룹니다. 수식으로는 [식 28.1]로 표현되며, 모양은 [그림 28-1]과 같습니다.

y = 100(x1 -x0 ** 2) ** 2 + (1 - x0) ** 2

[그림 28-1 ]을 보면 포물선 모양으로 길게 뻗은 골짜기가 보입니다. 참고로 [ 그림 28-1]의 '산'에 등고선을 그리면 그 모양이 바나나를 닮았다고 하여 로젠브록 함수를 바나나 함수 (Banana function)라고도 합니다.


이번 단계의 목표는 로젠브록 함수의 출력이 최소가 되는 x0와 x1을 찾는 것입니다. 답부터 말하면, 로젠브록 함수가 최소값이 되는 지점은 (x0, x1) = (1, 1)입니다. 이번 단계에서는 DeZero를 상요하여 이 최솟값을 실제로 찾아낼 수 있는지 확인합니다.

로젠브록 함수의 올바른 정의는 a,b 가 정수일때 f(x0, x1) = b(x1 - x0**2)입니다. 그래서 [식 28-1]과 [그림 28-1]은 a = 1, b = 100일때의 로젠브록 함수에 해당합니다. 로젠브록 함수는 최적화 문제의 벤치마크 함수로 자주 사용되며, 지금 예처럼 a - 1, b = 100으로 설정하여 벤치마크하는 것이 일반적입니다.






댓글 없음: