7장 연습문제
1. 정확히 같은 데이터셋에 다른 모델 5개를 훈련시켜 모두 95%의 정확도를 얻었을 때, 이 모델들을 연결하여 더좋은 결과를 낼수 있을까?
모델이 다르다면 같은 데이터셋에 훈련을 했어도, 각 모델의 투표를 통해서 다 좋은 결과를 낼 수 있다.
2. 직접투표기와 간접 투표기의 차이점
직접투표기는 가장 많이 선택된 예측을 선택하고, 간접 투표기는 각 예측의 확률을 종합해서 가장 높은 확률의 예측을 선택한다. 간접투표기는 확률을 만들어내는 예측기와 사용가능하다.
3. 배깅 앙상블 훈련을 여러데의 서버로 분산시켜 훈련이 가능할까, 페이스팅 앙상블, 부스팅 앙상블, 랜덤포레스트, 스태킹 앙상블은 가능할까?
배깅과 페이스팅, 랜덤포레스트는 훈련시키는 예측기가 모두 독립적이므로 각각 서버에 분산 훈련이 가능하다.
그런데 스태킹 앙상블은 이전 예측기를 기반으로 예측기가 훈련하므로 순차적이어야 한다. 그런데 한 층의 예측기들은 독립적이므로 한층을 훈련할때는 분산 훈련이 가능하다.
4. oob 평가의 장점은 무엇인가
훈련중 랜덤성을 통해서 사용되지 않은 샘플을 검증에 사용하기 때문에, 추가적인 검증 데이터셋을 요구하지 않아 훈련에 더많은 샘플을 사용할 수 있다.
5. 무엇이 엑스트라 트리를 일반 랜덤 포레스트보다 더 무작위하게 만드는가, 도움이 되는가, 빠른가 느린가?
엑스트라 트리는 랜덤 포레스트가 트리를 성장시킬때, 특성을 무작위로 골라 최선의 임계값을 찾아 분할하는 것 대신, 무작위적인 임계값을 사용하기 때문에, 더 무작위 적으로 변한다.
그래서 랜덤 포레스트보다 더 정확한 값을 내지는 않지만, 최적값을 찾으려 하지않아 빠른 훈련속도를 가진다.
6. 에이다부스트 앙상블이 과소적합 되었다면, 어떤 매개변수를 어떻게 바꾸는게 적합한가
에이다부스트는 과소적합한 예측기가 예측을 잘못한 샘플의 가중치를 높이는 방향으로 새로운 예측기를 훈련하여 붙여나간다.
그런데 과소적합되었다면, 예측기수를 증가시키거나, 규제 하이퍼파리미터를 감소시킬 수 있다. 또한 학습률을 약간 증가시켜서 좀 더 멀리 가보도록 유도할 수 있다.
7. 그레디언트 부스팅 앙상블이 훈련데이터에 과대적합 되었을 경우, 학습률을 어떻게 조치해야 하는가
학습률을 감소시켜야 하고, 예측기가 너무많은거 같으면 조기종료 기법으로 적당한 예측기 수를 찾는다.
8.MNIST 데이터를 통해 개개인, 앙상블 성능비교
9. 각 분류기의 예측으로 새로운 훈련세트를 만들고, 그 예측 데이터와 타깃 이미지 클래스를 클래스로 갖는 분류기를 훈련하고, 이를 포함한 앙상블을 평가하고 이전과 비교해봐라
https://github.com/kimhwijin/HandsOnMachineLearing/blob/main/HOML_Exercise_7.ipynb
GitHub - kimhwijin/HandsOnMachineLearing
Contribute to kimhwijin/HandsOnMachineLearing development by creating an account on GitHub.
github.com