P / forest. CountTrees end 같이 보기 [ 편집 ] 결정 트리 학습법 k - 최근접 이웃 알고리즘 나이브 베이즈 분류 비모수 통계 기계 학습 각주 [ 편집 ] ↑ Yali Amit ; Donald Geman ( 1997 ). " Shape quantization and recognition with randomized trees ". 《 Neural Computation 》 9 ( 7 ) : 1545 - 1588. doi : 10. 1162 / neco. 1997. 9. 7. 1545. ↑ 가 나 Tin Kam Ho ( 1998 ). " The Random Subspace Method for Constructing Decision Forests ". 《 IEEE Transactions on Pattern Analysis and Machine Intelligence 》 20 ( 8 ) : 1545 - 1588. doi : 10. 1109 / 34. 709601. ↑ 가 나 Leo Breiman ( 2001 ). " Random Forests ". 《 Machine Learning 》 45 ( 1 ) : 5 - 32. doi : 10. 1023 / A : 1010933404324. ↑ Leo Breiman ( 1996 ). " Bagging predictors " ( PDF ). 《 Machine Learning 》
} ) = { frac { 1 } { T } } sum - { t = 1 } ^ { T } p - { t } ( c | mathbf { v } ) } 다른 방법으로는 트리들의 결과들을 곱하는 방법이 있다. p ( c | v ) = 1 Z t = 1 T p t ( c | v ), { displaystyle p ( c | mathbf { v } ) = { frac { 1 } { Z } } prod - { t = 1 } ^ { T } p - { t } ( c | mathbf { v } ), } 여기서 Z { displaystyle Z } 는 확률 정규화 ( probabilistic normalization ) 를 위한 상수 ( constant ) 이다. 중요 매개변수 [ 편집 ] 랜덤 포레스트의 가장 큰 영향을 미치는 매개변수들은 다음과 같다. 포레스트의 크기 ( 트리의 개수 ) T { displaystyle { mathit { T } } } 총 포레스트를 몇 개의 트리로 구성할 지를 결정하는 매개변수이다. 포레스트가 작으면 트리들을 구성하고 테스트 하는데 걸리는 시간이 짧은 대신, 일반화 능력이 떨어져 임의의 입력 데이터 포인트에 대해 틀린 결과를 내놓을 확률이
( correlation ) 은 굉장히 커질 것이다. 따라서 배깅은 서로 다른 데이터셋들에 대해 훈련 시킴으로써, 트리들을 비상관화시켜 주는 과정이다. 임의 노드 최적화 [ 2 ] [ 편집 ] 임의 노드 최적화 방식을 통해 학습하는 과정. 각각의 트리 내 존재하는 노드마다 분할 함수 h (. ) { displaystyle h (. ) } 을 이용하여 각 노드에서의 정보 획득량이 최대가 되도록 최적화하여 학습하는 방법 훈련 단계에서 임의 노드 최적화는 훈련 목적 함수를 최대로 만드는 노드 분할 함수의 매개변수 theta { displaystyle { boldsymbol { theta } } } 의 최적값을 구하게 된다. 노드 분할 함수 [ 편집 ] 각 트리의 노드마다 분할 함수 ( split function ) 를 가지고 있으며, 다음과 같이 표현할 수 있다. h ( v, theta j ) { 0, 1 }, { displaystyle h ( mathbf { v }, { boldsymbol { theta } } - { j } ) in left { 0, 1 right }, } 0은 거짓 ( false ), 1은 참 ( true ) 을 가리킨다
sum - { j = 1 } ^ { m } sum - { i = 1 } ^ { n } W - { j } ( mathbf { v } - { i }, mathbf { v'} ), Y - { i } = sum - { i = 1 } ^ { n } left ( { frac { 1 } { m } } sum - { j = 1 } ^ { m } W - { j } ( mathbf { v } - { i }, mathbf { v'} ) ( mathbf { v } - { i }, mathbf { v'} ) right ), Y - { i }, } 이 식은 포레스트 전체가 개별 트리의 가중치들의 평균값으로 다시 이웃 가중치 구조 ( weighted neighborhoods schemes ) 를 이루는 것을 보여준다. 여기서 v { displaystyle mathbf { v'} } 의 이웃 v i { displaystyle mathbf { v } - { i } } 는 포레스트 중 적어도 하나의 트리에서 v { displaystyle mathbf { v'} } 와 같은 종단 노드로 떨어지는 데이터 포인트를 의미하게 된다
브라운 대학교, 그리고 캠브리지 대학교 연구팀은 다채널 자기공명영상 ( Multi - channel Magnetic resonance image ) 으로 촬영된 뇌 영상에서 고악성도 신경교종 ( High - grade gliomas ) 를 검출하기 위해 랜덤 포레스트를 적용하였다. [ 10 ] 기존의 많은 종양 검출 연구들이 전체적인 종양덩어리를 검출하는데 초점을 맞췄다면 이 연구팀에서는 랜덤 포레스트가 내재적으로 다중 클래스 특성을 지니는 점을 이용하여 서로 다른 종류의 신경 조직을 동시에 검출하는 연구를 진행하였다. 특히 기존의 신경 조직 검출 알고리즘에 비하여 전처리과정 등이 많이 요구되지 않으며, 비교적 간단한 복잡도 모델로 높은 검출 정확도를 보이는 결과를 얻어 랜덤 포레스트의 유용성을 증명하였다. 의사코드 [ 11 ] [ 편집 ] 랜덤 결정 트리 학습 TreeNode LearnDT ( S ) repeat featureTests times let f = RndFeature ; let r = EvaluateFeatureResponses ( S, f ) ; repeat threshTests times let t = RndThreshold ( r ) ; let ( S - l, S - r ) = Split ( S, r, t
{ 0, 1 right }, } 0은 거짓 ( false ), 1은 참 ( true ) 을 가리킨다. 노드에 도달한 데이터는 분할 함수 결과에 따라 왼쪽 또는 오른쪽의 자식 노드로 보내지게 된다. 이러한 분할 함수는 매개변수 theta = (,, ) { displaystyle { boldsymbol { theta } } = ( phi, psi, tau ) } 에 따라 결정된다. { displaystyle phi } 는 필터 함수로 벡터 v { displaystyle mathbf { v } } 에서 몇 개의 특징 ( feature ) 들만을 선택한다. 이 과정은 특징 배깅 ( feature bagging ) 이라고도 불린다. 특징을 선택하는 이유는 배깅을 통해 얻은 트리들 간의 상관성에 있다. 즉, 한 개의 특징 또는 극소수의 특징들이 결과에 대해 강한 예측 성능을 지닌다면, 훈련 과정 중 여러 트리 노드에서 이러한 특징들이 중복되어 선택되고 결과적으로 트리들이 상관화되기 때문이다. { displaystyle psi } 는 분할 함수의 기하학적 특성을 나타낸다. 즉, 어떤 기하학적 특성을 이용해 데이터를 분리할 지를 나타내는 것
) 를 갖는다. 포레스트의 경우 각 트리 예측기들의 조합으로 단일 예측치를 만든다. 정보 획득량과 섀넌 엔트로피 [ 편집 ] 이 부분의 본문은 쿨백 - 라이블러 - 발산입니다. 훈련 단계에서 트리의 각 노드는 들어오는 데이터들을 최적으로 분리하기 위해 정보 획득량 ( information gain ) 을 기준으로 사용한다. 다시 말해 각 노드에서 정보 획득량 ( 신뢰, confidence ) 을 최대화하는 방향으로 데이터를 분리한다. 정보 획득량은 다음과 같이 정의된다. I = H ( S ) - i { L, R } | S i | | S | H ( S i ), { displaystyle I = H ( S ) - sum - { i in { mathrm { L }, mathrm { R } } } { frac { left | S ^ { i } right | } { left | S right | } } H ( S ^ { i } ), } 여기서, S { displaystyle S } 는 한 노드에 도달하는 데이터 집합을, S i { displaystyle S ^ { i } } 는 이 노드의 i { L, R } { displaystyle i
##eiman ( 1996 ). " Bagging predictors " ( PDF ). 《 Machine Learning 》 24 ( 2 ) : 123 - 140. doi : 10. 1007 / BF00058655. ↑ Antonio Criminisi ; J. Shotton ; E. Konukoglu ( 2011 ). 《 Decision Forests for Classification, Regression, Density Estimation, Manifold Learning and Semi - Supervised Learning 》 ( PDF ) ( 기술 보고서 ). Microsoft Technical Report. CS1 관리 - 여러 이름 ( 링크 ) ↑ Liaw, Andy ( 2015년 4월 27일 ). " Documentation for R package randomForest " ( PDF ). 2015년 4월 27일에 확인함. ↑ 가 나 Lin, Yi ; Jeon, Yongho ( 2002 ). 《 Random forests and adaptive nearest neighbors 》 ( 기술 보고서 ). Technical Report No. 1055. University of Wisconsin. ↑ Jamie Shotton ( January 2013 ). " Real - time human pose recognition in parts from single dept
( p ( c ) ( c ) ), { displaystyle H ( S ) = - sum - { c in { mathcal { C } } } p log ( p ), } 여기서 C { displaystyle { mathcal { C } } } 는 전체 부류 ( class ) 집합을 나타내며, p ( c ) { displaystyle p } 는 각 부류에 대한 확률 질량 함수이다. 랜덤 포레스트 [ 편집 ] 랜덤 포레스트의 가장 큰 특징은 랜덤성 ( randomness ) 에 의해 트리들이 서로 조금씩 다른 특성을 갖는다는 점이다. 이 특성은 각 트리들의 예측 ( prediction ) 들이 비상관화 ( decorrelation ) 되게하며, 결과적으로 일반화 ( generalization ) 성능을 향상시킨다. 또한, 랜덤화 ( randomization ) 는 포레스트가 노이즈가 포함된 데이터에 대해서도 강인하게 만들어 준다. 랜덤화는 각 트리들의 훈련 과정에서 진행되며, 랜덤 학습 데이터 추출 방법을 이용한 앙상블 학습법인 배깅 ( bagging ) 과 랜덤 노드 최적화 ( randomized node optimization ) 가 자주 사용된다. 이 두 가지 방법은 서로 동시에 사용되어 랜덤화 특성을 더욱 증진 시킬 수 있다. 배깅을 이용한 포레스트
( January 2013 ). " Real - time human pose recognition in parts from single depth images ". 《 CACM 》 56 ( 1 ) : 116 - 124. doi : 10. 1145 / 2398356. 2398381. ↑ Antonio Criminisi ( September 2010 ). " Regression Forests for Efficient Anatomy Detection and Localization in CT Studies ". 《 MICCAI workshop 》 6533 : 106 - 117. doi : 10. 1007 / 978 - 3 - 642 - 18421 - 5 - 11. ↑ Darko Zikic ( October 2012 ). " Decision Forests for Tissue - Specific Segmentation of High - Grade Gliomas in Multi - channel MR ". 《 MICCAI 》 7512 : 369 - 376. doi : 10. 1007 / 978 - 3 - 642 - 33454 - 2 - 46. ↑ Jamie Shotton ; Tae - Kyun Kim ; Stenger ( 2009 ). 《 Boosting & Randomized Forests for Visual Recognition 》. International Conference on
기계 학습에서의 랜덤 포레스트(영어: random forest)는 분류, 회귀 분석 등에 사용되는 앙상블 학습 방법의 일종으로, 훈련 과정에서 구성한 다수의 결정 트리로부터 부류(분류) 또는 평균 예측치(회귀 분석)를 출력함으로써 동작한다.