본문 바로가기

AI/머신러닝

Ch1. 한눈에 보는 머신러닝 (1.3.2~1.5)

반응형

1.3 머신러닝 시스템의 종류

 

1.3.2 배치 학습과 온라인 학습

    - 입력 데이터의 스트림으로부터 점진적으로 학습할 수 있는가

 

  ■ 배치학습

    - batch learning

    - 시스템이 점진적으로 학습할 수 없습니다.

    - 가용한 데이터를 모두 사용해 훈련시켜야 합니다.

    - 오프라인 학습, offline learning

      • 학습에 시간이 많이 들기 때문에 오프라인에서 학습을 진행하고 이를 적용하는 방식을 사용한다.

      • 학습된 모델을 적용하면 더 이상 학습은 진행되지 않고 학습된 결과만 출력한다.

      • 새로운 학습을 위해서는 전체 데이터를 사용하여서 새로운 버전의 훈련이 필요하다.

 

  ■ 온라인 학습

    - online learning

    - 데이터를 순차적으로 또는 미니배치로 묶어서 묶음 단위로 시스템을 훈련시킨다.

    - 매 학습 단계가 빠르고 비용이 적게 들어 데이터가 도착하는 대로 즉시 학습이 가능하다.

    - 많은 양의 데이터를 나누어서 전체 데이터를 학습할때까지 반복학습한다. -> 점진적 학습, incremental learning

    - 학습률, learning rate

      • 변화하는 데이터에 얼마나 빠르게 적응할 것인가에 대한 비율

      • 학습률이 높을수록 예전 데이터보다 최신 데이터에 영향을 많이 받는다.

      • 학습률이 높으면 잡음이나 편향적인 데이터에 민감해지게 된다.

 

1.3.3 사례 기반 학습과 모델 기반 학습

    - 어떻게 일반화 되는가를 기준으로 분류

 

  ■ 사례 기반 학습

    - instance-based learning

    - 시스템이 사례를 기억하고 학습한다.

    - 사례를 통한 유사도 측정을 기반으로 새로운 데이터에 일반화한다.

 

  ■ 모델 기반 학습

    - model-based learning

    - 샘플들의 모델을 만들어 예측에 사용한다.

    - 효용함수, utility function / 적합도 함수, fitness function

      • 모델이 얼마나 좋은지 측정하는 함수

    - 비용함수, cost function

      • 모델이 얼마나 나쁜지 측정하는 함수

    - 모델링

      • 데이터를 분석

      • 모델 선택, model selection

      • 훈련 데이터로 모델을 훈련시킨다. (비용 함수를 최소화하는 파라미터를 찾는다.)

      • 새로운 데이터에 모델을 적용해 예측한다. (추론, inference)

 

1.4 머신러닝의 주요 도전 과제

 

1.4.1 충분하지 않은 양의 훈련 데이터

    - 많은 양의 데이터를 필요로 한다.

 

1.4.2 대표성 없는 훈련 데이터

    - 일반화가 잘 되려면 우리가 일반화하기 원하는 새로운 사례를 훈련 데이터가 잘 대표해야한다.

    - 대표성 없는 훈련 데이터를 사용하게되면 정확한 예측을 하지 못한다. (편향성의 문제)

    - 샘플링 잡음, sampling noise

    - 샘플링 편향, sampling bias

 

1.4.3 낮은 품질의 데이터

    - 일부 샘플의 이상치에 대해서는 수동으로 고치는 것이 좋다.

    - 일부 샘플에 특성 몇개가 빠져있으면 이 특성에 대한 예외처리를 추가해주는 것이 좋다.

      • 해당 특성을 무시할지, 특정한 값을 채워넣을지, 특성을 넣은 모델과 제외한 모델을 따로 훈련시킬 것인지 등을 결정해주는 것이 좋다.

 

1.4.4 관련 없는 특성

    - 훈련데이터에 관련있는 특성이 충분해야 시스템 학습에 도움이 된다.

    - 특성공학, feature engineering

      • 특성선택, feature selection: 가지고 있는 특성 중에서 훈련에 가장 유용한 특성을 선택합니다.

      • 특성추출, feature extraction: 특성을 결합하여 더 유용한 특성을 만듭니다. (차원 축소 알고리즘 사용가능)

      • 새로운 데이터를 수집해 새 특성을 만듭니다.

 

1.4.5 훈련 데이터 과대적합

  ■ 과대적합, overfitting

    - 과도한 일반화로 인한 오류

    - 모델이 훈련 데이터에 너무 fit한 경우에 그 외의 변칙적인 입력에 맞지않는 결과를 출력할 수 있다.

    - 훈련데이터의 잡음에 취약해진다.

    - 훈련 데이터에 있는 잡음의 양에 비해 모델이 너무 복잡할 때 발생한다.

      • 파라미터 수가 작은 모델을 선택한다. (고차원 다항 모델, 선형모델)

      • 훈련 데이터에 있는 특성 수를 줄이거나 모델에 제약을 가하여 단순화시킨다.

      • 더 많은 훈련 데이터를 사용한다.

      • 훈련 데이터의 노이즈를 줄인다 (데이터 수정, 이상치 제거)

 

    - 규제, reagularization

      • 과대적합의 위험을 감소시키기 위해 모델에 제약을 가하는 것

    - hyperparameter

      • 학습알고리즘의 파라미터

      • 학습 알고리즘의 영향을 받지 않고, 훈련전에 미리 지정되어있으며, 훈련동안 상수로 남아있는다.

      • 규제 하이퍼파라미터를 매우 큰 값으로 지정하면 거의 평평한 모델을 얻게된다.

        -> 과대적합은 피할 수 있지만 좋은 모델을 얻지는 못한다. (하이퍼파라미터 튜닝이 매우 중요하다.)

 

1.4.6 훈련 데이터 과소적합

  ■ 과소적합, underfitting

    - 파라미터가 더 많은 모델을 선택

    - 학습 알고리즘에 더 좋은 특성을 제공 - 특성 엔지니어링

    - 모델의 제약을 줄인다 - 규제 하이퍼파라미터 감소

 

1.5 테스트와 검증

  ■ 모델의 동작 모니터링

    - training set과 test set을 두개로 나누어서 관리한다.

    - test set을 통해서 training set으로 훈련된 모델을 평가한ㄷ. - 일반화 오차, generalization error

    - 검증세트, validation set

    - 교차검증, cross-validation

반응형