본문 바로가기
파이썬 프로그래밍/딥러닝과 수학

1. 함수와 합성함수의 표현

by Majestyblue 2021. 12. 27.

파이썬 코드로 수학 함수와 합성 함수를 표현해 보자.

 

 

파이썬 코드로 예를 들면

를 구현해 보면

def linear(x):
    return 2*x

 

마찬가지로

를 구현해 보면

 

def square(x):
    return np.power(x,2)

 

이건 어렵지 않은데 합성함수(composite function)는 어떻게 표현할까?

두 함수를 f(x), g(x)로 각각 정의하면

 

 

이를 파이썬 코드로 표현해 볼건데,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))

 

 

 

합성함수에 2를 넣으면 어떻게 될까? (2*2)^(2) 이므로 16이 나올 것이다. 

실행해보자.

func_list = [linear, square]

print(comp_func(func_list, 2))

 

전체코드이다.

 

import numpy as np

def linear(x):
    return 2*x

def square(x):
    return np.power(x,2)

def comp_func(list_func, x):
    f1 = list_func[0]
    f2 = list_func[1]
    return f2(f1(x))

func_list = [linear, square]

print(comp_func(func_list, 2))