implement_ml_models
implement_differential
명징직조지훈
2022. 11. 23. 15:09
역전파 계산을 할 때, 가중치에 변화량에 대한 오차 함수의 변화량을 구하기 위해 미분이 사용,
오차 함수, 활성화 함수의 차이에 따른 그 식이 바뀌고, 이를 적용하기 위해서는 각 함수의 미분값을 구해야 한다.
우선 가장 대표적인 오차 제곱합, 시그모이드 활성화 함수 예제를 통한 확인
오차 제곱합의 비용 함수
행렬을 통한 일반화

각 벡터 성분에 미분을 수행,
먼저 각 행렬에 대한 미분을 위한 심볼화
Y = sympy.Symbol('Y')
T = sympy.Symbol('T')
오차 함수 C의 정의
C = 1/2*(Y-T)**2
오차 함수의 미분 계산
d_C = sympy.diff(C, Y)
d_C.subs([(Y,1),(T,2)])
>>>
-1.0
Y, T 에 값을 대입하여 예측값과 출력값의 오차 함수에 대한 변화율을 계산할 수 있다.
활성화 함수 시그모이드 함수의 미분
시그모이드 함수의 정의
X = sympy.Symbol('X')
fa = 1/(1+sympy.exp(-X))
d_fa = sympy.diff(fa, X)