You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
사회과학을 전공하고, 기초통계에 대해서는 회귀분석+@ 정도의 지식이 있는 상태에서 처음으로 머신러닝야학을 통해 공부를 시작해서 따라가고 있습니다.
Tensorflow101 에서 첫번째 딥러닝 - 레모네이드 판매를 예측까지 학습한 상태입니다. 수업에서 원리나 문법을 자세히 설명해주시는 대신 간략한 설명과 함께 따라하면서 실행해보는 과정이라 재미있게 공부하고 있습니다. 그런데 첫번째 딥러닝 모델과 예측을 따라 해보면서 의문이 생겼습니다.
해당 수업에서 모델에 학습시키는 데이터는 observation갯수가 6개인데, 이 6개를 반복해서 학습시켜서 예측을 한다면 기존에 가지고 있는 데이터가 과대대표되는 문제가 생기는 것 아닌가요?
예를 들어 모델의 정확성을 높이고 싶을 때 데이터의 n갯수 자체를 늘리는 것은 이해가 됩니다. observation의 갯수가 늘어날수록 거기에서 얻을 수 있는 정보값이 많아진다는 뜻이니까요 그런데 데이터가 가지고 있는 정보값이 한정된, 제한된 데이터를 반복해서 학습시킴으로서 모델의 정확성을 높인다는 개념이 잘 이해가 가지 않습니다.
정보값이 변하지 않는 상태로 n갯수가 늘어나면 수치적으로는 당연히 모델의 정확도가 올라가지만, 실제로 그게 더 좋은 예측력을 가지게 된다고 할 수는 없는 것 아닌가요? 어떤 원리를 통해서 동일한 데이터의 반복학습이 모델의 정확성을 높이는 것일까요?
너무 궁금합니다!
The text was updated successfully, but these errors were encountered:
데이터에 대해서 이해가 있으시군요. :)
학습데이터에 과잉학습(overfit)이 되지 않고, 학습 때 사용하지 않고 모델이 처음 경험하는 테스트용 데이터에서 충분히 좋은 성능을 나타내도록 해야 좋은 예측력을 만들 수 있습니다.
야학에서 준비한 수업은 "학습" 이라는 것에 집중된 수업이고, 과대대표 문제는 다루지 않고 있죠.
때문에 해당 수업으로 만들어진 모델은 모두 과대대표되는 문제를 가지고 있어요.
"실제 현실에서 쓸만한 모델"을 만들 때에는 "학습용 데이터(training set)"와 "검증용 데이터(validation set)", "테스트용 데이터(test set)" 로 데이터를 구분하여 준비하합니다. 데이터의 양을 충분히 확보할 수 있게 되면서 가장 많이 사용되는 방법이죠. 또한, 딥러닝 모델은 사실 준비된 데이터에 대해 과잉학습(overfit)이 잘되는 구조라서, 과대대표가 되지 않도록 모델을 구성하는 방법에 대해 많이 연구되고 다양한 기법들이 사용이 되고 있어요.
답변 정말 감사합니다. 충분한 데이터만 확보된다면 학습용 데이터와 검증용, 테스트용을 나눠서 사용한다는 방법이 있군요!
다만 여전히 궁금한 부분이 있습니다. 데이터의 양이 얼마나 많건간에 동일한 데이터를 가지고(아마도 학습용 데이터겠죠?) '반복적으로' 학습을 시키는 것은 모든 ML 과정에서 일반적인가요? 그렇다면 같은 데이터를 반복적으로 학습시킴으로써 loss를 줄이는 것의 매커니즘은 뭘까요?
loss를 줄여나가는 학습방법은 딥러닝에서만 사용하는 방법은 아닙니다.
이것의 의미를 알아보려면 최적화 이론(Optimization Theroy)을 살펴보시면 되는데요. 간단하게 설명드리면 목표로 하는 성능 지수 함수를 여러 가지 제약 조건 하에서 최소 또는 최대 값을 찾는 문제로 수확 및 공학 분야에서 가장 오래된 학문 영역 중 하나입니다.
또한, 딥러닝에서는 최적화를 이루어 내는 방법 중에 미분을 이용한 '역전파학습(Backpropagation)' 방법을 이용하고 있습니다. 딥러닝이 이용하는 메카니즘을 깊게 보고 싶으시면 '역전파학습'을 공부해 보시면 되겠습니다.
사회과학을 전공하고, 기초통계에 대해서는 회귀분석+@ 정도의 지식이 있는 상태에서 처음으로 머신러닝야학을 통해 공부를 시작해서 따라가고 있습니다.
Tensorflow101 에서 첫번째 딥러닝 - 레모네이드 판매를 예측까지 학습한 상태입니다. 수업에서 원리나 문법을 자세히 설명해주시는 대신 간략한 설명과 함께 따라하면서 실행해보는 과정이라 재미있게 공부하고 있습니다. 그런데 첫번째 딥러닝 모델과 예측을 따라 해보면서 의문이 생겼습니다.
해당 수업에서 모델에 학습시키는 데이터는 observation갯수가 6개인데, 이 6개를 반복해서 학습시켜서 예측을 한다면 기존에 가지고 있는 데이터가 과대대표되는 문제가 생기는 것 아닌가요?
예를 들어 모델의 정확성을 높이고 싶을 때 데이터의 n갯수 자체를 늘리는 것은 이해가 됩니다. observation의 갯수가 늘어날수록 거기에서 얻을 수 있는 정보값이 많아진다는 뜻이니까요 그런데 데이터가 가지고 있는 정보값이 한정된, 제한된 데이터를 반복해서 학습시킴으로서 모델의 정확성을 높인다는 개념이 잘 이해가 가지 않습니다.
정보값이 변하지 않는 상태로 n갯수가 늘어나면 수치적으로는 당연히 모델의 정확도가 올라가지만, 실제로 그게 더 좋은 예측력을 가지게 된다고 할 수는 없는 것 아닌가요? 어떤 원리를 통해서 동일한 데이터의 반복학습이 모델의 정확성을 높이는 것일까요?
너무 궁금합니다!
The text was updated successfully, but these errors were encountered: