• 카테고리

    질문 & 답변
  • 세부 분야

    컴퓨터 비전

  • 해결 여부

    미해결

MinMaxScaler() 전처리 성능이 왜 더 좋은 것인가요?

21.05.05 13:44 작성 조회수 305

0

안녕하세요. 2장 듣고 있는데, 입력 데이터를 MinMaxScaler 함수로 전처리를 하는데, 학습 때 정확하게 기존보다 유리한 점이 무엇이라고 말할 수 있나요? 수학에 약해서 잘 이해는 안되는데, 단순히 scaling을 하는데, 딥러닝 계산 때 값이 범위 안에 한정되어서 유리한 것인지. 간단명료하게 이유를 알고 싶습니다

답변 2

·

답변을 작성해보세요.

1

안녕하십니까,

일반적으로 딥러닝의 경우 피처들을 동일한 레벨로 스케일링 해주는 게 좋습니다.

RM의 경우 방의 개수이므로 1~5 개 정도이고, LSTAT의 경우는 하위계층 비율이므로 40% 이상이 될 수도 있습니다. 이 피처들이 가지는 값의 범위가 서로 다르기 때문에 이들을 동일한 잣대로 맞춰주는게 좋습니다.  나이, 몸무게, 소득자산 이렇게 서로 다른 값의 범위를 가지는 feature들은 일반적으로 딥러닝 뿐만 아니라 선형 기반 머신러닝 알고리즘에 입력할 때 scaling을 해주는 게 좋은데, 딥러닝은 더욱 해주셔야 합니다.

딥러닝은 특히 weight의 갯수가 굉장히 많은데, 이 weight들이 입력 feature들의 값에 영향을 받는데, 단순히 feature들의 값 크기에 따라서 영향을 크게 받아버리기 되면 학습이 불안정하게 되는 현상이 쉽게 발생할 수 있습니다. 또한 딥러닝의 경우 일반적으로 입력 feature 값을 작게 해주는 것이 전반적인 값의 변화를 안정적으로 유지하는데 도움이 됩니다(feature 값을 작게 해주는 것이 좋다는 것이 딥러닝의 과거 정설이었지만, 이게 반드시 그렇지는 않은것 같습니다)

따라서 정형 데이터와 같이 비즈니스적인 feature들이 의미하는 값의 범위가 서로 차이가 크게 나는 경우에 Scaling을 적용해 주는것이 좋습니다.

감사합니다.

0

유영재님의 프로필

유영재

2021.05.06

감사합니다