티스토리 뷰

Machine Learning:

Google MLCC 1주차 (일반화: 과적합의 위험, 데이터 분할)


| 과적합

  • 과적합 모델은 학습하는 동안 손실이 적지만 새 데이터를 잘 예측하지 못한다. 

  • 현재 샘플에 적합한 모델에서 새 데이터를 잘 예측할 것이라고 신뢰할 수 있는가?

  • 필요 이상으로 복잡한 모델을 만들면 과적합이 발다. 머신러닝의 근본적인 과제는 데이터 적합도를 유지하는 동시에 최대한 단순화하는 것이다.

  • 머신러닝의 목표는 숨겨진 실제 확률 분포에서 추출되는 새 데이터를 잘 예측하는 것이다. 하지만 모델에서는 모든 데이터를 볼 수 없으며 학습 데이터 세트에서만 샘플을 추출할 수 있다.

14세기의 수도사이자 철학자인 William of Occam은  과학자는 복잡한 것보다 간단한 공식이나 이론을 선택해야 한다고 생각했다. Occam의 면도날 법칙을 머신러닝 용어로 표현하면 다음과 같다.

ML 모델이 덜 복잡할수록 샘플의 특성 때문이 아니어도 좋은 경험적 결과를 얻을 가능성이 높습니다.

 Occam의 면도날 법칙은 통계적 학습 이론  컴퓨터 학습 이론 분야에서 공식화되었다. 이들 분야에서는 다음과 같은 요인을 기반으로 새 데이터에 맞게 모델이 일반화되는 정도를 통계적으로 설명하는 일반화 한계를 개발했다.

  • 모델의 복잡성
  • 학습 데이터에 대한 모델의 성능

머신러닝의 목표는 이전에 보지 못한 새 데이터를 잘 예측하는 것이다. 하지만 데이터 세트에서 모델을 만드는 경우 어떻게 이전에 보지 못한 데이터를 얻을 수 있을까? 한 가지 방법은 데이터 세트를 다음 두 하위 세트로 나누는 것이다.

  • 학습 세트 - 모델을 학습시키기 위한 하위 세트
  • 테스트 세트 - 모델을 테스트하기 위한 하위 세트

테스트 세트에서 성능이 좋으면 일반적으로 다음과 같은 경우 새 데이터에서도 성능이 좋다.

  • 테스트 세트가 충분히 큽니다.
  • 같은 테스트 세트를 반복 사용하지 않습니다.

느낀점: 아직은 학습세트와 테스트 세트에 대한 차이에 대한 개념이 확실하게 잡혀있지 않은것 같다. 학습세트로 학습을 시키고 새로운 입력(테스트 세트)으로 출력을 만들어 내는것일까?

| ML 세부사항

일반화에서는 기본적으로 다음 세 가지 사항을 가정한다.

  • 분포에서 독립적이고 동일하게(i.i.d.) 임의로 예를 추출. 즉, 예가 서로 영향을 미치지 않습니다. (대체 설명: i.i.d.는 변수의 임의성을 가리키는 한 가지 방법.)
  • 분포가 정상성을 보임. 즉 데이터 세트 내에서 분포가 달라지지 않음.
  • 같은 분포를 따르는 부분에서 예를 추출.

실제로는 이러한 가정을 위반하는 경우가 있다. 예:

  • 표시할 광고를 선택하는 모델을 고려하는 경우. 모델이 선택된 광고, 부분적으로 사용자가 이전에 본 광고를 기반으로 하는 경우 i.i.d. 가정을 위반.
  • 1년 동안의 소매 판매 정보가 포함된 데이터 세트를 고려하는 경우. 사용자의 구매 패턴이 계절에 따라 변경되어 정상성을 위반.

| 데이터 분할

이전에 데이터 세트를 다음과 같이 두 부분으로 나눈다는 개념을 소개했다.

  • 학습 세트 - 모델을 학습시키기 위한 데이터 세트의 일부분
  • 평가 세트 - 모델을 테스트하기 위한 데이터 세트의 일부분

데이터 세트 하나를 다음과 같이 분할하는 방법을 생각해 볼 수 있다. 

그림 1. 데이터 세트 하나를 학습 세트와 평가 세트로 분할

평가 세트는 다음 두 가지 조건을 만족해야 한다.

  • 통계적으로 유의미한 결과를 도출할 만큼 커야 한다.
  • 데이터 세트를 전체적으로 나타내야 합니다. 즉, 평가 세트가 학습 세트와 같은 특징을 가지도록 선별해야 한다.

평가 세트가 위와 같은 두 가지 조건을 만족한다면 이제 새로운 데이터에도 일반화될 수 있는 모델을 만드는 것이 목표이다. 평가 세트는 새 데이터를 모의 실험하는 역할을 한다.

 다음 그림을 예로 들어 보겠습니다. 여기에서 학습 데이터를 익힌 모델은 매우 단순하다. 이 모델은 그다지 완벽하지 않으며 몇 가지 예측이 빗나갔다. 그러나 테스트 데이터에 대한 결과는 학습 데이터에 대한 결과에 비해 나쁘지 않다. 즉, 이 단순 모델은 학습 데이터에 과적합되지 않았다.

그림 2. 학습된 모델을 테스트 데이터로 검증

> 주의할점

테스트 데이터로 학습x.

평가 측정항목에서 이상할 정도로 좋은 결과가 나온다면 실수로 평가 세트 (테스트 데이터)로 학습했다는 증거일 수 있다. 예를 들어 정확도가 높다면 테스트 데이터가 학습 세트로 유출되었을 수 있다.

ex)제목, 본문, 보낸 사람의 이메일 주소를 특성을 사용하여 스팸 메일을 가려내는 모델이 있다고 가정. 

데이터를 80:20 비율로 학습 세트와 평가 세트로 배분. 학습 후에 모델은 학습 세트와 평가 세트 모두에서 99%의 정확성을 보인다. 평가 세트에서는 정확성이 이보다 낮아야 하므로, 데이터를 다시 살펴본 결과 평가 세트의 예 중 다수가 학습 세트의 예와 중복되는 것으로 나타남. 데이터를 분할하기 전에 입력 데이터베이스에서 동일한 스팸 메일의 중복 항목을 솎아내지 않았던 것. 따라서 테스트 데이터 중 일부가 의도치 않게 학습에 사용, 모델이 새 데이터로 얼마나 효과적으로 일반화되는지 정확히 측정할 수 없게 됨.

| 요약

  • 과적합은 모델이 새 데이터에 맞게 잘 일반화되지 않을 정도로 근접하게 학습 데이터를 적합하려고 시도하는 경우 발생.

  • 지도 ML의 주요 가정이 충족되지 않으면 새 데이터에 대한 예측 성능이 더 이상 이론적으로 보장되지 않음.

  • 테스트데이터로 학습하면 안됨.



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함