본문 바로가기

좋아하는 것_매직IT/24.tensorflow

4.tensorflow, 머신러닝에서 데이터관련 비일관성문제에 대해서 알아보자.

반응형

블로그의 목적

  • 머신러닝에서 데이터 관련 비일관성 문제에 대해서 정리해본다.

데이터 관련 비일관성 문제

  • 언더피팅(under-fitting)
  • 오버피팅(over-fitting)
  • 데이터 불안정성(data instability)
  • 예측 불가한 미래(unpredictable future)

그럼, 언더피팅에 대해서 알아보자.

  • 언더피팅이란?
    • 실제 데이터를 정확하게 모델링하기 위해 충분한 정보를 고려하지 못한 경우을 말함.
      • 즉, 오차가 늘고, 모델의 정확도도 저하됨.
  • 주로, 언더피팅은 아래의 경우에 잘 발생함.
    • 분류기(classifier)가 특정 데이터에만 적용 가능한 상태이거나 수준 미달일 정도로 단순한 경우
      • 즉,데이터가 충분하지 않고, 모델링이 제대로 이뤄지지 않아서...
  • 다시말해서, 데이터셋 크기가 너무 작으면 최적의 모델을 얻기 힘듬.

그럼, 오버피팅에 대해서 알아보자.

  • 오버피팅이란?
    • 언더피팅과 반대로 데이터셋의 규모가 너무 크게되면, 모델이 해당 데이터에 대해 오버피팅할 가능성이 있음.
      • 즉, 오버피팅은 언더피팅의 반대 경우을 말함.
        • 다시말해서, 데이터 샘플이 너무 작아서 최적의 모델을 정의하기가 어려운 경우와 달리 데이터 셋의 규모가 너무 크게될 경우를 말함.
      • 그리고, 주로 오버피팅은, 통계 모델이 데이터 간의 관계가 아닌, 노이즈 데이터에 대한 분석 결과를 나타낼 때 발생함.
  • 오버피팅된 모델은 데이터에 아주 작은 변화가 점차 늘어날수록 성능저하가 발생함.
  • 그럼, 오버피팅이 일어나는 주요원인은?
    • 모델을 학습시키는 데 사용된 기준이 모델의 효용성을 판단하는데 사용하는 기준과 다르기 때문에...
      • 모델이 학습 데이터셋을 대상으로 "학습"하지 않고 "기억"만 해버리면, 오버피팅이 더 빈번해짐.
    • 즉, 데이터가 많아지면 많아질 수 록 복잡도 or 데이터에 포함된 노이즈도 많아지기 때문에 발생함.
  • 즉, 위에서 설명한 언더피팅문제를 해결하기 위해서 데이터를 더욱 많이 제공하면, 오버피팅을 일으킬 수 있음.
  • 그럼, 오버피팅 문제를 해결하는 방법으로는 무엇이 있을까?
    • 하나, 피처의 수를 줄이기.
    • 둘, 적정한 학습데이터를 넣음
    • 셋, 정규화(regularization) 이용
      • 그럼, 정규화란? 
        • 모델이 너무 복잡해지지 않도록 임의로 제약을 가하는 것을 말함.
    • 기타 등등 많은 해결책이 존재함
  • 언더피팅과 오버피팅에 대해서 정리하자면, 
    • 학습 데이터셋이 고정되어 있을 경우 

      • 모델의 복잡도및 오류의 일반적인 상관관계는 아래 그림으로 설명됨.
        • 데이터에 비해서 모델이 너무 간단할 경우
          • 언더피팅(underfitting)이 발생함. 
        • 모델을 너무 복잡하게 선택할 경우
          • 오버피팅(overfitting)이 발생함.
      • 결론적으로,
        • 데이터에 대한 모델을 적절한 복잡성을 선택하는 것은 ... 
          • 오버피팅(overfitting)과 언더피팅(underfitting) 문제를 피하는 해결책이 될듯....

그럼, 데이터의 불안정성에 대해서 알아보자.

  • 머신러닝 알고리즘은 노이즈에 대한 영향을 적게 받음.
    • but, 아래 상황으로 문제가 발생할 수 있음.
      • 수작업으로 인한 오류
      • 관련데이터를 잘못 해석 
      • 기타 등등.
  • 즉, 문제 상황으로 인해서 데이터가 한쪽으로 쏠리는 결과가 발생하기도 함.
    • 결론적으로,
      • 모델이 잘못되어 질 수 도 있음.
  • 그럼, 대책은 없을까?
    • 방지 프로세스를 반드시 필수적으로 수립하자.
      • 즉, 사람을 통해 일어날 수 있는 오류를 바로잡고, 처리할 수 있는 프로세스 구축이 대안이 될 것!! 

마지막으로, 예측 불가한 데이터 포맷에 대해서 알아보자.

  • 머신러닝은 시스템에서 지소적으로 수집하는 새로운 데이터를 이용해 동작함.
    • 그리고, 이를 통해서 학습이 이뤄지게됨.
  • 즉, 새로운 데이터가 시스템에 입력될수록, 복잡도는 점차적으로 증가함.
    • 복잡도 속에서, 머신러닝 시스템에서 지원되지 않는 포맷이 존재할 수 있음.
      • 즉, 해당 데이터 포맷에 대한 메커니즘이 없을 경우,
        • 예측불가한 입력 데이터의 포맷에 대해서 모델이 잘 처리하고 동작할지는 누구도 모르는일....;;;

결론

  • 머신러닝에서 데이터 관련 비일관성 문제는 주로 아래의 경우가 존재함.
    • 언더피팅 / 오버피팅 / 데이터 불안정성 / 예측 불가한 미래
  • 오늘도 머신러닝관련 데이터 비일관성 문제에 대한 지식 한기지 획득완료! 감사합니다. 

 

728x90
300x250