한 마디로 하면, "Boosting is based on sample re-weighting but bagging uses bootstrapping." 분류나 회귀 결과를 앙상블해서 어떻게 잘 해보자는 흐름에 부스팅이랑 배깅이 있고, 랜덤 포레스트는 배깅을 쓴다. 부스팅은 boost 란 표준화된 라이브러리 씀.
랜덤 포레스트는 특히 노이즈 많은 자료 분석할 때, 그리고 독립변수로 쓰일 수 있는 자료가 많고 구조를 복잡하게 볼 때 오버피팅을 피하는 효과가 있어서 요새 뭐 많이 쓴다. 그리고 부스팅 보다 계산량도 적다는 데, 이건 확인하지 못했음. 기본적으로 부스팅이 느리긴 하더라, 내 연구는 아니고 들꿩 연구 코드 돌릴 때 보니 그랬음.
이건 중요한 개념들이니 여튼 잘 정리해야 함. 뭐 상호작용과 메커니스틱한 관계는 어차피 조금만 복잡해져도 모르니 그런건 차치하고 속성으로 좋은 결과를 얻는 방법을 찾아보자, 정도로 생각하면 기본이런 앙상블 방법의 원래 목적을 짐작할 수 있다. 나는 본능적으로는 앙상블 방법들 거부하는 편이고, 지금 같이 일하는 교수는 꽤 좋아함. 나는 이런 거 보단 계속 베이지안 계층모형을 쓰려고 하는데, 사실 구현이 훨씬 어렵다, 제대로 하려면. 그리고 어느 순간 부터는 계층이건 샘플링 기반이건 안 먹히는 느낌이 들고, 그런 시점에 랜덤 포레스트 같은 게 눈에 확 들어오기 시작.
---
추가:
R에선 GBM 이란 패키지가 더 일반적인 듯.
---
오류 수정:
boost는 부스팅 라이브러리가 아녔음. 우리가 쓰는 모형에서 boost 라이브러리도 써서 혼동됐음. 이름이 boost 지만 수치해석용 라이브러리고, 부스팅은 다른 라이브러리 (GBM 등) 쓰는 것으로 확인.
랜덤 포레스트의 장점으로 내세운 노이즈 있는 자료 분석 가능, 과다적합 방지가 부스팅이 포괄하지 못하는 단점인지 확인이 더 필요. 장점은 단순한 회귀분석이나 범주형 자료 분석에 대한 거고, 부스팅의 단점은 일단 계산시간만 지적해야 할 듯.
그리고 이건 그냥 느낌으로 쓰는 건데,
비모수 통계 기초적인 것들을 보다 보면, 많은 장점이 연속된 자료량을 서열 변수로 바꿔서 오는 것임을 알게 된다. 랜덤 포레스트의 부스팅에 대한 장점도 아마 산술적으로 종합하지 않고 투표로 종합하는 데서 오는 거 아닐까 일단 느낌이 드는데, 비교한 논문이 많으니까 읽어보고 정리하겠음.
각 회차에서 나온 결과를 산술적으로 종합하면 필연적으로 비정상적으로 큰 값이나 작은 값을 처리하면서 손해를 보게 된다. 투표로 하면 얼마나 큰 지는 무시하고 그냥 크냐 작냐만 보니까, 정보를 좀 덜 쓰는 대신 잘못된 정보로 인한 손해는 안보게 되는 효과, 일단 그렇게 짐작.
랜덤 포레스트는 특히 노이즈 많은 자료 분석할 때, 그리고 독립변수로 쓰일 수 있는 자료가 많고 구조를 복잡하게 볼 때 오버피팅을 피하는 효과가 있어서 요새 뭐 많이 쓴다. 그리고 부스팅 보다 계산량도 적다는 데, 이건 확인하지 못했음. 기본적으로 부스팅이 느리긴 하더라, 내 연구는 아니고 들꿩 연구 코드 돌릴 때 보니 그랬음.
이건 중요한 개념들이니 여튼 잘 정리해야 함. 뭐 상호작용과 메커니스틱한 관계는 어차피 조금만 복잡해져도 모르니 그런건 차치하고 속성으로 좋은 결과를 얻는 방법을 찾아보자, 정도로 생각하면 기본이런 앙상블 방법의 원래 목적을 짐작할 수 있다. 나는 본능적으로는 앙상블 방법들 거부하는 편이고, 지금 같이 일하는 교수는 꽤 좋아함. 나는 이런 거 보단 계속 베이지안 계층모형을 쓰려고 하는데, 사실 구현이 훨씬 어렵다, 제대로 하려면. 그리고 어느 순간 부터는 계층이건 샘플링 기반이건 안 먹히는 느낌이 들고, 그런 시점에 랜덤 포레스트 같은 게 눈에 확 들어오기 시작.
---
추가:
R에선 GBM 이란 패키지가 더 일반적인 듯.
---
오류 수정:
boost는 부스팅 라이브러리가 아녔음. 우리가 쓰는 모형에서 boost 라이브러리도 써서 혼동됐음. 이름이 boost 지만 수치해석용 라이브러리고, 부스팅은 다른 라이브러리 (GBM 등) 쓰는 것으로 확인.
랜덤 포레스트의 장점으로 내세운 노이즈 있는 자료 분석 가능, 과다적합 방지가 부스팅이 포괄하지 못하는 단점인지 확인이 더 필요. 장점은 단순한 회귀분석이나 범주형 자료 분석에 대한 거고, 부스팅의 단점은 일단 계산시간만 지적해야 할 듯.
그리고 이건 그냥 느낌으로 쓰는 건데,
비모수 통계 기초적인 것들을 보다 보면, 많은 장점이 연속된 자료량을 서열 변수로 바꿔서 오는 것임을 알게 된다. 랜덤 포레스트의 부스팅에 대한 장점도 아마 산술적으로 종합하지 않고 투표로 종합하는 데서 오는 거 아닐까 일단 느낌이 드는데, 비교한 논문이 많으니까 읽어보고 정리하겠음.
각 회차에서 나온 결과를 산술적으로 종합하면 필연적으로 비정상적으로 큰 값이나 작은 값을 처리하면서 손해를 보게 된다. 투표로 하면 얼마나 큰 지는 무시하고 그냥 크냐 작냐만 보니까, 정보를 좀 덜 쓰는 대신 잘못된 정보로 인한 손해는 안보게 되는 효과, 일단 그렇게 짐작.