AI Fundamentals/혁펜하임의 AI DEEP DIVE

[AI DEEP DIVE] Chapter 1 (Special) : Various Functions

Jae. 2024. 1. 18. 00:51
728x90

https://fastcampus.co.kr/data_online_aideep

 

혁펜하임의 AI DEEP DIVE (Online.) | 패스트캠퍼스

카이스트 박사, 삼성전자 연구원 출신 인플루언서 혁펜하임과 함께하는 AI 딥러닝 강의! 필수 기초 수학 이론과 인공지능 핵심 이론을 넘어 모델 실습 리뷰까지 확장된 커리큘럼으로 기초 학습

fastcampus.co.kr

 

 


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$인 다변수 스칼라함수

3차원 공간에 점 900개가 곡면을 이룸

 

  • 입력평면 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