이번 강의에서는 오버피팅과 언더피팅의 개념에 대해 살펴볼 예정입니다. 이 두 개념은 기계학습의 목표인 일반화와 밀접한 관계가 있으며, 바이어스와 배리언스와도 깊게 연관되어 있습니다. 이를 이해하는 것이 적절한 기계학습 모델을 선택하는 데 필수적입니다.
기계학습에서 학습 데이터는 주어진 입력(x)과 그에 대응하는 출력(y)의 쌍으로 구성됩니다. 예를 들어, D차원의 벡터 형태의 입력과 이진 분류를 위한 출력(y)이 플러스 1 또는 마이너스 1로 주어질 수 있습니다.
모델 클래스는 학습 데이터에 대한 예측을 수행하기 위한 함수 형태로 정의됩니다. 예를 들어, 선형 모델을 사용할 경우, 모델은 선형 함수로 정의됩니다. 학습을 통해 모델의 파라미터가 결정되며, 이 파라미터는 학습 데이터에 대한 예측 성능을 최적화합니다.
손실 함수는 모델의 예측값과 실제값 사이의 차이를 수치적으로 나타내는 함수입니다. 예를 들어, 회귀 문제에서는 예측값과 실제값의 차이의 제곱을 손실로 정의할 수 있고, 분류 문제에서는 예측이 틀린 경우 손실을 1로 정의할 수 있습니다. 학습 과정에서 이 손실을 최소화하는 방향으로 모델 파라미터가 조정됩니다.
일반화는 모델이 학습 데이터 외의 새로운 데이터에서도 좋은 성능을 보이는 능력입니다. 기계학습의 궁극적인 목표는 학습 데이터에 대한 성능이 아니라, 새로운 데이터에 대한 성능을 높이는 것입니다. 이는 오버피팅과 언더피팅과 관련이 있습니다.
• 오버피팅: 모델이 학습 데이터에 너무 맞춰져서 새로운 데이터에 대해 성능이 떨어지는 현상입니다. 학습 데이터의 노이즈까지 학습하여 복잡한 모델이 되는 경우입니다.
• 언더피팅: 모델이 학습 데이터에 충분히 맞춰지지 않아 성능이 떨어지는 현상입니다. 모델의 복잡도가 너무 낮아 데이터를 잘 설명하지 못하는 경우입니다.
기계학습의 목적은 일반화 오류(Generalization Error)를 최소화하는 것입니다. 이는 모델이 보지 못한 새로운 데이터에 대해 얼마나 잘 예측하는지를 나타내는 지표입니다.
• 트레이닝 에러: 학습 데이터에 대한 오류입니다.
• 테스트 에러: 보지 못한 새로운 데이터에 대한 오류입니다.
오버피팅은 트레이닝 에러는 낮지만 테스트 에러는 높은 상황이며, 언더피팅은 트레이닝 에러와 테스트 에러 모두 높은 상황입니다.
Bias와 Variance는 모델의 성능을 평가하는 중요한 개념입니다.
• Bias: 모델이 실제값과 얼마나 떨어져 있는지를 나타내는 지표입니다. 높은 바이어스는 모델이 단순하여 데이터의 복잡성을 잘 반영하지 못하는 경우입니다.
• Variance: 모델이 얼마나 불안정하게 예측하는지를 나타내는 지표입니다. 높은 배리언스는 모델이 학습 데이터의 노이즈까지 학습하여 새로운 데이터에 대해 성능이 불안정한 경우입니다.
Bias와 Variance는 서로 트레이드오프 관계에 있습니다. 모델의 복잡도를 높이면 Bias는 낮아지지만 Variance는 높아지고, 반대로 모델의 복잡도를 낮추면 Bias는 높아지지만 Variance는 낮아집니다.
앙상블 러닝은 여러 개의 모델을 결합하여 바이어스와 배리언스를 모두 낮추는 방법입니다. 이를 통해 보다 안정적이고 성능이 높은 모델을 만들 수 있습니다.
이번 강의에서는 오버피팅, 언더피팅, 바이어스, 배리언스의 개념과 이들 사이의 관계를 살펴보았습니다. 기계학습의 목표는 일반화 오류를 최소화하는 것이며, 이를 위해 바이어스와 배리언스를 적절히 조절하는 것이 중요합니다. 이를 위해 모델의 복잡도를 조절하고, 필요에 따라 레귤러라이제이션을 사용하는 등의 방법을 사용할 수 있습니다.
이 요약본은 LG Aimers Academy의 교육 내용을 바탕으로 작성되었습니다.