본문 바로가기
모형과 학습이란 무엇인가에 대한 소고

지난 편까지는 어떤 최적해를 구하는 것에 대하여 이야기를 했는데 말이죠. 학습이라는 걸 이야기하고 싶긴 한데, 그전에 모형이란 무엇인가를 이야기해야 아득했던 마음이 좀 좋아질 것 같아서 꺼내는 이야기.

이제까지 많이 들어보았을 수리모형, 확률모형, 통계모형, 기계학습 뭐 그런 이야기입니다. 

일단, 우리가 흔히 다루는 모형은 수리모형입니다. 수리모형이라는 것은 현상을 수식으로 표현한 모형을 말합니다. 

예를 들어, 아이스크림의 매출을 보자면,

아이스크림 매출 = 20˚C + 5×온도˚C 

라는 둥의 수식 표현입니다. 온도가 1˚C 오르면 5만 원 매출이 늘어난다. 이런 식인데요. 이제까지 많이 다루었던 현상을 설명하기 위한 수식적 모형이라고 생각하면 좋겠습니다. 마치 F=ma처럼요.

확률모형은 말이죠, 말 그대로 확률을 다루는 모형인데, 똑같이 아이스크림 매출 확률을 따진다면,

아이스크림 매출 확률 ~ N(20˚C + 5×온도˚C, σ²) 

이런 식으로 확률분포를 다루는 것입니다. 잘 알고 있는 내용이겠지만, 수리모형과 다른 느낌은 확률적으로 20˚C + 5×온도˚C를 기준으로 가우시안 확률로 분포하고 있다는 의미입니다. 이 모형에서 중요한 Parameter는 아이스크림 매출의 평균인 20˚C + 5×온도˚와 분산인 σ²을 말하는데, 이 두개의 Parameter만 알면 아이스크림 매출 확률분포를 구할 수 있게 됩니다. 

그렇다면 통계모형은 또 먼가 싶은데, 통계에서 다루는 모형은 이런 경우 회귀모형으로 설명할 수 있겠는데, 

아이스크림 매출 = 20˚C + 5×온도˚C + ε ε ~ N(0, σ²) 
의 형태이고, 이때의 Parameter는 β₀인 20˚C와 β₁의 5가 Parameter입니다. 그러니까 모형을 완성하기 위해서 필요한 β₀, β₁을 관측이나 표본을 통해 찾아내어 추정하는 것이 통계학이 하는 일입니다. 오, 이런 차이가 있습니다. 

이때! 이 모수를 찾아내기 위해 적절한 Cost를 정의하여 최적화를 통해서 컴퓨터가 적절한 Parameter를 찾아내면 그게 또 머신러닝입니다. 컴퓨터가 스스로 통계모형을 완성한 거거든요.

 

기계가 학습한다는게 바로 이런 통계모형을 스스로 완성하는 것인데 말이죠, 어떤 식으로 이루어지냐면 데이터를 모형에 집어 넣어서 모형의 예측 결과와 정답을 비교한 후 정답과 얼마나 차이가 있는지 비용Cost를 산출해 내고 그 비용에 의한 정답과의 차이를 줄이는데, 정답을 찾아가기 위한, 즉 Cost를 효율적으로 줄이는 방법인 Optimizer를 이용해서 모형 수정하는 과정을 거치는고요, 이렇게 수정된 모형을 갱신하여 다음 데이터를 넣어서 또 같은 짓을 반복합니다. 결국 비용이 최소가 되는 모형을 완성해 나가는 과정이 학습입니다. 모형이 뱉어내는 답이 정답을 가장 잘 예측할 수 있는, 즉 확률적으로 가장 올바른 예측값을 뱉어내는 모형의 Parameter를 구하는 것이 학습이라는 겁니다. 한마디로 요약하자면, 모형의 구조 설계 + Parameter를 추정, 이때 Parameter를 컴퓨터가 찾아내면 기계학습입니다. 그래서 바로 전에 어떻게 해법을 찾아갈 것인가를 이해하기 위해 "최적화 문제의 해법 Cost, Optimizer 만 알면 만병통치약임"편에서 Solution =  Optimizer(domain, cost)에 대한 이야기를 두런두런 알아본 것입니다. 머 간단한 이야기죠? 

대단한 사실은 아니지만, 이런 이야기를 대략 알고 있다면, 기계가 학습한다는 것은 말이야 응응하고 아는 척할 수 있을 테니까 그것만으로도 데이터사이언스를 하고 있구나 하는 실감을 하게 되지 않을까 생각합니다.

확률 모형의 예들은 베르누이 분포, 이항 분포, 정규 분포 등이 있고요, 데이터의 확률 분포를 설명하는 데 사용되고, 어떤 생성할 확률을 계산하는데 이용될 수 있습니다. 반면에, 통계 모형의 예들은 회귀 모형, 로지스틱 모형, 나이브 베이즈 모형 등이 있습니다. 이러한 모형은 데이터에서 추정된 모수를 기반으로 주어진 입력에 대한 출력 값을 예측하는 데 이용될 수 있습니다. 

사실 통계는 분석, 머신러닝은 예측이라는 말이 횡횡하는데, 사실 어떤 통계적 모형을 완성하게 되면 분석과 예측이 모두 가능하게 됩니다. 그러니까 이런 말에 대해서 그렇게 동의하지는 않지만, 아무래도 거꾸로 이야기하면 예측을 위해서 공학 쪽에서 접근을 한 결과물이 머신러닝이고, - 이 경우에는 왜 그런지 분석이 쉽지 않은 경우가 많고 - 분석을 위해서 접근한 것이 통계학이기 때문에 - 이 경우에는 예측이 가능하겠죠. - 각각의 관점에서 바라보면 그 또한 그런가 싶기도 합니다. 

친절한 데이터 사이언스 강좌 글 전체 목차 (정주행 링크) -



댓글





친절한 데이터 사이언스 강좌 글 전체 목차 (정주행 링크) -