[Tensorflow] 8. 과적합(Overfitting)이란 무엇인가?
과적합에 대해 정확히 이해가 안되서
찾아봐야겠습니다.
지난 포스팅에서 잠시 스쳐 지나간 개념
과적합이란 무엇일까요?
https://aigaeddo.tistory.com/10
7. 데이터) 데이터 쪼개기 (훈련 데이터, 평가 데이터)
전에 코드들에서는 10개면 10개 전부 모델에 훈련시켰는데요,,, https://aigaeddo.tistory.com/9 6. 데이터) 입출력 데이터 개수 변경 안녕하세요. 학원에서 저는 텐서플로우 기초를 배우고 있습니다. 학습
aigaeddo.tistory.com
1. 과적합이란?
저는 아래의 포스팅을 보고
학습을 해봤습니다.
https://untitledtblog.tistory.com/68
[머신러닝] - Overfitting (과적합)
1. 개요 머신 러닝 (machine learning)에서 overfitting은 학습데이터를 과하게 잘 학습하는 것을 뜻한다. 일반적으로 학습 데이터는 실제 데이터의 부분집합인 경우가 대부분이다. 따라서, 아래의 그래
untitledtblog.tistory.com
"머신 러닝 (machine learning)에서 overfitting은
학습데이터를
과하게 잘 학습하는 것을 뜻한다.
일반적으로 학습 데이터는
실제 데이터의 부분집합인 경우가 대부분이다.
따라서, 아래의 그래프처럼
학습 데이터에 대해서는 오차가 감소하지만,
실제 데이터에 대해서는
오차가 증가하는 지점이 존재할 수 있다."
라고 합니다.
학습데이터를 과하게 잘 학습해서..
생긴 문제네요.
(저에게는 해당되지 않는 개념이군요)
이 글에서 말하는 예시가 이해가 잘되었는데요.
살펴보겠습니다.
"노란색 고양이를 보며 고양이 특성을 학습한 사람은
검은색 고양이, 흰색 고양이를 보고 이건 고양이가 아니야라고
정확인 인식을 하지 못함"
이 예제에서는 노란색 고양이라는
학습데이터를 과하게 학습한 결과
검은색, 흰색 고양이를 인식하지 못하는
실제 데이터의 예측 값과 전혀 다른 결과가 발생했네요!
위 이미지는 "머핀과 치와와"라는 짤입니다.
"로봇은 머핀과 치와와를 구분 못한다" 라는
의미를 내포하고 있습니다.
이 예제가 맞는지는 모르겠지만
제 생각으로 이 사진의 구분 오류 문제를
과적합에 빗대어 접근을 해보겠습니다.
"치와와의 눈코입 모양과 위치, 갈색 털 색깔을 과하게 학습한 나머지
치와와의 눈코입 모양,위치, 털의 색과 유사한 머핀을 치와와라고 예측한다"
나름대로 과적합의 예를 들어봤습니다.
예제가....좀 많이 다르긴한데
어느정도 과적합에 대한 시각은 생긴 것 같습니다.
어떠신가요?..
2. 과적합을 해결하는 방법
과적합을 해결하는 방법은 아니지만
저번 학습에서 개념이 나왔죠.
데이터를 쪼개줌으로서
신뢰도 높일 수 있다고 했숩니다.
과연 해결 방법도 있을까요??
위 포스팅은 2016년에 쓰여졌으므로,
비교적 최신 자료를 찾아봤습니다.
https://aistudy9314.tistory.com/14
[인공지능 기초] 3. Over-Fitting(과적합)
과적합은 머신러닝에서 많이 등장하는 문제 중 하나이다. 주로 데이터가 너무 적거나 모델이 과도하게 복잡한 경우에 발생하게 된다. Over-Fitting(과적합)에 대해서 더 자세히 알아보도록 하자! 1.
aistudy9314.tistory.com
위에서 설명하는 과적합을 방지하는 방법은
총 6가지이고 아래의 4가지 방식을
중점적으로 설명하고 있습니다.
1) 데이터를 추가 수집한다.
2) Feature의 개수를 줄인다.
3) Reqularization
4) DropOut
천천히 살펴보겠습니다.
1) 데이터의 추가 수집
말그대로 데이터를 많이 때려넣으라고 합니다.
데이터의 양이 많고 다양할수록 모델의 범용성
즉, 다양한 시각도 생겨난다고 하네요.
2) Feature 축소
데이터 중에 관계성이 적거나 없는
쓸모없는 feature를 제거합니다.
모델의 목적과 관련이 없어보이는
데이터는 과감히 제거하라는 말 같습니다.
3) Regularization(정규화)
말이 어렵네요..
정규화라는 방식을 통해
그래프상 위아래로 튀어나온 값들이 있는 값들을
평탄화 하므로서
기대와 다른 그래프가 나오는 것을
방지하는 그런 기술 같습니다..
(시간이 날때 더 파보겠습니다.... 오늘은 이해만..)
4) DropOut
뉴런 네트워크에서는
전체 노드가 연결되어 있는데요.
이 전체 노드를 연결하지 말고
랜덤으로 일부 노드를 배제하고
학습하는 것을 말하는 것이라고 합니다.
이로서 평균 효과를 얻을 수 있다고 하네요.
위의 정규화 기술에서
튀어나온 값들을 평탄화 하는 것과
비슷하게 이해되네요.
이상 과적합이 이해가 안가서
이해가 갈때까지
보고 또
찾아본
포스팅이었습니다.
틀린부분이 있다면 말씀 주시면 감사하겠습니다.!