본문 바로가기
자연어 처리

[딥러닝을 이용한 자연어 처리 입문] 머신 러닝

by 나연하야 2023. 4. 6.

오늘은 머신 러닝에서 나오는 기본적인 개념에 대해서 알아보고자 함

 

  • 모델 성능 평가

- 머신 러닝 모델의 성능을 평가하기 위해서는 분석 전에 데이터를 훈련용, 검증용, 테스트용으로 분리함

- 훈련용 데이터는 머신 러닝 모델을 학습하는 용도이며, 테스트 데이터는 학습한 머신 러닝 모델의 성능을 평가하기 위한 용도임

- 검증용 데이터는 모델이 훈련 데이터에 과적합이 되고 있는지 판단하거나 하이퍼파라미터를 조정하기 위한 용도로 사용됨(하이퍼파라미터란 모델의 성능에 영향을 주며, 사람이 값을 지정하는 변수임)

- 검증용 데이터를 이용하여 하이퍼파라미터를 결정하는 과정을 튜닝한다고 표현함

 

  • 분류와 회귀

- 머신 러닝 모델을 이용하여 스팸 메일 분류/과학, 영어, IT, 학습지, 만화라는 레이블이 붙어있는 5개의 책장에 분류/역과의 거리, 인구 밀도, 방의 개수 등을 입력하여 부동산 가격 예측을 해야하는 경우가 있음

- 스팸 메일 분류의 경우 스팸인지, 아닌지 두 개 중 하나를 선택하면 되기 떄문에 이진 분류 문제이며, 과학, 영어, IT, 학습지, 만화 중 하나로 분류하는 것은 다중 클래스 분류, 부동산 가격 예측은 앞의 예시들과 달리 몇 개로 분류하는 것이 아니기 떄문에 회귀 문제임

 

  • 지도학습과 비지도학습

- 머신 러닝은 크게 지도학습, 비지도학습, 강화학습으로 나뉨

- 지도학습은 레이블이라는 정답을 가지고 함께하는 것이며, 비지도학습은 레이블 없이 학습하는 것임

- 자주 언급되지는 않지만 딥러닝 자연어 처리에서 중요한 학습 방법 중 하나인 자기지도 학습은 레이블이 없는 데이터가 주어지면 모델이 학습을 위해 스스로 데이터로부터 레이블을 만들어서 학습하는 경우로 Word2Vec, 워드 임베딩, BERT 등이 해당됨

 

  • 샘플과 특성

- 위의 예에서 역과의 거리, 인구 밀도, 방의 개수를 이용하여 부동산 가격을 예측할 때 부동산 가격을 예측해야 하는 집이 샘플이며, 역과의 거리, 인구 밀도, 방의 개수는 특성이라고 함

 

  • 혼동행렬

- 아래와 같은 행렬을 혼동행렬이라고 하며, 해당 행렬을 통해 정확도, 정밀도 등을 산출할 수 있음

  예측 참 예측 거짓
실제 참 TP FN
실제 거짓 FP TN

True Positive(TP): 실제 True인 정답을 True라고 예측(정답)

False Positive(FP): 실제 False인 정답을 True라고 예측(오답)

False Negative(FN): 실제 True인 정답을 False라고 예측(오답)

True Negative(TN): 실제 False인 정답을 False라고 예측(정답)

 

정확도(Accuracy)=(TP+TN)/(TP+FN+FP+TN)

정밀도(Precision)=TP/(TP+FP)

재현율(Recall)=TP/(TP+FN)

 

- 정확도는 전체 예측한 데이터 중에서 정답을 맞춘 것에 대한 비율로 실생활에서 가장 많이 사용하는 지표임

- 그러나 정확도 아래와 같은 단점이 있음

비가 오는 날을 예측하는 모델이 매일 비가 오지 않는다고 예측했다고 가정했을 때, 실제로 200일 동안 6일만 비가 왔으면 정확도는 194/200=0.97로 97%임

- 이와 같이 비가 온 날은 하루도 맞추지 못했지만 정확도가 높게 나오게 되며, 이를 보완하기 위한 지표로 F1-score가 있음

 

  • 과적합과 과소적합

- 머신 러닝에서 훈련 데이터를 과하게 학습하는 경우를 과적합이라고 하며, 이와 같은 경우 실제 데이터에는 정확도가 떨어질 수 있음

- 반대로 훈련을 덜 한 상태는 과소적합이라고 함

- 딥러닝에서는 과적합을 방지하기 위해 드롭아웃(Dropout), 조기 종료(Early Stopping)과 같은 것이 있음

 

  • 딥러닝 모델의 학습 과정

1. 주어진 데이터를 훈련, 검증, 테스트 데이터로 나눔

2. 훈련 데이터로 모델 학습

3. 검증 데이터로 정확도 및 오차를 계산하여 모델 평가

4. 검증 데이터의 오차가 증가하면 과적합 징후이므로 학습 종료, 아니면 2단계로 이동하여 다시 학습

5. 테스트 데이터로 모델 평가

 

출처: 유원준/안상준, 딥러닝을 이용한 자연어 처리 입문-1권, p169-p180.