반응형 테일러급수2 28~29단계) 경사하강법 , 뉴턴 방법 , 함수 최적화 미분의 가장 중요한 용도는 함수를 최적화하는 것이다. 이번에는 특정 함수를 대상으로 최적화를 해볼 것이다. 함수 최적화 1. 로젠브록 함수 로젠브록 함수(Rosenbrock function)의 수식과 형태는 아래와 같다. 로젠브록 함수의 정의는 a, b가 정수일 때, 아래의 식과 같고, 위의 이미지는 a=1, b=100일 때에 해당된다. 목표는 로젠브록 함수의 출력이 최소가 되는 x0과 x1을 찾는 것이다. 실제로 로젠브록 함수의 최솟값은 (x0, x1) = (1, 1)이며 이를 DeZero를 사용하여 구해볼 것이다. 2. 미분 계산하기 import numpy as np from dezero import Variable def rosenbrock(x0, x1): y = 100 * (x1 - x0 ** 2.. 2021. 7. 3. 27단계) 테일러 급수 미분 이번에는 DeZero를 사용하여 sin 함수의 미분 문제를 풀어볼 것이다. sin 의 미분은 해석적으로 풀리지만 정공법으로 sin 함수를 DeZero로 구현하고 그 미분을 테일러 급수를 이용해서 계산할 것이다. 1. sin 함수 구현 y = sin(x) 일때 그 미분은 y'=cos(x) 이다. import numpy as np from dezero import Function class Sin(Function): def forward(self, x): y = np.sin(x) return y def backward(self, gy): x = self.inputs[0].data gx = gy * np.cos(x) return gx def sin(x): return Sin()(x) 넘파이가 제공하는 np.s.. 2021. 6. 29. 이전 1 다음 728x90 반응형