ML

[ML] 학습,검증,평가 데이터 분할 | overfitting 과적합 | 손실함수 | 파라미터와 최적화 | 분류와 회귀 대표알고리즘

ha_data 2024. 1. 30. 15:34

데이터 분할: 학습/ 검증/ 평가

이론학습, 모의고사, 시험 에 비교하면 이해가 쉬움

이론학습으로 공부(학습)하고 모의고사로 확인(검증) 최적의 상태에서 시험(평가)

 

학습데이터(train data)

갖고 있는 데이터 중 80% 정도 사용

이 분류에 속한 데이터가 많을수록 성능이 좋아질 가능성이 커짐

 

검증데이터(validation data)

학습 중간 과정에서 어느정도 머신러닝 모델이 학습되었는지 주기적으로 확인

모의고사를 통해 시험범위중 부족한 단원을 찾는 것과 같음

시험 중간에는 검증 불가 !

전체 데이터의 10% 할당

 

평가 데이터(test data)
학습이 끝난 뒤 최후의 딥러닝 모델이 생성된 후, 학습한 모델의 최종 성능을 평가

딥러닝 모델이 서비스 혹은 제품과 같이 실제 사용 시나리오 과정에서 보게될 데이터라는 가정으로 만들어진 데이터

약 10% 할당 

 

과적합 Overfitting

학습 데이터 성능과 테스터 데이터 성능이 우상향하다가 어느순간 테스트 데이터만 성능이 떨어지는 구간 
머신러닝 모델이 특정 훈련 데이터에 지나치게 학습되어 학습 데이터에서는 성능이 좋지만 새로운 데이터나 테스트 데이터에서는 잘 작동하지 않은 상태를 의미

=> 일반화 능력(generalization)이 떨어진 상태 : 학습 데이터에 포함된 특정 패턴이나 디테일, 작은 노이즈까지 학습 -> 단순히 데이터를 외워버린 것.

과적합은 머신 러닝 모델이 경계해야되는 현상이며 이를 위한 방법존재

- 데이터 양 늘리기

- 머신러닝 모델의 복잡도 줄이기 

- 규제와 같은 정규화 기법 사용

 

손실함수(Loss Function)

손실(Loss): 학습한 모델의 성능을 수치화한 것 

손실을 구하기 위한 식을 손실함수라고 함

모델의 예측값과 실제 정답 사이의 차이를 측정하는 지표

손실이 작을수록 모델의 성능이 좋다고 할 수 있음

머신러닝 모델을 학습하는 과정은 손실 (Loss)를 줄이는 과정으로 진행됨 

손실 함수 종류는 해결하고자 하는 문제의 유형(회귀, 분류) 등에 따라 다름

- 회귀문제: 평균제곱오차 MSE(Mean Squared Error)
- 분류문제: 교차 엔트로피(Cross Entropy) 

- 이진분류: 로그 손실 (Log Loss) - 교차 엔트로피의 특수한 형태중 하나

 

파라미터(Parameter)와 최적화(Optimization)

파라미터란?

모델이 내부적으로 갖고 있는 변수. 학습하는 데이터의 패턴, 패턴간의 관계를 표현

파라미터의 구조와 조합은 모델마다 다양하며 이 변수의 값은 학습의 과정으로 찾아야함

 - 성능이 좋은 모델은 적절한 구조의 파라미터로 구성되며 파라미터의 구체적인 값은 데이터를 이용한 학습으로 찾게됨

=> 최적화로 찾으면 됨

 

최적화란?

머신러닝에서 모델의 성능을 최대화하거나 오류를 최소화하기 위해 모델의 파라미터를 조절하는 과정

Loss 값이 최소화가 되는 (=성능이 좋은) 파라미터를 찾는 것을 목표로 함

최적화 작용 과정은 모델에 따라 상이함

- 최적의 해를 한 번에 구하는 경우 (ex. 방정식 처럼 답이 나오는 경우)

- 점진적이고 반복적으로 해를 구하는 경우

 

손실을 줄이려면? 최적화를 통해 Loss값이 최소화 되는 파라미터를 찾으면 됨 

 

분류문제

- 로지스틱 회귀 (Logistic Regression)

이진 분류 문제에 적합한 구조 

확률을 직접 예측하는 확률 추정 접근으로 결과 예측 (각 보기가 정답일 확률을 예측)

 

- 결정 트리 분류 (Decision Tree Classifier)

데이터를 잘 분할하는 결정 트리를 사용하여 분류 수행

직관적이고 이해가 쉬움

 

- 랜덤 포레스트 (Random Forest)

결정 트리가 여러개 모여있고 각 결정 트리들이 내보낸 결과를 이용해 최종 결과를 내는 것

높은 정확도를 보이면서도 과적합 문제를 방지

 

- 서포트 벡터 머신 (Support vector Machine, SVM)

데이터를 최적으로 분리하는 결정 경계를 찾는데 강력한 알고리즘

어려운 형태의 데이터라도 비선형 계산이 가능한 다양한 커널 트릭있어 해를 구할 수 있음

 

- 선형회귀(Linear Regression)

기본적이고 널리 사용되는 회귀 알고리즘

독립변수와 종속 변수간의 선형 관계를 모델링

 

- 라쏘 회귀 또는 릿지 회귀(Lasso & Ridge Regression)

규제 기법을 이용해 과적합을 방지하고 일반화 성능이 향상된 선형 모델

 

- 결정트리 회귀(Decision Tree Regression)

결정 트리를 이용해 회귀 문제에 적용

 

- 서포트 벡터 회귀 (Support vector Regression, SVR)

분류 모델인 SVM을 회귀에 적용

 

- K-최근접 이웃 회귀 (K-Nearest Neighbors Regression)

주어진 데이터 포인트에서 가장 가까운 k개의 이웃 데이터의 평균으로 예측값 결정

간단하면서도 데이터 자체만을 활용한 추정(비모수적 추적)이 가능