본문 바로가기
Computer Science/Error Code

[Statistical Machine Learning] Regression Function: f(x), expected value, Mean-squared Prediction Error

by Henry Cho 2023. 1. 25.
728x90

Regression Function: f(x), expected value, Mean-squared Prediction Error

포스트 난이도: HOO_Senior


# Ideal f(x)

 

저번 포스트에서 Statistical machine learning(SML)에 대해 무엇이며, 어떤 기본 공식을 가지고 있는지 알아보았다.

https://whoishoo.tistory.com/562

 

[Statistical Machine Learning] Introduce Statistical Learning

Introduce Statistical Learning 포스트 난이도: HOO_Senior # Statistical Learning 위의 예제는 Statistical learning에서 사용하는 기본적인 수식이다. 우선 PL이라고 나와있는 Programming Languages라는 변수(Y)는 respons 또

whoishoo.tistory.com

SML은 데이터를 통해서 통계 분석 결과를 산출한다. 이때 사용되는 방식이 기존 통계 방식이 아니라 인공지능의 한 부분인 머신러닝을 활용하며, 이로 인해 수많은 데이터의 최적 값을 찾아낸다. 따라서 다양한 데이터를 기반으로 결과를 산출해 내는 SML에서는 f의 역할이 중요하다. f가 나타내는 의미는 function에 해당하며, 프로그래밍에 있어서는 알고리즘에 해당한다고 생각하면 된다. 한마디로 여러 X값들이 f를 거치면서 Y가 산출되는데 이때 X와 Y를 비교하여 데이터를 분석하기 위해서는 f의 구조가 중요한 역할을 한다.

예를 들어서 요리를 연구하는 과정에서 아무리 재료가 좋다할지라도 요리 도구나 요리사가 별로라고 하면 만들어진 요리 또한 별로일 것이다. 또는 한식을 전문을 하는 요리사에게 다양한 음식 재료를 가져다줘도 나오는 요리는 한식을 기반으로 한 음식이지, 일식이나 양식 전문 요리가 나오지는 않는다. 여기서 말하는 f가 바로 요리 도구와 요리사를 의미한다고 생각하면 된다. f에 다양한 X를 넣었을 때 각기 다른 Y 값이 산출되어야지 어떤 X가 원하는 Y를 도출해 내기 위해서 필요한지를 파악할 수 있다.

따라서 우리가 말하는 Ideal f는 새롭고 다양한 X 데이터를 입력했을 때 원하는 예측 값 Y가 산출될 수 있는 f를 말한다. 그럼으로써 다양한 X값(e.g., x1, x2, x3, x4, x5)들이 있을 때 어떤 x값이 Y라는 예측값을 산출하는데 도움이 되지 않거나 필요 없는 데이터인지 파악할 수 있다. 한마디로 Ideal f를 통해서 X affects Y인지를 알 수 있다는 것이다.


# Expected value

 

데이터 자체에서 f(function)이 ideal 한 지를 알 수 없다. 따라서 f가 중요한 거고 개발자나 특히 데이터 사이언티스트들이 가지고 있어야 하는 능력이자 센스가 바로 function을 만들고 구조화하는 것이다. 반면에 ideal 한 f(x)는 데이터에서 확인할 수가 있다. f(x)가 의미하는 건 결국 Y를 의미한다. 한마디로 f를 통해서 X(e.g., x1, x2, x3, x4,...)를 넣었을 때, 산출된 Y값 중에서 가장 최적의 값 또는 이상적인 결과를 분석할 수 있다는 것이다. 최적의 값을 분석할 수 있다는 것은 데이터로 하여금 최적의 값 또한 예측할 수 있다는 걸 의미한다. 우리는 이를 Expected value라고 부르며 아래와 같은 수식으로 표현할 수 있다.

위의 수식이 의미하는 바는 expected value(average) of Y given X = x이다. X=x라고 주어진 값의 기댓값이 Y라는 것이다. 여기서 Expected value(EV)는 평균을 기준으로 한다는 점을 유의해야 한다. 또한 우리는 EV를 regrssion function이라고 부른다. 예를 들어서 여러 벡터 X값의 EV를 통해 regrssion function을 나타낸다고 한다면 아래와 같이 작성이 가능하다.


# Mean-squared Prediction Error

 

Regression function을 통해서 EV 값을 산출해 냈을 때 항상 모든 값이 일치하지는 않는다. 이게 무슨 말이냐면, 최적 값에 대한 예측을 했을 때 모든 값이 100% 일치하지 않고 오류가 발생할 수도 있다는 것이다. 따라서 regression function을 사용할 때에는 오류가 발생할 수도 있는 경우를 고려해서 계산해야 한다. 따라서 오류에 대한 수치를 고려하여 regression function 계산식에 적용하면 아래와 같다. 첫 번째는 오류를 적용하지 않은 기존 식이고 두 번째가 오류를 고려한 계산식이다.

두 번째 식에서 보면 Y에 대한 값에 오류에 대한 값을 빼주는 것을 볼 수 있다. 매번 "오류의 대한 값"이라고 부르기에 불편하기에 우리는 Mean-squared prediction error라고 부른다. 사실 그냥 오류의 대한 값이라고 불러도 상관없지만 이론만 배우는 개발자가 아니라 실질적으로 코드에 적용을 하고 다른 개발자들과 정보 공유를 해야 하기에 공식적으로 부르는 표현을 알아두는 것이 좋다. 참고로 줄여서 MSE 또는 MSPE라고도 부른다. 또한 한 가지 더 참고 사항을 이야기하자면 놀랍게도 위의 두 식이 모두 같은 의미로 사용될 수 있다는 것이다. 이 말이 무슨 뜻이냐면 사실상 첫 번째 식이 나타내는 게 두 번째 식이라는 것이다. 두 번째 식을 줄여서 그냥 첫 번째처럼 표현하여 사용하기도 한다. 첫 번째 식으로만 표현이 되었다 할지라도 당황하지 말고 풀어서 생각하면 된다.


 

 

728x90

댓글