-
- 미분
미분의 정의 - sympy.diff()
sympy.diff() - 경사상승법 / 경사하강법
- 미분값을 더하면 경사상승법이라고 하며 극대값의 위치를 구할 때 사용
- 미분값을 빼면 경사하강법이라고 하며 극소값의 위치를 구할 때 사용
- 경사하강법 알고리즘
var = init # var=x grad = gradient(var) # grad=f'(x) while (abs(grad) > eps ) : #컴퓨터로 계산할 때 미분값이 0이 되는 것은 불가능하므로 eps보다 작을 때 종료 var = var - lr * grad # lr은 업데이트 속도 조절 grad = gradient(var)
- 편미분
편미분의 정의 - sympy.abc()
각 변수 별로 편미분을 계산한 그레디언트 벡터를 이용하여 경사하강/상승법에 사용할 수 있다
그레디언트 벡터 ▽f(x,y)는 각 점 (x,y)에서 가장 빨리 증가하는 방향으로 흐른다ex. f (x, y) = x^2 + 2y^2 => ▽f = (2x, 4y) => -▽f = -(2x, 4y)
경사하강법 알고리즘 (그레디언트 벡터) var = init # var=x grad = gradient(var) # grad=f'(x) while (norm(grad) > eps ) : # 벡터는 절대값 대신 norm을 계산해서 종료조건을 설정 var = var - lr * grad # lr은 업데이트 속도 조절 grad = gradient(var)
'CS 공부 > AI' 카테고리의 다른 글
선형변환 (0) 2023.01.10 Neural network (0) 2023.01.09 DL_Basic 1강. Historical Review (0) 2023.01.08 부분공간의 기저와 차원 (0) 2023.01.08 선형종속 (0) 2023.01.06