플로라도의 data workout

함수의 4가지 종류 -일변수 스칼라함수, 일변수 벡터함수, 다변수 스칼라함수, 다변수 벡터함수 본문

기초 노트/인공지능 수학

함수의 4가지 종류 -일변수 스칼라함수, 일변수 벡터함수, 다변수 스칼라함수, 다변수 벡터함수

플로라도 2023. 6. 18. 10:18

 

 

어떤 x,y가 위와 같은 2차원 유클리드 공간에 속하는 녀석이라고 하자.
 

일변수 스칼라 함수

e.g.  
-  $y=x^2$ , $y=cos(x)$, $y=e^x$, $y=log(x)$

- 우리가 잘 아는 다항함수 뿐만 아니라, 삼각함수,지수함수,로그함수 등의 초월함수도 포함된다.

일변수 스칼라 함수는 {x} -> {y}  로 대응 되는것을 표현하는것인데,

이 '대응'이라는 것은 다시 말해,
독립변수 $x$가, 종속변수 $y$로  어떤 함수 $f$ 에 의해서 매핑 되는 것 이라고 생각하면 된다.

즉, 독립변수 $x$가 종속변수 $y$로 매핑되는 것이다.
 

y=x^2

 
 
 

일변수 벡터 함수

 
일변수 벡터함수는 일변수 스칼라 함수와 다르게
입력값이 일변수인것은 같지만 출력이 여러개로 나타난다.

{t} -> {x,y,z}  로 대응이 된다면, 이는 일변수 벡터함수의 예이다.
즉 t라는 일변수가 x,y,z라는 세 변수로 mapping 되는것이다.
각각의 매핑관계는, $ x= f(t) ,y= g(t) , z=h(t)$  의 형태로 각 함수 $ f , g , h$ 가 이러한 mapping을 담당한다고 볼 수 있겠다.
 

 
 

다변수 스칼라 함수

 
다변수 스칼라함수는 여러개의 입력값을 받아 하나의 출력값을 뱉는 형태이다.
{X1,X2} -> {Z} 와 같은 형태의 대응관계를 띄게 된다.

 

 

위의 대응 관계는 $ f(X1,X2) = Z $ 라고 쓸 수 있고

대응 관계는 아래의 그림처럼 나타나게 된다.
 

 
 
# 시각화코드

fig = plt.figure(figsize=(7, 7))

ax = plt.axes(projection='3d')
ax.xaxis.set_tick_params(labelsize=15)
ax.yaxis.set_tick_params(labelsize=15)
ax.zaxis.set_tick_params(labelsize=15)
ax.set_xlabel(r'
', fontsize=20)
ax.set_ylabel(r'
', fontsize=20)
ax.set_zlabel(r'
', fontsize=20)

x1 = np.linspace(-2, 2, 50)
x2 = np.linspace(-1, 3, 50)
X1, X2 = np.meshgrid(x1, x2)
Z = 50*(X2 - X1**2)**2 + (2-X1)**2

ax.scatter3D(X1, X2, Z, marker='.', color='gray')
    
plt.show()

 
다변수 스칼라 함수의 대표적인 예시로는 등고선 그래프(contour plot)이 있다.

실생활에서 접하기 아주 좋은 예다.
2차원 평면, 펼쳐진 종이에 같은 스칼라값 (특별히 해발고도)을 가진 녀석을 매핑한다.

같은  해발고도 값을 가지는 녀석들을 3차원에서 2차원으로 projection해서 figure(2차원 평면,종이)에 표현한것이라고 보면 된다.
 

 
 
 
 

다변수 벡터함수

다변수 벡터함수는 이전의 흐름을 그대로 따라오면 
여러개의 입력값을받아 여러개의 출력값을 뱉는 형태임을 예측할 수 있을것이다.

 

예시로는 
-  RGB 그래프 (255,255,255)가 있다. 
입력값 $(x,y )$ ,예를 들면 평면 그래프상의 위치값(positional value;:x,y)을 input으로 받아서 

R,G,B (255,255,255)값이 담당하는 색깔을 출력한다.
3차원의 RGB벡터는 각각 빨강색,초록색,파랑색 성분의 강도를 나타낸다.
 

 

 

 


 
*  본 글은 <머신러닝,딥러닝에 필요한 기초 수학 with 파이썬> 책을 공부하며 정리한 내용의 일부입니다.