본문 바로가기

코드4

7. 2차원 행렬을 입력받는 합성함수의 도함수(실습) 저번시간에 입력이 2차원인 합성함수의 도함수를 구하였다. 1. 다시 복습을 해보자. 입력 X, W는 아래와 같다. g(X, W)함수를 아래와 같이 정의한다. σ(X) 함수를 아래와 같이 정의한다. h(X) 함수를 아래와 같이 정의한다. 합성함수 f(X, W) = h(σ(g(X, W)))를 정의한다. 합성함수의 정의와 연산의 결과는 아래와 같다. 이 때 도함수 ∂f/∂X 는 아래와 같이 성립한다고 유도하였다. ∂f/∂W 는 아래와 같다. 이번 실습은 ∂f/∂X 으로 진행한다. 2. 합성함수의 도함수 계산이 맞는지 직접 계산하여 확인해보기 위의 식을 numpy를 이용하여 적은 것이다. f(X, W)는 forward 함수, ∂f/∂X는 backward 함수로 정의하였다. import numpy as np # .. 2021. 12. 31.
4. 벡터 입력에 대한 합성함수 표현 벡터 입력에 대한 합성함수와 도함수 표현을 알아보자. 벡터를 행렬로 표현하여 곱셈, 합성함수와 도함수를 어떻게 표현할 것인지 알아볼 것이다. 1. 벡터의 곱 연산 벡터 입력에 대해 다음과 같은 출력을 가정해 보자.(딥러닝에서 본 것 같지 않나요?) 이를 파이썬 코드로 표현해보면 다음과 같다. import numpy as np X = np.array([[1, 2, 3]]) W = np.array([[3], [2], [1]]) print('x.shape', X.shape) print('w.shape', W.shape) def matmul_forward(X, W): return np.dot(X, W) print('matmul_forward ', matmul_forward(X, W)) 행렬의 곱셈을 복습해보자... 2021. 12. 29.
2. 함수와 합성함수의 도함수 표현하기 일반적으로 도함수의 정의는 아래와 같다. 이를 파이썬 코드로 표현해 보자 def deriv(func, input, delta=0.001): return (func(input + delta) - func(input)) / delta delta는 \(\Delta x\)의 표현으로 값을 줄리면 더 정확한 도함수를 얻겠지만... 연산이 많은 작업이라면 오래 걸릴 수 있으므로 적당히 하는 것을 추천 이차함수 \(x^{2}\) 와 도함수를 그래프로 그려보자. import numpy as np import matplotlib.pyplot as plt def square(x): return np.power(x,2) def deriv(func, input, delta=0.001): return (func(input + .. 2021. 12. 27.
1. 함수와 합성함수의 표현 파이썬 코드로 수학 함수와 합성 함수를 표현해 보자. 파이썬 코드로 예를 들면 를 구현해 보면 def linear(x): return 2*x 마찬가지로 를 구현해 보면 def square(x): return np.power(x,2) 이건 어렵지 않은데 합성함수(composite function)는 어떻게 표현할까? 이를 파이썬 코드로 표현해 볼건데,list의 요소에 함수명을 콜백함수처럼 쓸 수 있더라 (reference : https://github.com/flourscent/DLFS_code/blob/master/01_foundations/Code.ipynb) def comp_func(list_func, x): f1 = list_func[0] f2 = list_func[1] return f2(f1(x).. 2021. 12. 27.