본문 바로가기
AI/ML

[ML] 머신 러닝의 성능 저하 요인

by hyeok1235 2024. 7. 24.

이번 글에서는 머신 러닝의 성능을 저하시킬 수 있는 요인들, 머신 러닝의 Main Challenges에 대해서 설명하겠습니다. 

문제가 될 수 있는 요인들은 크게 두가지로, 1) Bad Data와 2) Bad Model입니다.

 

1) Bad Data

먼저 다룰 상황은, 주어진 데이터셋이 문제를 가지고 있는 경우입니다.

- 부족한 Training 데이터의 양

인간과 달리 머신 러닝은 제대로 작동하기 위해서 많은 양의 데이터가 필요합니다. 단순한 문제를 해결하기 위해서도 1000개 이상의 데이터가 필요한 경우가 대부분이고, 이미지, 음성 분석과 같이 문제가 복잡해질 수록 필요한 양의 데이터는 매우 커집니다. 

 

또한 2009년에 발표된 논문 [각주:1] 에서는 모델이 어떻게 설계되었는지에 따라서 성능의 차이가 있지만, 데이터의 양을 늘림으로써 정확도가 올라가는 결과를 확인할 수 있습니다. 반대로 Training 과정에 주어지는 데이터의 양이 적어지면 성능도 떨어진다는 것으로 해석할 수 있습니다.

 

- 데이터의 편향 (Nonrepresentative)

Training 데이터가 전체 집단을 대표하지 못할 때 머신 러닝의 성능이 저하될 수 있습니다. 데이터가 일부 구간에서만 수집되어서, 나머지 구간을 설명하지 못하게 된다면, 모델의 정확도는 떨어지게 됩니다. 데이터의 양이 적어서 전체 집단을 설명하지 못하는 경우를 sampling noise, 데이터의 양과 상관없이 수집하는 방법의 오류로 인해서 데이터가 왜곡된 경우를 sampling bias라고 합니다. 

 

- 저품질 데이터

데이터에 오류, 이상치(outlier), 노이즈가 많다면 머신 러닝의 정확도에도 영향을 미칩니다. 이상치의 경우 제외를 해주고, 일부 정보가 존재하지 않은 경우의 handling을 함으로써 데이터의 품질을 높일 수 있습니다. 

 

- 불필요한 특징

결과를 도출하는 과정에 불필요한 특징들도 input으로 주어진다면 성능이 저하될 수 있습니다. 관련이 있는 특징들의 집합을 만들어내는 과정을 feature engineering이라고 부르며, 이 과정에는 feature selection(특징 선택), feature extraction(특징 추출)이 있고 데이터를 보고 새로운 특징을 만드는 선택지도 존재합니다. 

 

2) Bad Model

앞부분에서는 데이터셋과 관련해서 발생될 수 있는 문제점들을 알아보았습니다. 두번째로 다룰 상황은 모델/알고리즘 자체에서 발생할 수 있는 경우들입니다. 크게 1) Overfitting과 2) Underfitting 두가지 경우로 구분할 수 있습니다.

 

- Overfitting (과적합)

Overfitting은 모델이 training 데이터에 대해서는 좋은 결과를 내지만, 새로운 데이터에서는 추론을 잘 못하는 경우를 뜻합니다. 모델의 일반화하는 능력이 부족한 상태로 볼 수 있습니다. 간단한 예시로 모델이 데이터셋에 있는 outlier까지 완벽하게 포함하기 위해 기준 선을 왜곡시키게 되면, 다른 새로운 데이터에 대해서는 추론 정확도가 떨어지게 됩니다.

Overfitting을 방지하기 위해서는 1) 모델의 복잡도를 줄이거나, 2) training 데이터의 양을 늘리거나, 3) training 데이터의 노이즈를 줄일 수 (error를 수정, outlier 제거) 있습니다. 

 

모델의 복잡도를 줄이기 위해서는 parameter의 수를 줄여야 합니다. regularization으로 불리는 이 과정은 간단한 모델을 선택하거나, 기존의 복잡한 모델이 가지고 있는 parameter들을 제한하는 것을 포함합니다. 파라미터를 하나의 값으로 고정시킴으로써 degrees of freedom을 낮추는 것입니다. 

 

regularization이 적용되는 양을 조절하는 것이 hyperparameter라고 불리는 것입니다. Training 과정에 들어가기 전에 설정되며, 만약 regularization hyperparameter가 높게 설정되어 있다면 모델이 매우 단순해질 것입니다. 

 

- Underfitting (과소적합)

Underfitting은 Overfitting의 반대로 Training 데이터도 설명을 잘하지 못하는, 전체적으로 추론 능력이 너무 낮아진 경우를 의미합니다. regularization hyperparameter가 너무 높게 설정되어 모델이 데이터에 비해 너무 단순해진다면 underfitting이 발생할 수 있습니다. 따라서 가장 중요한 것은 모델의 복잡도와 데이터의 복잡도가 유사할 수 있도록 균형을 맞춰주는 것입니다. 

 

 

 

 

 

 

 

  1. A. Halevy, P. Norvig and F. Pereira, "The Unreasonable Effectiveness of Data," in IEEE Intelligent Systems, vol. 24, no. 2, pp. 8-12, March-April 2009, doi: 10.1109/MIS.2009.36. [본문으로]
728x90
반응형

'AI > ML' 카테고리의 다른 글

[ML] 모델 파인튜닝  (0) 2024.08.14
[ML] 데이터셋 준비  (0) 2024.08.13
[ML] 모델의 평가와 검증 (Test, Evaluation)  (0) 2024.07.26
[ML] 머신 러닝 유형  (1) 2024.07.23
[ML] 머신 러닝 소개  (0) 2024.07.21