본문 바로가기

Textbook - Deep Learning (심층학습)/5. 기계학습의 기초

5.2 수용력, 과대적합, 과소적합

  • 기계학습 모형을 훈련할 때 사용했던 입력이 아닌 새로운 입력에 대해서도 알고리즘이 잘 작동해야 한다는 점이 기계학습이 어려운 이유다.  
    • 이전에 관측한 적이 없는 입력에 대해 잘 작동하는 능력을 일반화(generalization)라고 부른다. 
  • 기계학습 모형을 훈련할 때는 모형이 예측한 값과 훈련 집합에 있는 참값 사이의 오차를 측정할 수 있고, 이를 훈련 오차(training error)라고 부른다. 훈련 오차는 작을수록 좋다. 
  • 기계학습이 최적화와 다른 점 하나는, 훈련 오차뿐만 아니라 일반화 오차(generalization error)도 줄여야 한다는 것이다.
  • 통계적 학습 이론(statistical leraning theory) 분야에 따르면, 훈련 집합과 시험 집합을 수집하는 데 일정한 가정과 제약을 두면, 모형의 성과를 어느 정도 개선할 수 있게 된다. 
    • 훈련 자료와 시험 자료는 자료 집합들에 관한 확률 분포에 기초해서 생성된다. 그러한 확률 분포를 자료 생성 과정(data-generating process, DGP)이라고 부른다.
    • 이러한 자료 생성에는 흔히 독립동일분포 가정(independent-identically distributed assumption, i.i.d.)을 적용한다. 
    • 이는 각 자료 집합의 견본들이 서로 독립(independet)이고, 훈련 집합과 자료 집합의 견본들이 같은 확률분포에 따라 동일하게 분포되어 있다는 것이다.
    • 이러한 가정 덕분에 자료 생성 과정을 견본 하나에 관한 확률분포로 서술하고, 그 확률분포를 이용해서 모든 훈련 견본과 시험 견본을 생성할 수 있다.
    • 그러한 공통의 확률분포를 자료 생성 분포(data-generating distribution)라고 부른다. 이러한 확률적 틀과 독립동일분포 가정을 이용하면 훈련 오차와 시험 오차의 관계를 수학적으로 연구할 수 있다. 
  • 기계학습 알고리즘의 성과는 알고리즘의 다음과 같은 두 가지 능력으로 결정된다. 
    • 1) 훈련 오차를 작게 만드는 능력, 2) 훈련 오차와 시험 오차의 차이를 작게 만드는 능력
  • 이 두 요인은 각각 기계 학습의 두 가지 주요 장애물에 대응된다. 
    • 1) 과소적합(underfitting), 2) 과대적합(overfitting)
  • 주어진 학습 모형의 과대적합 또는 과소적합 가능성은 모형의 수용력(capacity)을 바꾸어서 제어할 수 있다. 
    • 학습 알고리즘의 수용력을 제어하는 한 가지 방법은 알고리즘의 가설 공간(hypothesis space)을 적절히 선택하는 것이다. 
    • 가설공간이란 학습 알고리즘이 하나의 해답으로 선택할 수 있는 함수들의 집합이다. 
  • 일반적으로 기계 학습 알고리즘은 그 수용력이 수행할 과제의 진정한 복잡도와 주어진 혼련 자료의 양에 잘 맞을 때 최고의 성과를 거둔다.
    • 주어진 과제를 푸는데 필요한 수준보다 수용력이 부족하면 과소적합, 수용력이 너무 높으면 과대적합할 가능성이 있다. 
  • 실제 응용에서 학습 알고리즘은 최적의 함수를 찾으려 드는 대신, 그냥 훈련 오차가 현저히 줄어드는 함수를 선택하는 것으로 만족한다. 
    • 함수가 단순할수록 더 잘 일반화되는 경향이 있긴 하지만, 훈련 오차를 줄이려면 충분히 복잡한 가설을 선택해야 한다는 점을 기억하기 바란다.
  • 기계 학습의 연구 목표는 어떤 보편적인 학습 알고리즘이나 절대적으로 최고인 학습 알고리즘을 찾는 것이 아니다. 목표는, 인공지능 에이전트가 경험할 '현실세계'에서 어떤 종류의 분포들이 의미가 있는지, 그리고 그런 종류의 자료 생성 분포들에서 뽑은 자료에 대해 잘 작동하는 기계 학습 알고리즘의 종류는 무엇인지 이해하는 것이다. 
  • 공짜 점심 없음 정리는 우리가 설계해야 할 것이 구체적인 과제에 대해 잘 작동하는 기계 학습 알고리즘임을 말해 준다.
    • 그런 알고리즘을 만드려면 알고리즘에 도움이 되는 선호도(preference)들의 집합을 구축할 필요가 있다.
    • 그런 선호도들이 학습 알고리즘이 풀어야 할 학습 문제와 잘 맞는다면, 알고리즘은 더 나은 성과를 내게 된다. 
  • 학습 알고리즘이 선택할 수 있는 함수들의 개수뿐만 아니라, 그런 함수들의 종류를 통해서도 알고리즘의 성과를 제어할 수 있다. 
  • 알고리즘에 특정한 선호도들을 부여함으로써 알고리즘이 가설 공간에서 특정 함수를 다른 함수보다 먼저 선택하게 만들 수도 있다. 
  • 함수를 배우는 모형의 비용함수에 정칙화 항(regularizaer)이라고 부르는 벌점(penalty) 항을 추가해서 모형을 제어할 수 있다. 
    • 함수에 대한 선호도를 표현하는 것이 가설 공간의 구성원을 추가하거나 제거하는 것보다 더 일반적인 모형 수용력 제어 방법이다. 
    • 가설 공간에서 함수 하나를 제거하는 것은 그 함수에 대해 음의 무한대의 선호도를 부여하는 것과 같은 일로 생각할 수 있다. 
  • 훈련 오차가 줄지는 않더라도 일반화 오차를 줄이려는 의도로 학습 알고리즘에 가하는 모든 종류의 수정이 정칙화(regularization)에 해당한다. 
    • 정칙화는 기계 학습 분야의 중심적인 고려사항 중 하나이다. 정칙화만큼 중요한 사항은 최적화 정도 밖에 없다. 
    • 공짜 점심 없음 정리는 최고의 기계 학습 알고리즘 같은 것은 없음을 명확히 말해준다. 특히, 최고의 정칙화는 없다. 
    • 우리가 해야할 일은, 풀어야 할 구체적인 과제에 잘 맞는 형태의 정칙화를 선택하는 것이다.
  • 일반적인 심층 학습의 원리는, 대단히 다양한 범위의 과제들을 아주 범용적인 형태의 정칙화들을 이용해서 모두 효과적으로 풀 수 있다는 것이다. 

 

'Textbook - Deep Learning (심층학습) > 5. 기계학습의 기초' 카테고리의 다른 글

5.5 최대가능도 추정  (0) 2019.10.15
5.4 추정량, 편향, 분산  (0) 2019.10.15
5.3 초매개변수와 검증 집합  (0) 2019.10.06
5.1 학습 알고리즘  (0) 2019.10.06
5.0 개요  (0) 2019.10.06