윤제로의 제로베이스

머신 러닝 용어 이해하기 본문

Background/Pytorch 기초

머신 러닝 용어 이해하기

윤_제로 2022. 1. 16. 22:30

https://wikidocs.net/60021

 

01. 머신 러닝 용어 이해하기

이번 챕터에서는 머신 러닝의 특징들에 대해서 배웁니다. 딥 러닝 또한 머신 러닝에 속하므로, 아래의 머신 러닝의 특징들은 모두 딥 러닝의 특징이기도 합니다. ##**1 ...

wikidocs.net

1. 머신 러닝 모델의 평가

검증용 데이터는 모델의 성능을 조정하기 위한 용도이다. 즉 과적합 되고 있는지 판단하거나 하이퍼파라미터의 조정을 위한 용도이다. 

하이퍼파라미터(초매개변수)값에 따라서 모델의 성능에 영향을 주는 매개변수들을 말한다. 

매개변수가중치와 편향과 같이 학습을 통해 바뀌어가는 변수이다.

 

하이퍼파라미터와 매개변수의 가장 큰 차이는 하이퍼파라미터는 보통 사용자가 직접 정해줄 수 있는 변수라는 점이다.

예를 들어 경사 하강법에서는 학습률, 딥러닝에서는 은닉층의 수, 뉴런의 수, 드롭아웃 비율 등이 이에 해당한다.

매개변수는 사용자가 결정해주는 값이 아니라 모델이 학습하는 과정에서 얻어지는 값이다. 

 

즉, 하이퍼파라미터는 사람이 정할 수 있는 변수인 반면, 매개변수는 기계가 훈련을 통해 바꾸는 변수이다. 

 

훈련용 데이터로 훈련을 모두 시킨 모델은 검증용 데이터를 사용하여 정확도를 검증하며 하이퍼파라미터를 튜닝한다.

또한 이 모델의 매개변수는 검증용 데이터로 정확도가 검증되는 과정에서 점차 검증용 데이터에 맞춰지기 시작한다.

 

하이퍼파라미터 튜닝이 끝났다면, 이제 검증용 데이터로 모델을 평가하는 것은 적합하지 않다. 이미 검증용 데이터에 대해서 일정 부분 최적화가 되어있기 때문이다.

 

2. 분류(Classification)와 회귀(Regression)

1) 이진 분류(Binary Classification)

이진 분류는 주어진 입력에 대해서 둘 중 하나의 답을 정하는 문제이다.

2) 다중 클래스 분류(Multi-class Classification)

다중 클래스 분류는 주어진 입력에 대해서 세 개 이상의 정해진 선택지 중에서 답을 정하는 문제이다.

3) 회귀 문제(Regression)

회귀 문제는 분류 문제와 달리 연속된 값을 결과로 가진다.

3. 지도 학습(Supervised Learning)과 비지도 학습(Unsupervised Learning)

1) 지도 학습

지도 학습이란 레이블이라는 정답과 함께 학습하는 것을 말한다. 

이때 기계는 예측값과 실제값의 차이인 오차를 줄이는 방식으로 학습하게 된다.

2) 비지도 학습

비지도 학습은 기본적으로 목적 데이터(또는 레이블)이 없는 학습 방법이다.

대표적으로 군집(clustering)이나 차원 축소와 같은 방법들이 있다.

3) 강화 학습

강화 학습은 어떤 환경 내에서 정의된 에이전트가 현재의 상태를 인식하여, 선택 가능한 행동들 중 보상을 최대화하는 행동 혹은 행동 순서를 선택하는 방법이다.

4. 샘플(Sample)과 특성(Feature)

5. 혼동 행렬(Confusion Matrix)

머신 러닝에서는 맞춘 문제수를 전체 문제수로 나눈 값을 정확도라고 한다.

하지만 정확도느 맞춘 결과에 대한 세부적인 내용을 알려주지는 않는다. 

예측값 | 실제값 거짓
TP FN
거짓 FP TN

1) 정밀도(Precision)

양성이라고 대답한 전체 케이스에 대한 TP의 비율이다.

2) 재현률(Recall)

재현률은 실제값이 양성인 데이터의 전체 개수에 대해서 TP의 비율이다.

즉 양성인 데이터 중에서 얼마나 양성인지를 예측했는지를 나타낸다.

6. 과적합(Overfitting)과 과소적합(Underfitting)

머신러닝에서 과적합(Overfitting)이란 훈련 데이터를 과하게 학습한 경우를 말한다.

과적합 상황에서는 훈련 데이터에 대해서 오차는 낮지만, 테스트 데이터에 대해서는 오차가 높아지는 상황이 발생한다.

테스트 데이터의 오차가 증가하기 전이나, 정확도가 감소하기 전에 훈련을 멈추는 것이 바람직하다. 

 

테스트 데이터의 성능이 올라갈 여지가 있음에도 훈련을 덜 한 상태를 반대로 과소적합(Underfitting)이라고 한다.

과소 적합은 훈련 자체가 부족한 상태이므로 과대적합과는 달리 훈련 데이터에 대해서도 보통 정확도가 낮다는 특징이 있다.