데이터 스터디/Stats\ML

03. '통계적' 머신러닝(statistical machine learning)

케이와이엠 2022. 2. 9. 01:23

03. 머신러닝 vs 전통적인 통계학 vs '통계적' 머신러닝

 

사실 머신러닝에 대해 배울 때 꼭 짚고 넘어가야 할 부분이 바로 

머신러닝 vs 전통적인 통계학 vs '통계적'머신러닝이다. 

통계를 왜 배우는가, 통계가 머신러닝과 어떤 연관이 있는가. 


 

먼저 머신러닝 방법과 전통적인 통계학은 그들의 목적에서 차이가 있다. 

 

머신러닝 방법은 특정한 분포나 가설을 통해 실패할 확률(손실함수, 혹은 손실함수를 제곱합/평균낸 비용함수)을 최소화하는데에 목적이 있다.  이들의 목표는 바로 일반화(generalization)이고 이를 위해 오버피팅을 방지하는 '정규화(regularization)'과정을 거치거나 언더피팅을 방지하는 '최적화(optimization)'방법을 고민하게 된다. 따라서 모델이 갖는 신뢰도나 정교한 가설 검정을 위한 가정 등은 상대적으로 중요도가 낮다. 또한 bias를 감안하고서라도 여러 feature가 포함된 complex한 모델로 예측을 수행한다. 예를 들어 전력공급량을 예측하는 상황이 주어진다면 공급사별 특징, 기온, 시간 등 최대한 많은 인자를 모델에 투입하여 예측을 수행하고 어떤 인자가 왜 중요하게 쓰이는지는 딱히 중요하지 않게 된다. (처음 예측모델을 만들어 볼 당시, 예측변수와는 전혀 연관이 없는 변수를 집어넣으려는 팀원이 있었는데 "그냥 성능만 좋게 나오면 되는거 아니에요? 뭘 그렇게 따져요"라는 말에 뒤통수 한 대 맞은 기분이었다 ^^.. ) 

 

📝머신러닝의 목표 : 일반화에 대한 추가 포스팅📝

 

03 + 머신러닝의 목표

03 + 머신러닝의 목표 머신러닝에서의 가장 중요한 목표는 "generalization 일반화" 이다. generalization, 즉 일반화는 이전에 '관측되지 않은' 데이터에 대해 높은 성능으로 적용할 수 있는 능력을 말

uumini.tistory.com

                                                                          


반면 전통적인 통계학은 우리가 모르는 모수를 추정하는데 있어서 가능성을 최대화하는데에 목적이 있다.  

따라서 통계 모델링에는 우리가 궁극적으로 궁금해하는 모수(parameter)를 찾기 위한 가설 검정과 추론이 이루어지고 최적의 값으로 추정하기 위해 목적함수(objective function, 또는 손실함수, 비용함수)를 최대화하는 지점을 찾는 mle와 같은 과정을 거치는 것이다. 다시 말하자면 통계적 추론에 중점을 두는 것 !! 


자 여기서  '통계적 머신러닝'을 등장시켜보자.

 

'통계적 머신러닝'은 머신러닝을 통계학적으로 바라보는 것을 말한다.

당연하다. 머신러닝의 "오류를 최소화한다"는 개념이 통계학에 뿌리를 두고 있으니 말이다. 

이는 Likelihood Function을 최대화 해야한다는 통계학의 이론과, Loss Function을 최소화 시킨다는 머신러닝의 공리가 서로 통한다는 것을 보여준다. 

 


이를 하나의 그림으로 요약하자면 아래와 같다. 

 

출처: 파이썬을 이용한 통계적 머신러닝, 박유성

 

머신러닝은 응용통계학의 한 영역이라고 할 수 있다. 

머신러닝 속 모델들은 모두 비용(cost) 즉, 오류를 최소화한다는 통계적 이론에 뿌리를 두고 있는 것들이다. 따라서 사용자의 입장에선 통계적 추론에 대한 지식이 없어도 개발된 머신러닝 기법으로 뚝딱뚝딱 코드만 짜면 손쉽게 분석은 가능하지만 그의 기반에는 모두 통계가 살아숨쉬고 있다는 사실 !!!!!  

 

 

+ 또한 시계열 분석, 범주형 분석 등과 같이 피쳐의 특성에 초점을 두고 분석하는 전통적인 통계학과 달리 통계적 머신러닝은 정답 정보를 담고 있는 y값의 관측여부에 따라 분석한다는 점도 다르다. 

  • 지도학습(Supervised Learning) : 관측된 y값을 포함한 학습 데이터(또는 훈련 데이터)로 모델링. 주로 분류/예측 등데이터를 linear하게 나타냄. 
  • 비지도학습(Unsupervised Learning) : y값을 모르는 상태에서 진행. 클러스터 분석, 차원압축, 밀도추정 등

 

자 그렇다면 한문장으로 대답해보자. 

머신러닝에서 왜 통계를 배워야할까 ? 

머신러닝에 사용되는 최적화(= 오류, 즉 손실함수를 최소화한다)의 개념이 통계적 이론에 뿌리를 두고 있다는 것. 

그리고 우리는 다양한 확률분포 속에서 손실을 정의하고 이를 최소화하는 방법을 수리적으로 증명해보기도 함으로써 통계적 모델에 가까워진다는 것. 

 

+통계학에서는 추론을, 머신러닝에서는 예측을 !

 

 

사실 면접 상황에서 툭하고 물어보기 되게 좋은 질문이라는 생각이 드는데,

임기응변 Lv.0인 나로서는 ^^ 한 번 쫙 이렇게 각 잡고 정리를 해줘야 이대로 머릿속에 박히게 되면서 이대로 줄줄 외우고 다닐 것임