본문 바로가기
  • AI와 함께 세상을 아름답게
인공지능(AI)이란? - 기초 개념 및 이론

머신러닝 학습 방법과 몇 가지 개념 (2)

by neo-Lee 2023. 5. 14.

3. 학습 데이터세트와 검증 데이터세트

1) 학습 데이터세트와 학습 방법

    머신러닝 모델의 학습 단계에서는 다양한 방법을 이용하여 학습 데이터세트에서 지식(knowledge)을 추출합니다. 이때 학습 데이터세트 이용방법의 차이에 따라 학습과정을 다음과 같이 분류할 수 있습니다.

 

a) 배치학습(batch learning):  배치 학습(Batch Learning)은 모든 학습 데이터를 한 번에 가져와서 모델을 학습시키는 머신 러닝 방법입니다. 모델이 모든 데이터를 한 번에 볼 수 있기 때문에, 배치 학습은 대규모 데이터셋에서 매우 유용합니다.

 

학습의 순서는 아래와 같습니다.

    1. 초기 모델 설정: 모델을 초기화하고, 초기 가중치를 설정합니다.

    2. 모든 데이터 수신 및 전처리: 모든 학습 데이터를 가져와서 전처리합니다.

    3. 모델 학습: 전처리된 모든 학습 데이터를 사용하여 모델을 학습시킵니다.

    4. 모델 평가 및 업데이트: 모델의 정확도를 평가하고, 필요한 경우 모델을 업데이트합니다.

 

배치 학습은 전체 데이터셋을 한 번에 처리하므로, 일괄 처리 작업이 필요하며, 대규모 데이터셋에서도 효과적으로 작동합니다. 하지만, 모든 데이터를 처리하므로 학습 시간이 오래 걸리는 단점이 있습니다. 또한, 새로운 데이터를 추가하여 모델을 업데이트하려면, 전체 데이터세트를 다시 처리해야 하는 단점이 있습니다.

           

b) 온라인학습(online learning): 온라인 학습(Online Learning)은 데이터가 한 번에 모두 주어지지 않고, 점진적으로 들어오는 경우에 사용되는 기계 학습 방법입니다. 온라인 학습의 핵심 아이디어는 데이터의 일부분을 사용하여 모델을 계속 학습하고, 새로운 데이터가 도착할 때마다 모델을 업데이트하는 것입니다.

 

학습 과정은 아래와 같습니다.

    1. 초기 모델 설정: 모델을 초기화하고, 초기 가중치를 설정합니다.

    2. 데이터 수신 및 전처리: 새로운 데이터가 도착하면, 이를 전처리하여 모델에 입력할 수 있는 형태로 만듭니다.

    3. 모델 업데이트: 전처리된 데이터 일부를 사용하여 모델을 업데이트합니다. 이를 통해 모델은 새로운 데이터를 반영하며, 이전 데이터에 대한 정보도 잃지 않습니다.

   4. 새로운 데이터 수신: 새로운 데이터가 도착할 때까지 기다립니다. 새로운 데이터가 도착하면, 다시 2번으로 돌아가서 반복합니다.

 

온라인 학습은 대규모 데이터에서 특히 유용하며, 실시간 예측에 필요한 경우에도 사용됩니다. 이러한 방법을 사용하면, 데이터가 들어올 때마다 모델을 업데이트하므로, 모델이 최신 정보에 대해 항상 갱신되며, 예측 정확도가 높아질 수 있습니다.

 

c) 미니배치학습(mini batch learning): 미니배치학습은 배치학습과 온라인학습의 중간 정도 되는 방법입니다. 대량의 데이터를 작은 묶음(batch) 단위로 나누어 학습을 진행하는 방법입니다. 이를 통해 전체 데이터셋을 한 번에 학습하는 것보다 메모리 사용량을 줄일 수 있고, 학습 속도를 높일 수 있습니다.

 

미니 배치 학습의 프로세스는 다음과 같습니다.

  1. 데이터셋을 미니 배치 크기(batch size)로 나눕니다.
    • 미니 배치 크기는 보통 2의 제곱수(예: 32, 64, 128 등)로 지정합니다.
  2. 각 미니 배치를 순서대로 모델에 입력합니다.
    • 입력되는 데이터는 보통 랜덤하게 추출됩니다.
  3. 모델의 출력값을 계산합니다.
    • 예측 값(predicted value)과 정답 값(target value)을 비교하여 손실(loss)을 계산합니다.
  4. 손실을 사용하여 모델의 가중치(weight)를 업데이트합니다.
    • 이때, 역전파(backpropagation) 알고리즘을 사용하여 가중치를 업데이트합니다.
  5. 2~4단계를 미니 배치의 수만큼 반복합니다.
  6. 전체 데이터세트에 대한 학습이 완료될 때까지 2~5단계를 반복합니다.

미니 배치 학습은 대부분의 머신 러닝 모델에서 사용되는 기법으로, 실제로는 더 복잡한 과정을 거칠 수도 있습니다. 하지만, 위에서 설명한 기본적인 프로세스는 대부분의 미니 배치 학습에 적용됩니다.

2) 검증 데이터세트 구성과 검증 방법

    머신러닝에서 학습의 대상인 학습 데이터세트는 필수 불가결한 정보입니다. 그러나 학습 데이터세트만으로는 머신러닝을 완성할 수 없습니다. 학습 결과를 평가하여 학습 결과가 도움이 되는지를 확인하기 위해서는 검증 데이터세트(testing data set)가 필요합니다. 

    머신러닝의 목적은 일반적으로 도움이 되는 지식을 획득하기 위한 것입니다. 이를 위해서는 학습 데이터세트 전체를 설명할 수 있는 지식(knowledge)을 얻어야 함은 물론 획득한 지식이 학습 데이터세트만이 아니고 다른 데이터에도 적용할 수 있는 지식(knowledge)이어야 합니다. 이처럼 학습 데이트세트에 포함되지 않는 평가용 데이터세트를 검증 데이터세트(testing data set)라고 합니다. (*산업별 다양한 서비스에 인공지능이 포함된 소프트웨어 도입이 확산되고 있으며, 이러한 서비스의 품질을 좌우하는 핵심 요인은 소프트웨어에 탑재된 인공지능 알고리즘의 정확성입니다. 정확성을 검증하는 일반적인 방법으로, 학습용 데이터세트 외, 별도의 검증용 데이터세트를 구성하여, 인공지능 동작 결과의 출력 값과 비교하는 방식을 사용합니다.)

    학습 데이터세트와 검증 데이터세트는 같은 대상을 다루기 때문에 형식도 같습니다. 따라서 이러한 데이터 세트를 수집할 때는 구분 없이 수집할 수 있습니다. 수집한 데이터는 중복되지 않는 두 무리로 분할하여 각각을 학습 데이터세트검증 데이터 세트로 나눕니다. 이때 양쪽에 중복되는 것이 있으면 학습할 때 검증 내용을 '커닝'한 것으로 간주되어 학습에 편향을 초래할 수 있습니다. 데이터를 학습용과 검증용으로 구분할 때의 방침은 대상이 되는 문제의 성질에 따라 달라지기 때문에 일반적인 방침을 정하기는 어렵고, 구체적인 문제마다 다른 대응이 필요합니다. 

 

4. 일반화와 과적합

    머신러닝에서는 학습 데이터세트와 검증 데이터세트는 관측에 의해 얻은 데이터군을 분할해서 사용합니다. 그러므로 학습 데이터세트와 검증 데이터세트는 공통된 통계적 성질을 가진 데이터의 부분집합으로 간주되며, 학습 데이터세트에서 얻은 지식은 검증 데이터세트에도 적용할 수 있는 것입니다. 이렇게 얻은 지식은 미리 준비된 데이트군만이 아니라 새로운 데이터에도 적용할 수 있는 것입니다. 이와 같이 학습 데이터세트에서 명시적으로 표시되지 않은 일반 데이터에도 적용되는 지식을 획득하는 능력을 일반화(Generalization)라고 합니다.

    일반화와 관련된 개념으로 과적합(Overfitting)이라는 용어가 있습니다. 과적합이란 학습 데이터세트에 최적화된 학습을 지나치게 의존하면 결과적으로 일반화 성능이 저하되는 것을 말합니다. 과적합의 출현 여부는 검증 데이터세트에 의한 검증이나 K겹 교차검증에 의한 검증 등으로 확인할 수 있습니다.

 

5. 앙상블 학습

    앙상블(Ensemble Learning)이란 복수의 머신러닝 방법을 조합해서 학습하고, 그 결과를 통합해서 학습의 정밀도를 높이는 방범입니다. 예를 들어 데이터를 분류하는 지식 획득을 위한 학습에 앙상블 학습 방법을 적용하는 경우, 입력 과정에서 복수의 다른 데이터세트를 학습 데이터로 구성하고, 각각 다른 머신러닝 방법을 적용하면 그 결과로 복수의 입력 데이터 분류 지식을 획득할 수 있습니다. 이러한 지식을 이용해서 새로운 데이터를 분류하면 각각의 지식에 대응한 분류 결과를 얻게 됩니다. 이와 같은 분류 결과는 서로 모순될 수도 있지만 모든 결과의 다수결로 최종 결과를 구하게 됩니다. 종합적인 최종 결과는 분류의견의 다수결로 결정되는 것입니다. 

    앙상블 학습의 대표적인 구현 예는 랜덤 포레스트가 있습니다. 또한 신경망 학습의 드롭아웃은 앙상블 학습과 유사한 것으로 알려져 있습니다

 

이제까지 머신러닝 원리, 학습방법 그리고 학습과 관련된 여러 가지 개념들을 알아보았습니다.

 

(앞으로는 머신러닝의 여러 가지 학습방법과 인공지능 시스템의 여러 분야에 대해 조금 더 구체적이고 깊이 있는 공부를 해보겠습니다.)

 

2023.05.13 - [인공지능(AI; Artificial Intelligence)] - 머신러닝 학습 방법과 몇 가지 개념 (1)

728x90

댓글