해결된 질문
작성
·
133
0
안녕하세요.
여러가지를 해보던 중, boston 주택가격 실습에서 MinMaxSclaer를 적용하지 않고, 한번 그대로 값을 넣어 gradient descent를 수행하니, loss function이 발산해버리는 현상을 발견했습니다.
혹시 이러한 결과가 나온 원인이 무었일까요??
어쨌든 gradient descent는 값의 범위에 상관 없이 항상 loss function의 값이 작아지는 방향으로 이동하는 것으로 이해했는데, feature들 간의 값의 차이가 있어서 loss function의 값이 발산하는것이 왜 그렇게 되는지 이해가 잘 되지 않아 질문 드립니다.!!
답변 1
1
안녕하십니까,
백프로 정확한 이유를 저도 잘 알지 못합니다.
Deep learning 모델은 기본적으로 Feature들을 Scaling 적용해주는 것이 좋습니다. 실습으로 보셨듯이, Feature 들의 Scaling이 적용되지 않으며 loss 가 발산되는 경우가 발생할 수 있습니다. 근데, 이런 경우는 Case by Case 인것 같습니다.
이미지 모델의 픽셀값의 경우는 CNN 모델 구축 시 Scaling을 반드시 적용하지 않아도 됩니다. 그런데 회귀와 같은 모델을 Naive한 Deep Learning 모델로 적용할 경우에는 Feature Scaling을 하지 않을 경우 보신바와 같이 loss가 무한대로 발생하는 경우가 종종 있습니다.
요약하지만 가능하다면 Deep Learning 모델은 학습 데이터에 대해서 feature scaling을 적용하시는게 좋습니다.
감사합니다.