반응형
블로그의 목적
- 머신러닝에서 데이터 관련 비일관성 문제에 대해서 정리해본다.
데이터 관련 비일관성 문제
- 언더피팅(under-fitting)
- 오버피팅(over-fitting)
- 데이터 불안정성(data instability)
- 예측 불가한 미래(unpredictable future)
그럼, 언더피팅에 대해서 알아보자.
- 언더피팅이란?
- 실제 데이터를 정확하게 모델링하기 위해 충분한 정보를 고려하지 못한 경우을 말함.
- 즉, 오차가 늘고, 모델의 정확도도 저하됨.
- 실제 데이터를 정확하게 모델링하기 위해 충분한 정보를 고려하지 못한 경우을 말함.
- 주로, 언더피팅은 아래의 경우에 잘 발생함.
- 분류기(classifier)가 특정 데이터에만 적용 가능한 상태이거나 수준 미달일 정도로 단순한 경우
- 즉,데이터가 충분하지 않고, 모델링이 제대로 이뤄지지 않아서...
- 분류기(classifier)가 특정 데이터에만 적용 가능한 상태이거나 수준 미달일 정도로 단순한 경우
- 다시말해서, 데이터셋 크기가 너무 작으면 최적의 모델을 얻기 힘듬.
그럼, 오버피팅에 대해서 알아보자.
- 오버피팅이란?
- 언더피팅과 반대로 데이터셋의 규모가 너무 크게되면, 모델이 해당 데이터에 대해 오버피팅할 가능성이 있음.
- 즉, 오버피팅은 언더피팅의 반대 경우을 말함.
- 다시말해서, 데이터 샘플이 너무 작아서 최적의 모델을 정의하기가 어려운 경우와 달리 데이터 셋의 규모가 너무 크게될 경우를 말함.
- 그리고, 주로 오버피팅은, 통계 모델이 데이터 간의 관계가 아닌, 노이즈 데이터에 대한 분석 결과를 나타낼 때 발생함.
- 즉, 오버피팅은 언더피팅의 반대 경우을 말함.
- 언더피팅과 반대로 데이터셋의 규모가 너무 크게되면, 모델이 해당 데이터에 대해 오버피팅할 가능성이 있음.
- 오버피팅된 모델은 데이터에 아주 작은 변화가 점차 늘어날수록 성능저하가 발생함.
- 그럼, 오버피팅이 일어나는 주요원인은?
- 모델을 학습시키는 데 사용된 기준이 모델의 효용성을 판단하는데 사용하는 기준과 다르기 때문에...
- 모델이 학습 데이터셋을 대상으로 "학습"하지 않고 "기억"만 해버리면, 오버피팅이 더 빈번해짐.
- 즉, 데이터가 많아지면 많아질 수 록 복잡도 or 데이터에 포함된 노이즈도 많아지기 때문에 발생함.
- 모델을 학습시키는 데 사용된 기준이 모델의 효용성을 판단하는데 사용하는 기준과 다르기 때문에...
- 즉, 위에서 설명한 언더피팅문제를 해결하기 위해서 데이터를 더욱 많이 제공하면, 오버피팅을 일으킬 수 있음.
- 그럼, 오버피팅 문제를 해결하는 방법으로는 무엇이 있을까?
- 하나, 피처의 수를 줄이기.
- 둘, 적정한 학습데이터를 넣음
- 셋, 정규화(regularization) 이용
- 그럼, 정규화란?
- 모델이 너무 복잡해지지 않도록 임의로 제약을 가하는 것을 말함.
- 그럼, 정규화란?
- 기타 등등 많은 해결책이 존재함
- 언더피팅과 오버피팅에 대해서 정리하자면,
-
학습 데이터셋이 고정되어 있을 경우
- 모델의 복잡도및 오류의 일반적인 상관관계는 아래 그림으로 설명됨.
- 데이터에 비해서 모델이 너무 간단할 경우
- 언더피팅(underfitting)이 발생함.
- 모델을 너무 복잡하게 선택할 경우
- 오버피팅(overfitting)이 발생함.
- 데이터에 비해서 모델이 너무 간단할 경우
- 결론적으로,
- 데이터에 대한 모델을 적절한 복잡성을 선택하는 것은 ...
- 오버피팅(overfitting)과 언더피팅(underfitting) 문제를 피하는 해결책이 될듯....
- 데이터에 대한 모델을 적절한 복잡성을 선택하는 것은 ...
- 모델의 복잡도및 오류의 일반적인 상관관계는 아래 그림으로 설명됨.
-
그럼, 데이터의 불안정성에 대해서 알아보자.
- 머신러닝 알고리즘은 노이즈에 대한 영향을 적게 받음.
- but, 아래 상황으로 문제가 발생할 수 있음.
- 수작업으로 인한 오류
- 관련데이터를 잘못 해석
- 기타 등등.
- but, 아래 상황으로 문제가 발생할 수 있음.
- 즉, 문제 상황으로 인해서 데이터가 한쪽으로 쏠리는 결과가 발생하기도 함.
- 결론적으로,
- 모델이 잘못되어 질 수 도 있음.
- 결론적으로,
- 그럼, 대책은 없을까?
- 방지 프로세스를 반드시 필수적으로 수립하자.
- 즉, 사람을 통해 일어날 수 있는 오류를 바로잡고, 처리할 수 있는 프로세스 구축이 대안이 될 것!!
- 방지 프로세스를 반드시 필수적으로 수립하자.
마지막으로, 예측 불가한 데이터 포맷에 대해서 알아보자.
- 머신러닝은 시스템에서 지소적으로 수집하는 새로운 데이터를 이용해 동작함.
- 그리고, 이를 통해서 학습이 이뤄지게됨.
- 즉, 새로운 데이터가 시스템에 입력될수록, 복잡도는 점차적으로 증가함.
- 복잡도 속에서, 머신러닝 시스템에서 지원되지 않는 포맷이 존재할 수 있음.
- 즉, 해당 데이터 포맷에 대한 메커니즘이 없을 경우,
- 예측불가한 입력 데이터의 포맷에 대해서 모델이 잘 처리하고 동작할지는 누구도 모르는일....;;;
- 즉, 해당 데이터 포맷에 대한 메커니즘이 없을 경우,
- 복잡도 속에서, 머신러닝 시스템에서 지원되지 않는 포맷이 존재할 수 있음.
결론
- 머신러닝에서 데이터 관련 비일관성 문제는 주로 아래의 경우가 존재함.
- 언더피팅 / 오버피팅 / 데이터 불안정성 / 예측 불가한 미래
- 오늘도 머신러닝관련 데이터 비일관성 문제에 대한 지식 한기지 획득완료! 감사합니다.
728x90
300x250
'좋아하는 것_매직IT > 24.tensorflow' 카테고리의 다른 글
6.tensorflow, 머신러닝의 주요 분야에 대해서 알아보고 정리해보자. (0) | 2020.12.31 |
---|---|
5.tensorflow, 머신러닝에서 학습관련 세부 분야에 대해서 알아보자. (0) | 2020.12.31 |
3.tensorflow, 머신러닝에서 태스크, 알고리즘,모델에 대해서 간단하게 정리하고 알아보자. (0) | 2020.12.31 |
2.tensorflow, 머신러닝에서 데이터(data)에 대한 의미란? (0) | 2020.12.31 |
1.tensorflow, 학습(Learning)에 대해서 알아보자. (0) | 2020.12.31 |