오리엔테이션에서 보여드렸던 상황극에서는 기존의 데이터를 바탕으로 학습시켜 새로운 데이터에 대한 결과값을 판단하도록 했습니다. 이를 전문용어로는 '지도학습'이라고 합니다. 이렇게 고유한 이름이 붙어있다는 것은, 이 밖에도 다른 다양한 머신러닝 방법이 있다는 뜻이겠죠?
지도학습과는 반대로 과거의 데이터라는 것이 없는 상태에서, 현재의 데이터들만을 가지고 이들을 분류할 적절한 기준을 만들어내거나 서로의 연관성을 파악하게 할 수도 있습니다. 이렇게 하는 머신러닝을 '비지도학습'이라고 합니다.
그리고 알파고처럼, 정답이 없는(혹은 명확하지 않은)상태에서 행위와 결과를 통해 상벌을 제공함으로써 더 나은 결과를 만들어낼 수 있도록 기계를 학습시키는 것을 강화학습이라고 합니다.
이렇게 다양한 머신러닝 방법을 보기좋게 그려보자면 다음과 같습니다.
머신러닝 | 지도학습 | 분류 | 과거의 데이터와 적절한 분류 기준이 주어집니다. 그리고 입력데이터가 들어왔을 때 이것이 어떤 분류로 들어가야 하는지 판단할 수 있는 능력을 학습합니다. |
회귀 | 과거의 데이터가 주어집니다. | ||
비지도학습 | 군집화 | 작성중... | |
연관 | |||
변환 | |||
강화학습 |
다음 글에서부터는 보다 구체적인 사례들을 다루고, 마지막에는 코딩을 통해 직접 실제로 동작하는 응용 프로그램(모바일이라면 Application)을 만들어 보려고 합니다. 단순히 교양을 위해 머신러닝을 공부하신다면, 딱 여기까지만 하셔도 크게 문제는 없을 거라 생각됩니다.