작성
·
375
0
선생님 안녕하세요 알고리즘을 공부하고 다시 들으니 이해가 더 잘 되는 것 같습니다.
이제 막 분류에 대한 마지막까지 들었는데 제가 이해한 부분이 맞는지 모르겠습니다.
결정트리는 머신러닝의 한 방법이다.
정확도를 높이기 위해서 앙상블 기법(여러가지 머신러닝을 섞거나, 데이터를 부트스트래핑 등)을 쓴다.
대표적인 앙상블 기법으로는 배깅과 보팅, 부스팅이 있는데, 배깅에서는 여러가지 결정트리로 되어있는 랜덤포레스트 방식, 보팅은 서로 다른 머신러닝들로 학습하는 것, 부스팅은 약한 분류기를 순차적으로 학습하면서 전에 학습했던 특정데이터에 가중치를 두어 점차적으로 학습하는 방식
스태킹은 분류된 데이터를 가지고 다시 한번 하나의 머신러닝 기법으로 학습한다. (하지만 학습에 테스트데이터를 쓰기때문에 오버피팅이 발생)
이 정도로 머릿속으로 정리를 했는데 틀린 것이 있는지, 또는 보팅을 할때 다른 머신러닝 여러개와 결정트리 여러개 로 구성된 앙상블 모델도 랜덤포레스트라고 부를 수 있는지가 궁금합니다
답변 1
0
안녕하십니까,
정리하신게 대부분 맞습니다.
결정트리는 머신러닝의 한 방법이다.
=> 맞습니다.
정확도를 높이기 위해서 앙상블 기법(여러가지 머신러닝을 섞거나, 데이터를 부트스트래핑 등)을 쓴다.
=> 정확히는 모델 성능을 위해 사용합니다. ^^
대표적인 앙상블 기법으로는 배깅과 보팅, 부스팅이 있는데, 배깅에서는 여러가지 결정트리로 되어있는 랜덤포레스트 방식, 보팅은 서로 다른 머신러닝들로 학습하는 것, 부스팅은 약한 분류기를 순차적으로 학습하면서 전에 학습했던 특정데이터에 가중치를 두어 점차적으로 학습하는 방식
=> 배깅은 여러개의 결정트리들을 기반으로 모델을 학습하되, 학습 데이터를 각자의 결정트리가 배깅 방식으로 샘플링해서(부트 스트래핑 분할) 학습합니다. 대표적으로 랜덤 포레스트가 배깅 방식입니다. 보팅과 부스팅은 말씀하신 게 맞습니다.
스태킹은 분류된 데이터를 가지고 다시 한번 하나의 머신러닝 기법으로 학습한다. (하지만 학습에 테스트데이터를 쓰기때문에 오버피팅이 발생)
=> 스태킹은 일차 개별 모델들이 분류로 예측된 결과 데이터를 다시 학습 데이터로 만들어서 예측합니다. 그러니까 개별 모델들이 예측한 데이터를 스태킹 형태로 합쳐서 최종 모델이 다시 이를 학습하고 예측합니다. 학습에 테스트 데이터를 사용하지는 않습니다.
단점으로는 일차 개별 모델들이 예측한 결과로 테스트 데이터를 만들어서 이를 기반으로 최종 예측하므로 실시간으로 들어오는 데이터에 대해서는 바로 적용하기가 어렵습니다. 주로 배치성 데이터에 대해 예측 모델을 만들때 좀 더 성능향상을 위해서 사용됩니다.
감사합니다.
감사합니다! 오늘도 좋은 하루 되시길 바랍니다!