Info) 아래 포스팅은 LGAimers에서 제공하는 AI 전문가 과정 중 이화여자대학교 강제원 교수님의 [지도학습(분류/회귀)] 강의에 대한 요약과 생각들을 정리한 것입니다. 정리된 내용들은 강의를 토대로 작성되었으나 수강자인 저의 이해도에 따라 일부 틀린 부분이 있을 수 있다는 점 알려드립니다. 잘못된 점이 발견될 시에는 즉각 수정하도록 하겠습니다. 또한, 강의의 모든 내용을 정리하기는 어렵기 때문에 인상깊었던 내용을 중심으로 정리하였습니다. 따라서, 설명의 맥락이 끊길 수도 있다는 점 양해 부탁드립니다. 

0. Introduction

강제원 교수님의 [지도학습] 강의를 듣기 전에 [품질과 신뢰성] 강의를 들었을 때는 생소한 개념들과 용어 때문에 머리가 어질어질했었는데 지도학습은 기존에 머신러닝을 공부하면서 귀에 피가 날 정도로 많이 들었던 내용이라 왠지 자신감이 생기고 가볍게 듣고 넘어갈 수 있겠다는 생각이 들었습니다. 하지만 강의를 듣기 전의 저의 호기로웠던 태도는 순식간에 긴장으로 바뀌게 되었습니다. 왜냐하면 제 예상과 달리 한번쯤 들어봤던 내용들인데 영어로 되어있고 수학 수식과 함께 설명이 되다보니 아는 내용도 어렵게 느껴졌습니다. 저는 선형대수학이나 미적분에 대해서 공부해본 적이 없던터라 온갖 요상한 기호들로 정리된 수식들이 낯설고 어렵게 다가왔습니다. 그래도 교수님께서 친절히 하나하나 설명을 해주셔서 그나마 어찌어찌 따라갈만 했습니다. 여튼 이번 Part1 강의에서 배운 내용들을 복습차원에서 간단히 정리해보고자 합니다. 

1. Supervised Learning vs Unsupervised Learning

Machine Learning은 크게 supervised learning과 unsupervised learning으로 구분할 수 있습니다. 종종 강화학습(reinforcement learning)이나 기타 다른 학습 방법들도 분류의 기준에 포함이 되지만 대다수의 교과서나 아주 rough하게 정리된 내용들을 보면 통상 이 2가지 learning으로 구분하는 경우가 많습니다. supervised와 unsupervised를 구분하는 기준은 data에 label이 있는냐 없느냐입니다. 입력 X 와 출력 y가 쌍으로 구성되어 있다면 labeled data로 학습하는 supervised learning이고 반대로 출력값(output)이 없다면 unlabeled data로 학습하는 unsupervised learning입니다. 쉽게 말하면 답을 알려주고 학습시키느냐 아니면 정해진 답 없이 학습을 시키느냐로 설명할 수 있을 것 같습니다. 

2. Supervised Learning의 과정

지도학습(supervised learning)의 대표적인 기법들에는 회귀(regression)과 분류(classification)이 있습니다. labled data가 연속형(continuous)이라면 regression, 범주형(discrete)이라면 분류라고 볼 수 있습니다. supervised learning이 학습하는 과정을 간단히 살펴보자면 아래 그림과 같습니다. 

출처: 강제원 교수님 강의자료

학습은 크게 두 가지 과정을 거치게 됩니다. 첫번째는 training 과정으로 주어진 학습 데이터(training data)로 학습을 진행하는 것입니다. 그리고 두번째는 testing 과정으로 학습된 모델을 통해 unseen input(혹은 testing data)을 입력하여 예측을 진행하는 것입니다. 이때, 첫번째 training 과정이 핵심인데 supervised learning에서는 training data를 입력 받아 output을 출력하게 되면 출력된 output을 desired output(우리가 가지고 있는 정답(label))과 비교하여 error를 찾아내게 됩니다. 그리고 이 error를 줄이는 방향으로 parameter들을 변경해 나가며 model을 교정하게 됩니다. 즉, supervised learning에서는 우리가 가지고 있는 정답과 모델이 내놓은 예측값을 비교해가며 모델이 정답에 가까운 예측값을 출력할 수 있도록 학습을 시키는 것이라고 정리할 수 있습니다. 

3. Supervised Learning의 X, Y 그리고 Hypothesis g

위의 과정을 수학적으로 정리해보면 다음과 같습니다. 우선 모델에 입력되는 X는 d차원의 입력 feature가 존재하는 백터이며, 모델이 출력하는 Y는 classification 문제의 경우 yes/no 또는 1/-1 등 2개의 label로 이루어진 binary decision이라고 할 수 있습니다. 그리고 X와 Y의 관계식이라고 할 수 있는 함수 f가 존재하며 이를 target function f라고 정의할 수 있습니다. 하지만, 우리는 현실적으로 이 세상의 모든 sample들을 전수조사할 수 없기 때문에 일부 sample로부터 target function f에 approximate할 수 있는 hypothesis g를 구할 수 있을 뿐입니다. 이 hypotheis g를 최대한 target function에 가깝게 하는 것이 machine learning 특히 이 강의에서는 supervised learning이 해야하는 목표라고 할 수 있습니다. 

4. Model Generalization

모든 data sample을 관찰하고 학습할 수 없다는 현실적인 문제는 data의 결핍이 존재할 수 밖에 없다는 사실로 이어지게 됩니다. 따라서, 우리가 보지 못하고 학습하지 못하는 data들에 대해서도 모델이 좋은 성능을 가지고 예측할 수 있도록 최대한 model을 일반화(generalization)해야 할 필요가 있습니다. generalization한다는 것은 training error, testing error을 최소화 하여 궁극적으로 generalizaion error 또한 최소화하는 것이라고 할 수 있습니다. 이 error들은 아래의 2가지 과정을 적절히 조합해 최소화해 나갈 수 있습니다. 

1) test error 와 train error 사이의 간극을 최대한 줄이기 (Overfitting 문제 해소)

test error와 train error의 차이를 줄인다는 것은 결국 학습한 모델이 일반적인(general) 성능을 가지게 되어 variance가 작아지는 것을 의미합니다. 즉, 모델이 train data를 잘 학습하고 동시에 test data도 잘 분류해내는 것입니다. 학습이 잘못되게 되면 train data에 대해서는 좋은 성능을 보이지만(train error는 작지만), test data에 대해서는 성능이 나쁜(test error는 상당히 큰) 경우가 생깁니다. 이를 variance가 큰 상태인 overfitting(과적합)되었다고 하고 regularization을 통해서 이 문제를 해소할 수가 있습니다. 

2) train error를 0에 가깝게 만들기 (Underfitting 문제 해소)

train error가 최소가 되도록 하는 것은 모델의 정확도가 높아지는 것을 의미합니다. 모델이 주어진 학습 데이터를 잘 학습하여 regression 또는 classification 문제를 잘 해결하는 것이 중요합니다. 하지만, 이러한 과정이 잘 이루어지지 않으면 편향성(bias)이 높아지는 underfitting(과소적합) 문제가 발생하게 됩니다. 즉, 모델이 너무 simple하여 성능(정확도)이 그리 높지 않다는 것입니다. 

위 2가지 과정을 정리하자면 test error ≒ train error ≒ 0 즉, test error, train error를 모두 0에 근사하게 만드는 것이 최적의 학습이라고 할 수 있습니다. 그리고 이 최적의 학습을 model generalization이라고 정리할 수 있습니다. 

5. Bias와 Variance의 Trade-off 관계

아래 그림은 overfitting과 underfitting을 설명하는 대표적인 예시입니다. 왼쪽은 underfitting된 모델로 비선형적인 데이터 분포를 선형 모델로 퉁치려는 모습입니다. 따라서 편향된(high bias & low variance) 모델이라 할 수 있고 반대로 오른쪽 그림은 주어진 데이터에 너무 과도하게 fit된 모습을 보이고 있습니다. 때문에 분산이 큰(high variance & low bias) 모델이라 할 수 있겠습니다. 결국 우리가 해야되는 것은 가운데 그림처럼 적절한 편향성(bias)과 적절한 분산(variance)을 가지는 optimum level의 모델을 찾아야 하는 것입니다. 

출처: https://opentutorials.org/module/3653/22071

이를 Bias와 Variance의 trade-off관계라고 합니다. bias가 작아지면 variance가 커지고 variance가 커지면 bias가 작아지는 상충관계를 보이게 됩니다. 따라서 이 둘 사이의 적절한 균형을 찾는 것이 위 4절에서 이야기한 model generalization이라고 할 수 있겠습니다. 아래 그림은 방금 설명한 bias와 variance사이의 trade-off를 보여주는 그림인데 아마 대부분 이 글을 보시는 분들은 꿈에 나올 정도로 지겹게 보셨으리라 생각됩니다. 

그럼 이만 part1에 대한 정리를 마치도록 하겠습니다. 

+ Recent posts