본문 바로가기
데이터분석(DA)/빅데이터 기초

01. 함수의 활용 - 손실함수, 활성함수, 다중 선형 함수

by 왁왁s 2024. 4. 10.

빅데이터 분석에 사용되는 수학

 

함수와 미분

함수는 데이터 관계를 설명하고, 미분은 함수의 변화율을 계산하여 극값, 경사도를 파악하여 패턴 이해에 도움을 준다.

 

스칼라, 벡터, 행렬

숫자로 표현되고 있는 데이터를 스칼라, 백터, 행렬로 재구성함으로써 데이터의 구조와 특성을 이해한다.

 

수치 해석

 다양한 수치해석 기법을 활용하여 데이터를 분석, 모델 구축 및 성능을 개선한다.

 

 


함수(Fucntion)란?

𝑓 : 𝐷 →𝐸 일 때, 각각의 𝑥 ∈ 𝐷를 하나의 값  𝑓(𝑥) 𝐸 에 대응시키는 규칙

 

입력이 있고 출력이 있다고 했을 때, D(Domain)는 함수의 입력으로 들어갈 수 있는 값들의 집합으로, 입력을 받아들여 출력으로 대응시키는 것이 함수가 하는 역할이다. E(Range)는 함수가 출력할 수 있는 값들의 전체 집합이다.

 

 

다중 선형 함수

다중 선형함수는 여러 데이터를 일정한 식을 통해 종속변수를 예측하는 함수이다.

입력 데이터인 x₁에서 xₙ에 대해서 상수가 붙어있고, 입력 데이터 x에 대해서 비례하는 출력 y를 내는 게 다중 선형함수이다. 여기서 다중은 입력이 여러 개 있을 수 있다는 뜻이다. 이런 함수는 결국 입력에 대해서 출력이 선형적으로 증가하거나 감소할 수 있는, 즉 입력이 증가하면 그거에 비례해서 출력이 증가하거나 감소하게 되는 것을 수학적 모델로 세우기 위해서 사용되는 함수이다.

 

 

손실 함수

머신러닝, 딥러닝 모델에서 예측 값과 실제 값 간 차이를 비교하는 함수이다.

어떤 데이터 입력 x가 있다고 했을 때, f(x)에 대해 모델이 예측하는 값과 실제 값하고의 차이를 나타내는 함수라고 하면 그 차이를 일종의 확률 분포나 확률 밀도 함수 λ(x)를 곱해서 모두 더한(적분) 값들을 손실 함수로 정의한다. 

 

 

활성함수

신경망 모형에서 이전 층(layer)의 결과 값을 변환하여 다른 층의  뉴런으로 신호를 전달하는 함수이다. 

신경망 모형에서 이전 층의 결과를 다른 층, 다음 층으로 전달할지 말지를 결정하는 함수이다. 대표적으로 많이 사용되는 것이 Sigmoid 함수이다. 

 

 

 

손실 함수 종류

평균 제곱 오차(MSE, Mean Squared Error)

예측 값과 실제 값 간 차이의 평균을 측정하는 평가이다.

평균 제곱 오차는 손실 함수의 일종인데, 모델이 추정한 값 ŷᵢ 실제 측정 값 yᵢ 의 차이의 제곱을 모든 데이터 샘플(i : 샘플의 인덱스)에 대해서 모두 더하고 평균을 낸다.

통상적으로 얻고자 하는 바는 손실함수가 최소가 되도록 하는 모델을 찾는 것이 목표이다. 

 

 

위와 같이 실제 값과 예측한 모델 간의 차이(오차)의 제곱을 모두 더 해 평균을 낸 것이 평균 제곱 오차 함수가 된다.

 

 

 

평균 제곱근 오차(RMSE, Root Mean Squared)

평균 제곱 오차의 제곱근 형태이다.

 

 

보통 인공지능에서 손실 함수 또는 모델을 찾을 때는 평균 제곱 오차를 최소화 하며 사용고, 그 값이나 성능을 볼 때는 평균 제곱근 오차 함수를 사용한다.

 

 

교차 엔트로피 오차(CEE, Cross-Entropy Error)

엔트로피 공식을 기반으로 얻을 수 있는 정보량의 평균을 의미한다.

어떤 확률 분포 P, Q가 있을 때, 

모델 P에서 만들어내는 데이터 샘플 𝑥ᵢ 의 확률 값과 모델 Q에서 만들어내는 데이터 샘플 𝑥ᵢ 에 대한 확률 값 간의 차이를 다 더한 것이 교차 엔트로피 오차, 교차 엔트로피 손실함수이다. 

 

대략적으로 확률 분포 P와  확률 분포 Q의 거리를 나타내는 함수라고 보면 된다. 

 

이진 교차 엔트로피 오차(BCEE, Binary Cross-Entropy Error)

종속변수의 클래스가 2개인 이진분류 문제에서 예측 값과 실제 값 간 차이를 측정한다.

예를 들어 개인지 고양이인지 이미지를 분류하는 2개의 클래스가 있다고 했을 때 예측 값과 실제 값 간 차이를 측정하는 손실함수이다.

 

 

범주형 교차 엔트로피 오차(CCEE, Categorical Cross-Entropy Error)

종속변수의 클래스(c)가 3개 이상이니 데이터 대상으로 예측 값과 실제 값 간 차이를 측정한다.

 

이진 교차 엔트로피 오차 함수의 일반화된 형태로, 종속 변수의 클래스가 3개 이상인 데이터 대상으로 적용할 수 있다. 오차가 최소화 되도록 하는 것이 목표이며, 예를 들어 개와 고양이 뿐만 아니라 호랑이인지 토끼인지 분류하는 것이 그 예이다.

 

 

 

활성함수 종류

시그모이드 함수(Sigmod Function)

S자형 또는 시그모이드 곡선을 가지는 함수로 0과 1 사이 값을 반환하며, 양극 값에 가깝도록 분류하기에 이진 분류에서 사용한다.

 

 

시그모이드 함수는 0~1까지 값을 가질 수 있고 x 축은 무한대를 가질 수가 있는데, 왼쪽으로 가면 값이 0에 수렴, 오른쪽으로 가면 1에 수렴하는데 활성화가 되면 오른쪽으로, 비활성이 되면 왼쪽으로 가는 특성을 활용해 인공지능에서 뉴런의 다른 층으로 전달할지 안 할지를 결정한다.

 

 

쌍곡선 함수(Hyperbolic Tangent Function)

S자형 곡선을 가지는 함수로 -1과 1 사이 값을 반환하고, 중앙값은 0을 가진다. 시그모이드 함수와 다르게 기울기의 양 부호가 도출되기에 학습 효율성이 뛰어난 함수라고 할 수 있다.

모양은 시그모이드와 유사하지만, y축 값의 범위가 -1 ~ 1이라는 점이 다르다.

시그모이드보다 값의 범위가 넓어 효율성이 뛰어나 자주 사용된다.

 

 

 

 

소프트맥스 함수(Softmax Function)

S자형 곡선을 가지며, 클래스에 포함된 확률로 해석할 수 있는 값을 도출한다. 다중 클래스 분류 모델에서 주로 사용한다.

 

* f or i = 1, 2, ... K (클래스 수)

 

시그모이드 함수의 일반화된 형태라고 보면 되는데, 다중 클래스 분류 모델에서 필수적으로 사용되는 활성 함수이다. 보통은 모델의 맨 끝에서 활성함수를 붙여서 사용하는데 각각이 주는 값이 예시로 개인지, 고양이인지, 호랑이인지에 대한 확률을 각각 출력이 되어 예측하는데 사용한다. 

 

ReLU 함수(Rectified Linear Unit Function)

결과 값의 범위가 넓고, 기울기 소실 문제를 방지할 수 있다. (-) 음수 값이 입력되는 경우 0을 반환하며, 양수 값인 경우에만 원데이터를 반환한다.

어떤 입력이 들어오면 입력 값하고 0중에 큰 값을 취해서 출력으로 대응시키는 함수이다. x가 0보다 작은 값이 들어오면 0을 출력한다고 보면 된다. 

 

 

 

댓글