다변량 데이터
다변량 데이터에서 보통 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) 이라고 부른다.
출처: 김성범 교수님 유튜브
'AI > Machine Learning' 카테고리의 다른 글
Kullback-Leibler divergence (KL Divergence) (3) | 2023.11.23 |
---|
댓글