강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

예찬님의 프로필 이미지
예찬

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

max_features

해결된 질문

작성

·

246

0

하이퍼 파라미터인 max_features는 매우 많은 피처가 있는 경우 과적합을 조정하는 데 사용된다고 나와있는데, 데이터를 많이 학습시킬수록 그 머신러닝은 더 많은 경우의 수를 학습할 수 있기 때문에 성능이 더 좋아 지지 않나요? 일부러 학습시킬수있는 데이터를 줄이는게 현명한지의 여부와 앞의 질문과 과적합이 무슨 관계인지 잘 모르겠습니다

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

강의에서도 말씀 드리고 있지만, 

앙상블은 다수의 똑똑한 learner로 구성하는 것이 아니라 다수의 weak learner로 구성합니다.  여기서의 똑똑한 learner란 전체 피처로 학습하고, max_depth등에 제한을 하지 않거나, 개별 learner들이 샘플링하지 않고 모두 전체 데이터를 학습하는등의 역할을 수행하는 learner를 지칭합니다. 

그리고 해당 weak learner들의 feature 들도 전체 피처를 수용하지 않고 일부 피처들을 서로 다르게 가져가면서 학습하면 보통 더 뛰어난 성능을 나타내는 경향이 있습니다.

실제로 테스트를 해보면,  똑똑한 learner들로 다수를 구성하면 오히려 성능이 떨어지는데,  이유로는 모델이 다양한 관점에서 데이터를 학습하지 못하는 특성을 가질 수 있기 때문입니다. 

다양한 피처나 데이터 샘플링 구성이 아닌 거의 비슷한 구성으로 learner들을 구성할 경우  학습 데이터에서만 좋은 성능을 보이고, 테스트 데이터에서는 성능이 떨어지는 과적합 문제를 보이는데,  이는 똑똑한 learner들로만 구성된 모델이 학습 데이터 보다 약간 보편적인 테스트 데이터에 잘 적응을 하지 못한다고 유추해 볼 수 있습니다. 

이러한 똑똑한 learner들로 앙상블로 구성시에 데이터의 변화에 대해서 제대로 대응하지 못하거나, 쉬운 문제는 풀어도 어려운 문제(다양한 패턴 인지가 필요한 문제)에 대해서 오류가 더 많아지는 현상이 나타날 수 있습니다. 

때문에 max_features와 같은 다양한 하이퍼 파라미터로 보다 다양한 관점으로 데이터를 학습할 수 있도록 최적화를 하는 것입니다. 

예찬님의 프로필 이미지
예찬
질문자

감사합니다

예찬님의 프로필 이미지
예찬

작성한 질문수

질문하기