머신러닝 모델링 관점에서
본 글은 필자가 가지고 있는 현재까지의 지식을 바탕으로 작성했으나 관점에 따라 다른 의견이 많을 것으로 판단됩니다. 본 글의 대한 가감 없는 의견/비판을 기대해 봅니다. 여러분의 의견을 포함하여 계속 업데이트하도록 하겠습니다.
종종 받는 질문 중에 하나가 모수와 비모수의 차이이다. 모수적 모델이 있고 비모수적 모델이 있는데 그 차이에 대해 알아보자.
모수적 모델과 비모수적 모델의 차이를 알기 위해서는 통계학에서 쓰이는 기본적인 용어를 먼저 살펴볼 필요가 있다. 너무 자세히 들어가면 오히려 헷갈릴 수 있으므로 확률분포의 개념부터 시작해 보자. 확률분포는 샘플(관측치)들이 가질 수 있는 수치 값을 각각 0과 1 사이의 확률로 표현할 때 이 확률 값들의 패턴이라고 보면 된다. 샘플이 가질 수 있는 값들을 확률로 표현하기 위해서는 대응 함수가 필요하며 이 함수를 확률 함수 (Probability Function)라고 부른다. 확률 함수의 인풋은 경우에 따라 이산형일 수 있고 연속형일 수도 있다. 이를 구분하기 위해 이산형 확률 함수는 확률 질량 함수 (Probability Mass Function, PMF)로, 연속형 확률 함수는 확률 밀도 함수 (Probability Density Function, PDF)로 구분해서 부른다.
참고 - 표본 공간에 있는 샘플을 각각 하나의 실수 값으로 변환해 주는 함수 식을 확률변수 (Random Variable)라고 한다.
가장 널리 알려진 확률분포는 정규분포다. 정규분포는 특정 확률 밀도 함수로 (Normal PDF)부터 얻어진 확률들의 패턴으로 정의되는데 그 패턴이 종모양으로 중간이 높고 양 가장자리로 갈수록 낮아지는 모양이다. 연속형 확률분포의 예는 정규분포를 포함하여 일양분포, 지수분포, 로그정규분포, t분포, 카이제곱분포, f분포, 감마분포, 베타분포 등이 있다. 이산형 확률분포는 베르누이분포, 이항분포, 포아송분포, 기하분포, 초기하분포, 음이항분포 등이 대표적이다. 여기서 중요한 개념인 모수 (parameter)가 등장한다. 모든 확률분포는 한 개 이상의 모수를 가지고 있으며 이는 확률분포의 모양을 결정한다. 예를 들어 정규분포의 경우 평균과 분산, 2개의 모수가 있고 이들이 정규분포의 모양을 결정한다. 많은 경우 분포의 모수는 알려져 있지 않으며 모수를 추측해보는 과정을 통계학에서는 추정 (Estimation)이라고 한다.
모수와 비모수의 차이에 대해 설명할 준비가 되었다. 모수적 모델은 알려진 확률분포 (위에서 설명한)를 기반으로 해당 모수를 추정하는 과정이 포함되어 있는 모델을 통칭한다. 가장 대표적인 방법론으로는 선형회귀모델이 있다. 이해하기 쉽게 단순선형회귀모델 (Simple Linear Regression Model)을 예로 들어 보자. 단순선형회귀모델은 예측변수(X)와 반응변수(Y) 사이의 관계를 직선으로 표현하는 방법이다. 즉, 반응변수를 예측변수를 이용해 예측 (혹은 설명)하는 것인데 실제로는 두 변수 사이의 랜덤성으로 인해 예측변수만을 가지고 반응변수를 100% 예측 (혹은 설명)하기는 어렵다. 이 부족한 부분은 어쩔 수 없이 오차 (error)로 표현을 해야 한다. 선형회귀모델에서는 이 오차값들이 평균이 0이고 분산이 특정 상수값을 갖는 정규분포를 따른 다는 가정하에 수립된다. 이렇듯 선형회귀모델은 모델 구축 시 알려진 확률분포 (정규분포)를 가정하기 때문에 모수적 방법론에 속한다.
머신러닝 관점에서 보았을 때, 비모수적 모델의 예는 꽤 많다. 간단한 모델링 과정으로 인해 많이 활용되고 있는 K-최근접이웃 (K-Nearest Neighbors) 알고리즘이 대표적인 비모수적 모델이다. 예측하고자 하는 관측치가 있을 때 이와 가장 가까운 거리에 있는 K개의 관측치를 결정한 후 이들의 특성을 이용해 관심 관측치를 예측하는 과정을 거치는 알고리즘이다. 이 과정에서 위에서 언급한 확률분포의 개념은 전혀 사용되지 않기 때문에 비모수적 모델이다. 여기서 주의해야 할 점이 있다. K-최근접이웃 알고리즘에서 사용자가 정해 주어야 할 요소가 있는데 최근접 이웃의 개수 (K)와 거리 종류(매우 다양한 거리 측도 가 존재)다. 놀랍게도 많은 책에서 이 요소를 그냥 모수 (파라미터)로 부르고 있는데 이는 잘못된 표현이다. 이 표현에 대해 모두가 동의하는 용어는 아직 없지만 개인적으로는 “하이퍼모수 (Hyperparameter)”로 부르는 것이 가장 무난하다고 생각한다. 용어야 어쨌든 중요한 점은 “모수”와 “하이퍼모수”는 확실히 구별 해야 한다는 점이다. 최근 유행하고 있는 딥러닝의 기본 모델인 인공신경망 (Artificial Neural Network)은 모수와 하이퍼모수가 공존하는 모델이다. 인공신경망 모델은 기본적으로는 인풋, 은닉, 아웃풋 3개의 층 (Layer)로 구성되어 있으며 각 층에 있는 노드들이 서로 연결된 네트워크 그래프 형태로 표현된다. 인공신경망 모델은 일단 네트워크 구조가 결정되면 층 간 노드들을 연결하고 있는 연결선의 가중치를 결정하는 것이 핵심이다. 여기서 가중치는 “모수”이며 은닉층의 개수, 은닉층에 포함할 노드의 개수 등은 “하이퍼모수”이다. 모수인 가중치를 계산할 때 위에서 언급한 확률분포의 개념은 사용하지 않는다. 따라서 확률분포 사용 여부를 기준으로 본다면 인공신경망은 비모수적 모델이다.
하지만 인공신경망을 모수적 모델로 보는 관점도 있다. 모수 계산 시 특정 확률분포를 가정하고 있지 않지만 어쨌든 모수 (가중치)가 존재하기 때문이다. 따라서 확률분포의 사용 여부가 아닌 모수(하이퍼모수가 아님을 다시 강조)의 유무를 기준으로 하면 인공신경망은 모수적 모델이다.
일부에서는 모수는 존재하지만 확률분포 가정을 사용하지 않는 모델을 모수와 비모수의 중간으로 “세미모수적 (Semiparametric)” 모델이라고 부른다. 인경신경망이 대표적인 예이다. 연결선의 가중치인 "모수"가 존재하나 이 모수는 확률분포와는 무관하게 얻어지는 것이기 때문이다. 모수와 비모수 구분을 하는 다양한 관점을 어느 정도 아우를 수 있다는 점에서 개인적으로 “세미모수적” 용어에 긍정적인 의견을 가지고 있다.
이런 관점에서 데이터마이닝/머신러닝에서 많이 사용하고 있는 모델을 분류해 보면 다음과 같다.
- 모수적 모델: 회귀모델, 로지스틱회귀모델, 1차/2차 판별모델
- 비모수적 모델: 의사결정나무, 랜덤포레스트 (Random Forest), K-최근접이웃
- 세미모수적 모델: 인공신경망, 서포트벡터머신 (Support Vector Machine)
요약해 보자. 모수적 모델과 비모수적 모델을 나누는 여러 관점이 있지만 다음 세 가지로 보면 큰 무리가 없을 듯하다.
(1) 모델 구축 시, 알려진 확률분포를 사용하는지 여부에 의해 구분 (주로 통계학, 산업공학 전공자들이 주장)
(2) 확률분포 가정 여부와 상관없이 모델에 모수가 존재하는지 여부 (여기서 모수는 하이퍼모수와는 다름) (주로 컴퓨터과학/공학 전공자들이 주장)
(3) 모수, 비모수 외에 세미모수를 등장시켜 위 두 관점에서 상충되는 모델을 포함 시킴
본 글은 필자가 가지고 있는 현재까지의 지식을 바탕으로 작성했으나 관점에 따라 다른 의견이 많을 것으로 판단됩니다. 본 글의 대한 가감 없는 의견/비판을 기대해 봅니다. 여러분의 의견을 포함하여 계속 업데이트하도록 하겠습니다.
좀 더 자세한 개요를 알기 싶으신 분들은 다음 동영상을 참고하시면 되겠습니다.
https://www.youtube.com/watch?v=FGPfQgHNgOU&t=734s