안정민 2024. 5. 20. 09:59

1. 미분

-미분(differentiation)은 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구로, 최적화에서 제일 많이 사용하는 기법이다.

-미분은 변화율의 극한(limit)으로 정의한다.

-요즘은 sympy.diff 를 가지고 미분을 컴퓨터로 계산 가능하다.

import sympy as sym
from sympy.abc import x

sym.diff(sym.poly(x**2 + 2*x + 3), x)

 

-미분은 함수 f의 주어진 점 (x, f(x))에서의 접선의 기울기를 구한다

-한 점에서 접선의 기울기를 알게 된다면,

어느 방향으로 점을 움직여야 함수값이 증가하는지 감소하는지 알 수 있다.

-증가 시키고 싶다면 미분값을 더하고, 감소시키고 싶다면 미분값을 빼면 된다.

 

-미분값을 더하면 경사 상승법(gradient ascent)이라고 하며 함수의 극대값의 위치를 구할 때 사용한다, 목적함수를 최대화할 때 사용한다.

-미분값을 빼면 경사하강볍(gradient descent)이라고 하며, 함수의 극소값의 위치를 구할 때 사용한다, 목적함수를 최소화할 때 사용한다.

 -경사 상승 / 경사 하강 방법은 극값에 도달하면 움직임을 멈춘다.

-즉, 극값에서는 미분값이 0이므로 더이상 업데이트가 되지 않도 목적 함수의 최적화가 자동으로 끝나게 된다.

**학습률 추가 ver

 

 

-변수가 벡터라면?

-미분은 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구로 최적화에서 제일 많이 사용하는 기법

-벡터가 입력인 다변수 함수의 경우 편미분(partial differentiation)을 사용한다.

-즉, 특정 방향의 좌표축으로 이동하는 방법이다

 

 

 

 

 


 

본 포스트의 학습 내용은 부스트클래스 <AI 엔지니어 기초 다지기 : 부스트캠프 AI Tech 준비과정> 강의 내용을 바탕으로 작성되었습니다.