이는 반복문을 통해서 파이썬으로 쉽게 구현할 수 있다. 이 부분이 익숙하지 않다면 앞에서 본 newton 함수를 사용하면 된다.

    >>> cur_x = 3    # x = 3에서 계산 시작
    >>> rate = 0.01  # 학습률
    >>> precision = 0.000001       # 반복 계산에 사용할 기준(tolerance rate)
    >>> previous_step_size = 1
    >>> max_iters = 10000          # 최대 반복 횟수 10000
    >>> iters = 0   # 반복 횟수를 기록하기 위해 생성, 0부터 시작
    >>> df = lambda x: 2*(x + 5)   # 현재 예제에서 함수의 기울기
    
    >>> while (previous_step_size > precision) and (iters < max_iters):
    >>>     prev_x = cur_x     # 현재 x를 이전 단계 x로 저장
    >>>     cur_x = cur_x - rate * df(prev_x)         # 경사 하강법 계산
    >>>     previous_step_size = abs(cur_x - prev_x)  # x값의 변화
    >>>     iters = iters+1                           # 반복 카운터 증가
    
    >>> print("국소 최솟값은?", cur_x)
    국소 최솟값은? -4.9999518490318176
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.