728x90
https://fastcampus.co.kr/data_online_aideep
m
입력과 출력에 따른 함수의 분류
- 스칼라 : 크기만을 가지는 값, 숫자 하나로 표현되는 값 ex)재산, 온도의 크기
- 벡터 : 크기와 방향을 모두 가지는 값, 숫자 여러 개인 값, 벡터는 기본적으로 열벡터 ex) 속도
- 일변수 스칼라함수, 일변수 벡터함수, 다변수 스칼라함수, 다변수 벡터함수
2. Univariate Scalar Function (일변수 스칼라함수)
- Input $x$: Scalar (숫자 하나)
- Output $y$: Scalar (숫자 하나)
- $y = f(x)$
- 입력 $x$와 출력 $y$가 모두 Scalar
3. Univariate Vector Function (일변수 벡터함수)
- Input $t$: Scalar (숫자 하나)
- Output $r(t)$: Vector (n-dimension 벡터)
- $r(t) = [f_{1}(t), f_{2}(t), \cdots , f_{n}(t)]^{T}$
- n차원 벡터를 결과로 되돌려주는 벡터함수, 입력은 숫자 t 하나만 존재
- $f : R \rightarrow R^{n}$ (R은 실수 전체 집합)
- 함수의 형태는 다항함수, 지수함수, 로그함수 등 어떠한 형태도 가능
- n = 3
- 숫자 t를 3차원의 어떠한 점으로 바꿔줌
- 일변수 벡터함수는 시간(t)에 따라 공간(3차원 출력)을 이동하는 대상을 모델링할 수 있음
4. Multivariate Scalar Function (다변수 스칼라함수 = 벡터변수 스칼라함수)
- 목적함수 (손실함수, 비용함수): 함수값을 줄이면 어떠한 목적이 달성되는 함수
- 대부분의 ML 알고리즘은 목적함수의 최소값을 만드는 point를 찾아내는 과정을 거침
- 목적함수들이 다변수 스칼라함수
- 입력이 여러 개이고 출력이 하나인 함수
- Input: Vector
- Output: Scalar
- $y = f(\textbf{x})$
- ex) $f(\textbf{x}) = x + y$
- ex2) $f(x_{1}, x_{2}) = 50(x_{2} - x_{1}^{2})^{2} + (2 - x_{1})^{2}$
- 우변 정의대로 계산하면 숫자 하나(스칼라)가 결정됨
- $f : R^{2} \rightarrow R$ (각 입력변수 차원의 제곱차원이 정의역)
- 벡터 형식으로 쓸 수 있음: 벡터변수 스칼라함수 라고도 함
한 쪽 등식이 숫자로 고정된다면?
- $50(x_{2} - x_{1}^{2})^{2} + (2 - x_{1})^{2} = 200$ 같은 경우
- 정의역과 공역의 관계가 특정 관계에 한정되게 됨
- 특정 값을 대입하여 등호가 성립하기 때문에 함수라 할 수 없음
- 음함수 (implicit function)라는 용어로 지칭
- 위 관계를 만족시키는 $(x_{1}, x_{2})$의 순서쌍들은 방정식을 만족시키는 해집합이라 할 수 있음
- 이변수 함수에서 함수값을 제한시키면 곡면이 곡선으로 바뀐다
- 위 그림은 함수값 30, 200, 600을 만족하는 $(x_{1}, x_{2})$들을 평면에 그린 그림
- 2차원 평면에서 정의된 함수를 2차원 평면에 그린 것
- 경사도 벡터의 방향이 어느 방향인지 등고선 그래프로 알 수 있음
변수가 세 개라면?
- 함수의 경우 그림을 그릴 수 없음
- 실수 3개로 구성된 정의역은 3차원 공간 전체가 되기 때문
- 한 쪽을 숫자로 고정하게 되면
- 함수값을 가지는 입력 점들이 3차원 공간에 곡면으로 그려지게 됨
- 등고선 그래프와 같은 현상이 3차원 공간에 나타남
- 변수가 네 개 이상이면 그림 자체를 그릴 수 없음
5. Multivariate Vector Function (다변수 벡터함수)
- 입력도 여러 개, 출력도 여러 개인 함수
- Input: Vector
- Output: Vector
- $F(\textbf{x}) = (f_{1}(\textbf{x}), f_{2}(\textbf{x}), \cdots, f_{n}(\textbf{x}))^{T} $
- $\textbf{x} \in R^{m}$
- m차원 입력 Vector가 n차원 출력 Vector로 변환되는 Vector 함수
- 입력 $\textbf{x}$는 숫자 m개가 모인 Vector
- 각 성분 함수 $f_{i}(\textbf{x})$는 $f: R^{m} \rightarrow R$인 다변수 스칼라함수
- 입력평면 uv는 해당 그래프에 나타나지 않음
6. 합성함수 (composite function)
함수의 합성: 어떤 함수의 출력을 다른 벡터함수의 입력으로 사용하는 것으로 연결
- 그래프로 알아보기: 입력 x, 출력 y
- 좌상단 그래프는 $f(x)$ 그래프
- 우상단 그래프는 $g(y)$ 그래프
- 좌상단 그래프의 세로축 범위가 우상단 그래프의 가로축 범위와 일치
- 좌상단 그래프의 공역이 우상단 그래프의 정의역이 된 것 (최종 출력은 z)
- 좌하단그래프는 x와 z의 함수 (함성함수)
- 우하단그래프는 $f(x)$와 $g(f(x))$를 함께 그린 것
- 머신러닝의 궁극적인 목적: 입력에 대해서 좋은 출력을 만들어 내는 모델을 만드는 것
- 그렇기 때문에 간단한 하나의 함수로는 표현할 수 없기에 "합성함수" 사용
- 어떤 두 함수 f와 g가 있을 때, 함수 f가 집합 X의 원소 x를 집합 Y의 원소 y로 대응시키고, 함수 g가 y를 집합 Z의 원소 z로 대응시킬 때, x를 z로 대응시키는 함수를 "합성함수"라 표현
- 로그함수의 특징 : 원래 함수의 오목, 볼록한 위치(정의역)를 변화시키지 않음 -> 확률을 기반으로 하는 머신러닝 과정에서 중요하게 사용되는 특징
7. Softmax Function
대표적인 "다변수 벡터함수"
- z를 입력받아 i번째 요소 계산
- 함수의 출력도 Vector
- 동일한 분모에 대해서 각 요소가 차지하는 비율이므로, 결과를 모두 더하면 1이 됨
- 어떤 숫자가 커지면 다른 숫자가 작아짐
- 이와 같은 특징으로 소프트맥스의 출력도 확률로 해석
- 여러 항목에 대한 확률 출력가능
- 가장 큰 확률을 가지는 항목을 정답으로 출력함
- 다중분류문제에서 마지막 출력단을 소프트맥스 함수로 설정
728x90