🧑‍💻 IT 범생이 Finn/🤖 데이터 석사 생존기

꼭 알아야 하는 머신러닝 필수 개념 (3): 학습방법 편

It's FInn's Place 2021. 6. 28. 13:58

 

학생별로 알맞은 교육법이 모두 다르듯이, 머신러닝 또한 당면한 문제를 효과적으로 해결하기 위해 여러 '학습'방법 중 하나로 데이터를 받아들인다. 즉, 학습 알고리즘 별로 Training/Test 데이터를 활용하는 순서 및 방법에 차이가 있는 것이다. 이번 장에서는 머신러닝의 주요 학습방법들을 소개하고, 간단한 예시를 통해 이해를 돕고자 한다.

 

 

Supervised Learning: 기출 문제를 열심히 푸는 학생

Supervised learning 또는 지도학습은 레이블이 포함된 학습 데이터를 바탕으로 모델을 구축하여, 알려지지 않은 새로운 값에 대한 예측을 스스로 해 내는 학습 방법이다. 공부법에 비유하자면, 사전에 정답이 주어진 기출문제를 바탕으로 공부를 한 뒤, 시험을 치루는 공부법이다. 따라서 기출문제에 해당하는 학습 데이터의 양과 질이 중요한 학습 방법이다. 지도학습은 전 장에서 소개한 분류, 회귀 그리고 랭킹 문제를 해결하기 위해 사용된다. 기존 스팸 메일에 대한 정보를 바탕으로, 새로운 이메일의 스팸 여부를 판별하는 자동 분류 알고리즘이 이에 해당한다.

 

Unsupervised Learning: 비슷한 문제끼리 묶어 정리하는 학생

Unsupervised learning 또는 비지도학습은 레이블이 포함되지 않은 학습 데이터를 바탕으로 모델을 구축하고 예측하는 학습 방법론이다. 결과값인 레이블에 대한 정보가 없으므로 모델의 성능을 분석하기 어렵다는 특성을 지니므로, 어떤 '정답'을 찾기 보다는 주어진 데이터 내에서 규칙을 발견하는데 사용된다. 문제의 정답은 모르지만, 우선 주어진 문제집에서 비슷한 유형의 문제끼리 묶어 정리하는 경우로 비유할 수 있다. 군집(Clustering)과 차원축소의 문제가 비지도 학습의 주요 예시이다. 예를 들어, 100개의 서로 다른 이미지를 '알아서' 6개의 그룹으로 나누도록 시키면, 그림의 공통적인/배터적인 특징을 바탕으로 알고리즘이 '알아서' 분류를 한다.

 

Reinforcement Learning: 당근과 채찍으로 학생을 관리하다

Reinforcement learning 또는 강화학습은 보상 및 처벌을 통해 알고리즘을 개선해 나가는 학습 방법이다. 정답을 맞힐 경우 '참 잘했어요' 도장을 받고 틀리면 꾸중을 듣는 학생과 같이, 주어진 환경 내 문제를 풀며 '내 가장 큰 보상이 주어지는 방향으로' 자신의 판단 체계를 정교화 해 나간다. (학습 →평가→학습)의 과정을 무수히 반복한다는 점에서 학습(Train) 및 평가(Test) 과정이 완벽히 구분되어 있는 위 두 알고리즘과 차이가 있다. 인공신경망 및 그의 하위 알고리즘인 딥러닝이 강화학습의 대표적인 예시에 해당한다.

 


여기까지 머신러닝에서 가장 보편적으로 알려진 3개의 학습 방법을 알아보았다. 그러나, 우리는 머신러닝 역시 응용학문의 한 분야이며, 위의 3가지 학습방법은 절대적인 진리가 아니라 가장 대표적인 방법론에 불과함을 알아 둘 필요가 있다. '더욱 효과적인 학습'을 위한 연구는 현재도 활발히 진행 중이며, 그 중 일부를 아래 간단히 소개하고자 한다.

 

Semi-supervised Learning: 반쪽짜리 정답으로 학습하기

Semi-supervised learning, 또는 준 지도학습은 현대 응용 머신러닝 연구의 큰 축을 담당하는 영역으로, '레이블이 포함된 데이터' 및 '레이블이 미포함된 데이터'가 혼재되어있는 학습데이터를 바탕으로 모델을 구축하는 학습 방법이다. 레이블이 포함되지 않은 데이터의 분포를 예측하여, 지도학습 대비 우수한 결과를 얻는 것이 목적이다.

 

그렇다면 지도학습을 놔두고 왜 굳이 준 지도학습을 사용하는 것일까? 현실 속에서 '완벽한' 형태의 데이터는 구하기 어려울 뿐더러 비용 또한 만만찮기 때문이다. 레이블 미포함 데이터는 구하기 쉬운 반면 레이블 포함 데이터 가격이 배로 비쌀 경우를 생각해보자. 비싼 돈을 주고 레이블 포함 데이터를 몽땅 갖추는 것은 분석 소요 비용을 지나치게 높일 것이고, 그렇다고 소량의 레이블 데이터를 바탕으로 한 지도학습은 성능이 제한적일 것이다. 현실에서 자주 당면하는 이 문제를 해결하기 위해 준 지도학습이 대두되고 있는 것이다.

 

On-line Learning: 여러번의 쪽지 시험으로 성적내기

On-line learning 또는 온라인 학습 방법은 주어진 횟수동안 (학습→평가) 과정을 수차례 반복하며 알고리즘을 학습하는 방법론이다. 한번의 학습 및 평가로 결과를 내는 지도학습과는 달리, 서너번의 기출문제 풀이 및 쪽지시험을 통해 최종 성적을 도출하는 방식이다. 매회 순차적으로 새로운 학습데이터가 주어지며, 해당 데이터에 대한 예측 결과를 바탕으로 loss function이 업데이트 된다. 여러 회차를 거치며 누적된 loss function을 바탕으로 알고리즘 성능을 비교한다.

 

온라인 학습은 전체 학습 데이터를 한번에 학습하는 것이 어려운 컴퓨팅 환경을 갖추었거나, 데이터에 포함된 새로운 패턴을 빠르게 읽어내고 적응해야 하는 경우 주로 사용된다. '주식 가격 예측'과 같이 시간적인 순서에 따라 구분된 학습 데이터를 순차적으로 활용하는 경우가 후자의 예시에 해당한다.

 

 

이로서 머신러닝을 분류하는 또 하나의 기준인 학습방법에 대한 정리를 마쳤습니다! 지도/비지도 학습 등 익히 관심있으면 들어보셨을 개념부터, 새롭게 대두되고 있는 학습방법까지 간단히 살펴보았는데요. 머신러닝이 기계가 스스로 학습함을 의미함과 같이, 기계가 스스로 학습할 수 있는 방법에 대한 고민 역시 아직 연구 및 학습이 현재진행형임을 잊지 않으셨으면 합니다!

 

머신러닝을 분류하는 또 하나의 기준, 문제 별로 구분해 높은 포스팅 링크 함께 남겨드립니다 :)

 

꼭 알아야 하는 머신러닝 필수 개념: 기초용어 및 활용분야 예시

머신러닝이 대세다! 라고 들었을때 공부했어야 했는데, 라고 생각했을때 공부했어야 했는데... 라는 생각이 많이 드는 요즘이다. 마냥 외국어 같던 머신러닝도 어느덧 석사 중반에 접어들며 '익

finnsplace.tistory.com