본문 바로가기

공부방/Upstage AI Lab 4기

머신러닝 | Supervised Learning: 회귀와 분류

Supervised Learning(지도학습)

일반적인 ML의 학습 방식. 입력 데이터를 넣고 함수의 출력값이 y(사람이 지정한 정답값, 사람이 설정한 라벨)에 가까워지도록 학습하는 방식. 학습을 잘 했는지 확인하기 위해서는 모델을 평가해야 한다.

그렇다면 모델이 잘 학습했는지는 어떻게 평가할까?

데이터셋을 학습용 데이터셋과 평가용 데이터셋으로 나누고, 학습용 데이터로 모델을 학습시켜. 모델은 x랑 y의 관계를 학습해. 이걸 바탕으로 y값을 최대한 잘 예측할 수 있게 되는 것. 그 다음에 모델한테 평가용 데이터로 x의 값만 줘. 얘는 학습에 적용된 적이 없으니까 모델 입장에서는 새로운 데이터야. x를 줬으니 y값을 맞춰봐! 평가용 데이터로 모델이 예측한 y값이랑 실제 y값(사람이 정한 답)을 비교해서 얼마나 얘가 학습이 잘 됐는지 확인하면 돼.

지도 학습의 방식에는 크게 두 가지가 있다. Regression(회귀), Classification(분류).

예측하는 값(y)이 어떤 유형인지에 따라 나뉘는데, 예측하는 게 연속적인 수치를 갖는 변수라면 Regression 회귀 모델. 예측하는 것이 범주형 또는 이산형 변수이면 Classification 분류 모델. 

Regression(회귀)

Regression은 연속적인 값을 갖는 수치를 예측하는 것. 예를 들면 주택 가격을 예측한다던가, 주식 가격이라던가, 기온 등등
느낌적인 느낌으로는, 다른 연속적인 수치를 가지고 다시 연속적인 값을 예측하기 때문에 회귀라고 한거 아닐까 싶음.. Regression.. 되돌아가다라는 뜻인데, 연속적인 값 중에서 특정 값을 예측하면, 그게 어떤 경향성을 가지는 걸로 되돌아가는 현상이 보여서..? 강의에서는 이 Regression이라는 이름이 그 이름과 정확히 일치하지 않는 편이라고 했다. 어쨌거나 모델이 찾는 것이 "continuous 한 숫자"면 Regression!!

입력이 뭐든 상관없이, 출력값이 연속형 변수이면 Regression.
만약 입력 변수가 하나면 단순 회귀분석이고, 입력 변수가 여러 개면 다중 회귀분석.
ex) 영화 장르, 영화 평점, 영화에 투자된 금액 -> 영화가 거둔 이익(금액) 

이번 공부에서는 선형 모델을 사용하는 선형 회귀만 다룬다. 

회귀모델 방법론으로 Linear Regression(선형회귀모델)과 Correlation Analysis(상관관계분석)이 있다. 

 

Classification(분류)

Classification는 Regression이 아닌 나머지.. 그런 느낌이던데. 입력값부터 특정 범주(클래스)로 구분해놓고, 결과도 정해져있는 클래스 값으로 나타나는 것. 이메일이 스팸인지 정상인지, 질병이 있는지 없는지, 손글씨 숫자를 주고 0부터 9까지 분류해서 인식하게 하는 것 등을 예로 들 수 있다. 딱 두 개로 분류하는 것(0과 1, 맞다와 틀리다)은 이진 분류, 3개 이상으로 분류하면 다중 분류. 여기서 중요한 건 클래스가 discrete하다는 것!! 정확히 딱 나뉘는 것. (연속적과 반대되는 개념) 중간값 없다.

이진분류를 위한 모델링 방법 중에 Logistic Regression(로지스틱 회귀모델)이 있다.
그 외에 k-Nearest Neighbor(k-최근접이웃) 분류기, Decision Tree, SVM Support Vector Machine이라는 분류 방법도 있다. 

  • 회귀모델을 통해 확률에 대한 모델링이 가능하도록 만든 로지스틱 함수
  • 어떤식으로 이를 확장해 3개 이상의 클래스를 분류하는 다중분류문제로 만드는지

 

Unsupervised Learing(비지도학습)

y값을 주지 않고 입력값 x만 가지고 모델을 학습시키는 방법. 평가는 y값 예측을 얼마나 잘하는지 똑같이 함. 

평가하려면 학습이 되지 않은 데이터를 가지고 학습용 데이터셋과 평가용 데이터셋을 나눈다.  

 

 

-> 다음 편에 계속... Linear Regression으로 이어쓰기