본문 바로가기
AI/Machine Learning

머신러닝 프로세스

by 알푼 2023. 8. 1.
728x90
728x90

다변량 데이터

다변량 데이터에서 보통 X값은 원인, Y값은 결과로 볼 수 있으며 경우에 따라서 그 이름은 아래와 같이 다양하게 쓰인다.

X(원인): 독립변수, 예측변수, 입력변수

Y(결과): 종속변수, 반응변수, 출력변수

 

예측 모델링

아래 그림과 같이 X1, X2와 Y가 포함된 데이터 테이블이 있다고 가정하자. 어떤 모델, 즉 함수는 X라는 input을 받아 Y라는 output을 내뱉는 형태를 띄게 된다. 데이터 테이블에 따르면 X1 = 0, X2 = 2를 넣었을 때 Y는 2가 나온다. 또한 X1 = 1, X2= 3을 넣으면 Y는 4가 나온다. 따라서 Y=X1+X2라는 함수를 만들 수 있고 이것이 예측 모델링 방법의 기초가 된다.

X1 X2 Y
0 2 2
1 3 4
2 4 6
3 5 8

$Y = X_1 + X_2$

 

그런데 여기서 우리는 Y를 예측하고 싶은 것이기 때문에 Y의 값이 매우 중요하다. Y의 값이 만약에 연속형이라면 수치예측, 범주형이라면 범주(분류)예측 이라고 한다.

  • 연속형 데이터 (ex. 가격, 길이, 압력, 두께…) → 수치 예측
  • 범주형 데이터 (ex. 제품의 양품/불량, 정상/비정상…) → 범주 예측

그리고 일반적으로 수치 예측은 Regression, 범주 예측은 Classification으로 부른다.

 

머신러닝 모델 학습 프로세스

실제로는 아래와 같은 형태의 데이터를 자주 접할 수 있다. 즉 X가 Y에 영향을 미치기 때문에 X와 Y 사이의 관계를 찾는 것이 궁극적인 목적이 된다. X를 조합하여 Y를 표현하는 함수 형태를 찾아야 한다.

그런데 위의 예측 모델링 부분의 예제에서는 손쉽게 $Y = X_1 + X_2$ 라는 관계식을 찾았지만 실제 데이터는 쉽게 찾기 어려운 경우도 많다. 예를 들어 데이터셋이 아래와 같다면 함수 $f(x)$는 어떻게 구할 수 있을까? 답을 먼저 말하자면 $Y = 0.5X_1 + 3X_2$ 가 된다. 각각을 대입해 보면 알 수 있다.

X1 X2 Y
0 2 6
1 3 9.5
2 4 13
3 5 16.5

그러면 데이터가 아래와 같이 주어졌을 때 함수 $f(x)$는 어떻게 구할 수 있을까?

X1 X2 Y
0 2 6
1 3 9
2 4 11.5
3 5 14.5

우리는 이런 데이터를 보고 일단 정해진 형태의 수식을 만들 순 있다.

$Y = ? X_1 + ?X_2$

그런데 실제 데이터에서는 $X_1 , X_2$만 가지고 모든 Y를 설명 하기 어렵다. 따라서 설명할 수 없는 부분을 뜻하는 $\epsilon$ 이 추가 된다.

$Y = ?X_1 + ?X_2 + \epsilon$

그리고 이것을 좀 더 formal하게 써보면

$Y = w_1X_1 + w_2X_2 + \epsilon$

가 되며 여기서 $w$는 weight의 약자이다.

 

그렇다면.. 머신러닝에서는 데이터 X,Y가 주어졌을 때, 이 w를 추정하는 것이 가장 중요한 문제가 되며 w는 파라미터(parameter)라고 부른다. 파라미터는 모수 혹은 매개변수라고 부르기도 한다.

 

이 수식을 다시 정리하면 X를 가지고 설명할 수 있는 부분과 그렇지 않은 부분으로 나눌 수 있다.

$w_1X_1 + w_2X_2$ → X로 설명할 수 있는 부분 $f(X)$

$\therefore Y = f(X) + \epsilon$

$\epsilon = Y-f(X)$

즉, 실제 Y값과 모델로 부터 나오는 값의 차이는 오차로 볼 수 있다. 따라서 가장 이상적인 모델은 $\epsilon$이 0 이 나오는 모델이며, $\epsilon = Y-f(X)$ 이것은 손실함수 (Loss function) 이라고 부른다.

 

출처: 김성범 교수님 유튜브

728x90
반응형

'AI > Machine Learning' 카테고리의 다른 글

Kullback-Leibler divergence (KL Divergence)  (3) 2023.11.23

댓글