archive
[4주차 (3)] 경사하강법 본문
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 준비과정> 강의 내용을 바탕으로 작성되었습니다.
'ML_AI > 네이버 부클 AI 엔지니어 기초 다지기 : AI Tech 준비과정' 카테고리의 다른 글
[5주차 (1)] 확률론 (0) | 2024.05.25 |
---|---|
[4주차 (4)] 딥러닝 학습방법 이해하기 (0) | 2024.05.20 |
[4주차 (2)] 행렬 (0) | 2024.05.19 |
[4주차 (1)] 벡터 (0) | 2024.05.13 |
[2주차 (4)] 앙상블 (0) | 2024.05.06 |