1. 머신 러닝 모델의 평가
2. 분류(Classification)와 회귀(Regression)
: 주어진 입력에 대해서 두 개의 선택지 중 하나의 답을 선택해야 하는 경우
: 주어진 입력에 대해서 세 개 이상의 선택지 중에서 답을 선택해야 하는 경우
: 연속적인 값의 범위 내에서 예측값이 나오는 경우
3. 지도 학습과 비지도 학습
: 레이블(Label)이라는 정답과 함께 학습하는 것 (ex. 자연어 처리)
ㄴ 예측값과 실제값의 차이인 오차를 줄이는 방식으로 학습
: 데이터에 별도의 레이블이 없이 학습하는 것 (ex. LSA, LDA)
: 레이블이 없는 데이터가 주어지면, 모델이 학습을 위해서 스스로 데이터로부터 레이블을 만들어서 학습 (ex. Word2Vec, BERT)
4. 샘플(Sample)과 특성(Feature)
5. 혼동 행렬(Confusion Matrix)
: 모델이 True라고 분류한 것 중에서 실제 True인 것의 비율
TP / (TP + FP)
: 실제 True인 것 중에서 모델이 True라고 예측한 것의 비율
TP / (TP + FN)
: 전체 예측한 데이터 중에서 정답을 맞춘 것에 대한 비율
(TP + TN) / (TP + FN + FP + TN)
*F1-Score를 사용하여 편중된 데이터 문제 해결
6. 과적합(Overfitting)과 과소 적합(Underfitting)
과적합: 훈련 데이터를 과하게 학습한 경우
ㄴ y축: 오차(loss)
ㄴ x축: 에포크(epoch) 전체 훈련 데이터에 대한 훈련 횟수 -> 지나치면 과적합 발생
테스트 데이터의 오차가 증가하기 전이나, 정확도가 감소하기 전에 훈련을 멈추는 것이 바람직
과소적합: 테스트 데이터의 성능이 올라갈 여지가 있음에도 훈련을 덜 한 상태
ㄴ 딥 러닝: 과적합을 막을 수 있는 드롭 아웃(Dropout), 조기 종료(Early Stopping)
ㅤ
Step 1. 주어진 데이터를 훈련 데이터, 검증 데이터, 테스트 데이터로 나눈다. 가령, 6:2:2 비율로 나눌 수 있다.
Step 2. 훈련 데이터로 모델을 학습한다. (에포크 +1)
Step 3. 검증 데이터로 모델을 평가하여 검증 데이터에 대한 정확도와 오차(loss)를 계산한다.
Step 4. 검증 데이터의 오차가 증가하였다면 과적합 징후이므로 학습 종료 후 Step 5로 이동, 아니라면 Step 2.로 재이동한다.
Step 5. 모델의 학습이 종료되었으니 테스트 데이터로 모델을 평가한다.