MACHINE LEARNING

ML / 3가지 주요 원칙

24_bean 2022. 9. 16. 14:42

ML 3가지 주요 원칙

 

Machine Learning을 이용해 데이터를 학습시킬 때엔 아무렇게나 막 하면 안되겠죠..

그래서 우리가 지켜야 할 가이드라인을 크게 3가지로 분류합니다.

 

 

  • Occam's Razor : 오캄의 면도날
  • Sampling Bias : 표본 편향
  • Data Snooping Bias : 데이터 스누핑 편향

 


Occam's Razor 

 

일반적으로 오캄의 면도날이라고 불리는 해당 원칙은 흔히들 lex parsimoniae, 검약의 원리라고도 부르곤 합니다.

말이 참 어려운데.. Occam의 저서에 나온 문구를 통해 쉽게 이해해보겠습니다.

 

Pluralitas non est ponenda sine neccesitate.

 

 

해당 문구는 라틴어로, "많은 것들을 필요없이 가정해서는 안된다"는 의미를 지닙니다.

 

같은 현상을 설명하는 두 개의 주장이 있다면, 간단한 쪽을 선택하라(given two equally accurate theories, choose the one that is less complex)'는 뜻입니다.

 

Hardcoding을 피하기 위해 발전된 Machine Learning에서 "많은 것들을 필요없이 가정해" Flag들을 세운다면.. 의미가 없어지기 때문에 논리의 형식상 타당한 논증일지언정, 가정이 많이 들어갈 수록 건전하지 못한 논증이 될 가능성이 높아집니다.

 

따라서 우리는 가능한 간단하게 문제를 풀기위해 접근해야 할 것입니다.


Sampling Bias

 

Sampling Bias를 번역하면 "표본 편향"이 됩니다. 어떤 이들은 "선택 편향"이라고도 합니다.

 

말 뜻 그대로를 해석하자면 표본을 잘못 선택함으로써 통계 분석이 왜곡되는 것을 뜻합니다.

 

이를테면 고양이와 강아지를 classification 하고자 한다고 가정해봅시다.

1000개의 이미지 데이터가 있을 때, 고양이에 해당하는 이미지가 단 10개밖에 없다면..?(매우 극단적인 상황입니다.)

분명 해당 모델은 강아지를 선택하는 데 Overfitting된 결과를 얻을 것 입니다.

 

유명한 일화로 1936년 미 대선의 설문조사가 있습니다.

당시 미 대선은 공화당의 Landon 후보와 민주당의 Roosevelt 후보의 대결이었습니다.

이때 Literary Digest라는 잡지사에서 설문조사를 통해 Roosevelt는 43%의 지지율을 얻을 것으로 예상했지만 실제 결과에서는 Roosevelt후보가 62%라는 지지율로 당선되었습니다.

설문조사의 결과가 편향성을 띈 이유는 당시 해당 잡지사의 독자들이 대부분 부유층이었기 때문에 Roosevelt에 반감을 가지고 있는 사람들이 많았기 때문입니다.

우리가 일상 대화에서 종종 얘기하는 통계의 오류?로 생각하면 좋을 것 같습니다.

 


Data Snooping Bias 

 

마지막으로 Data Snooping Bias 입니다.

누군가는 이를 두고 "데이터 염탐 편향" 이라고 번역합니다.

(개인적으로는 아주 번역이 적절하지 않았나..하고 생각합니다.)

 

해당 원칙에서는 Machine Learning을 하기 전 데이터를 이미 본 후에 알고리즘을 결정하는 것이 잘못되었다고 말하고 있습니다.

 

누군가 데이터를 보고나서 알고리즘을 정하면, 최적화가 잘되어있으니 좋은 거 아닌가? 하고 생각할 수도 있습니다.

다만 Overfitting의 오류에 빠지지 않아야 함을 간과해선 안됩니다.

 

만약 기존의 학습시킨 데이터와 비교했을 때 기존의 데이터가 test 데이터를 충분히 Represent하지 않는다면? 아마 기대했던 성능이 나오기 어려울 것입니다.

 

유명한 말로 이런 말이 있습니다.

 

If you torture the data long enough, it will confess

데이터를 많이 고문시키면, 자백할 것이다...

 

즉, 데이터를 너무 많이 보게되면 그 특성에 overfitting될 수 있다는 의미입니다.

 


우리는 위에서 언급한 3가지 주요 원칙을 기억하며 Machine에게 데이터를 학습시켜야 합니다.

매 순간 이 부분들을 따져가며 할 순 없겠지만 알고있는 것과 모르는 것의 차이는 매우 크겠죠?

 


Reference : http://aispiration.com/ml/ml-three-principles.html, https://www.freecodecamp.org/news/machine-learning-principles-explained/, https://productiveclub.com/selection-bias/, https://www.dictionary.com/e/pop-culture/occams-razor/