M GRU Restricted Boltzmann machine 자기조직화지도 합성곱 신경망 강화 학습 Q 러닝 SARSA 시간차 학습 이론 편향 - 분산 트레이드오프 Computational learning theory Empirical risk minimization PAC learning Statistical learning VC theory v. d. e. h 기계 학습에서의 랜덤 포레스트 ( 영어 : random forest ) 는 분류, 회귀 분석 등에 사용되는 앙상블 학습 방법의 일종으로, 훈련 과정에서 구성한 다수의 결정 트리로부터 부류 ( 분류 ) 또는 평균 예측치 ( 회귀 분석 ) 를 출력함으로써 동작한다. 목차 1 도입 1. 1 정의 1. 2 역사 1. 3 동기 1. 4 기여 2 결정 트리 2. 1 수학적 표기법 2. 2 훈련과 테스트 과정 2. 2. 1 훈련 단계 2. 2. 2 테스트 단계 2. 3 정보 획득량과 섀넌 엔트로피 3 랜덤 포레스트 3. 1 배깅을 이용한 포레스트 구성 3. 2 임의 노드 최적화 [ 2 ] 3. 2. 1 노드 분할 함수 3. 2. 2 훈련 목적 함수 3. 3 앙상블 모델 4 중요 매개변수 5 특성 5. 1 변수의 중요성 5. 2 k - 최근접 이웃 알고리즘과의 관계 6 응용사례 6. 1 키넥트에서의 신체 트랙킹 6. 2 컴퓨터 단층 촬영 영상
랜덤 포레스트 - 위키백과, 우리 모두의 백과사전 랜덤 포레스트 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 기계 학습과 데이터 마이닝 문제 분류 클러스터 분석 회귀 분석 이상 발견 연관 규칙 강화 학습 구조 기반 예측 특성 공학 특성 학습 온라인 기계 학습 준 지도 학습 비 지도 학습 Grammar induction 지도 학습 ( 통계적 분류. 회귀 분석 ) 결정 트리 학습법 앙상블 학습법 ( 배깅, Boosting, 랜덤 포레스트 ) 최근접 이웃 탐색 k - NN 선형 회귀 나이브 베이즈 인공신경망 로지스틱 회귀 퍼셉트론 상관 벡터 머신 ( RVM ) 서포트 벡터 머신 ( SVM ) 클러스터 분석 BIRCH Hierarchical clustering k - 평균 알고리즘 기댓값 최대화 알고리즘 DBSCAN OPTICS Mean - shift 차원 축소 요인 분석 CCA 독립 성분 분석 LDA 음수 미포함 행렬 분해 주성분 분석 t - SNE 그래프 모형 베이즈 네트워크 조건부 무작위장 은닉 마르코프 모델 혼합 모델 잠재 디리클레 할당 이상 발견 k - 최근접 이웃 알고리즘 Local outlier factor 인공 신경망 Autoencoder 딥 러닝 다층 퍼셉트론 순환 신경망 LSTM GRU Restricted Boltzmann machine 자기조직화지도 합성곱 신경망 강화 학습 Q 러닝 SARSA 시간차 학습 이론
for t = 1 to countTrees let S - t = RandomSplit ( S ) forest [ t ] = LearnDT ( S - t ) end / / return forest object return forest end 랜덤 포레스트 테스트 double [ ] ClassifyDF ( forest, v ) / / allocate memory let P = double [ forest. CountClasses ] / / loop over trees in forest for t = 1 to forest. CountTrees let P'= ClassifyDT ( forest. Tree [ t ], v ) P = P P'/ / sum distributions end / / normalise P = 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
j L [UNK] S j R =, S j L = S 2 j 1, S j R = S 2 j 2. { [UNK] displaystyle S - { j } = S - { j } ^ { [UNK] mathrm { L } } [UNK] cup S - { j } ^ { [UNK] mathrm { R } }, S - { j } ^ { [UNK] mathrm { L } } [UNK] cap S - { j } ^ { [UNK] mathrm { R } } = [UNK] emptyset, S - { j } ^ { [UNK] mathrm { L } } = S - { 2j1 }, S - { j } ^ { [UNK] mathrm { R } } = S - { 2j2 }. } 데이터 포인트 { v } { [UNK] displaystyle [UNK] { [UNK] mathbf { v } [UNK] } } 의 훈련 집합 S 0 { [UNK] displaystyle S - { 0 } } 및 실제 데이터 레이블 ( ground truth label ) 이 주어졌을 때, 트리의 매개변수는 정의한 목적 함수를 최소화 하도록 선택된다. 트리의 성장을 언제 멈출지 결정하기 위해 미리 정의된 여러가지 멈춤 조건이 적용된다. T { [UNK] displaystyle T } 개의 트리로 구성된 하나의 포레스트의 경우, 일반적으로 훈련 과정은
. 섀넌 엔트로피는 확률 변수의 조합으로 정보원 ( 여기서는 S { [UNK] displaystyle S } ) 에 대한 불확실성을 보여주는 것으로 아래와 같이 정의된다. H ( S ) = - [UNK] c [UNK] C p log ( p ( c ) ( c ) ), { [UNK] displaystyle H ( S ) = - [UNK] sum - { c [UNK] in { [UNK] mathcal { C } } } p [UNK] log ( p ), } 여기서 C { [UNK] displaystyle { [UNK] mathcal { C } } } 는 전체 부류 ( class ) 집합을 나타내며, p ( c ) { [UNK] displaystyle p } 는 각 부류에 대한 확률 질량 함수이다. 랜덤 포레스트 [ 편집 ] 랜덤 포레스트의 가장 큰 특징은 랜덤성 ( randomness ) 에 의해 트리들이 서로 조금씩 다른 특성을 갖는다는 점이다. 이 특성은 각 트리들의 예측 ( prediction ) 들이 비상관화 ( decorrelation ) 되게하며, 결과적으로 일반화 ( generalization ) 성능을 향상시킨다. 또한, 랜덤화 ( randomization ) 는 포레스트가 노이즈가 포함된 데이터에 대해서도 강인하게 만들어 준다. 랜덤화는 각 트리들의 훈련 과정에서 진행되며, 랜덤 학습 데이터 추출 방법을 이용한 앙상블 학습법인
k - 최근접 이웃 알고리즘에서, v [UNK] { [UNK] displaystyle [UNK] mathbf { v'} } 와 가장 가까운 k개의 데이터 포인트 v i { [UNK] displaystyle [UNK] mathbf { v } - { i } } 에 대해 W ( v i, v [UNK] ) = 1 k { [UNK] displaystyle W ( [UNK] mathbf { v } - { i }, [UNK] mathbf { v'} ) = { 1 [UNK] over k } }, 그 외의 데이터 포인트에 대해 W ( v i, v [UNK] ) = 0 { [UNK] displaystyle W ( [UNK] mathbf { v } - { i }, [UNK] mathbf { v'} ) = 0 } 결정 트리에서, W ( v i, v [UNK] ) { [UNK] displaystyle W ( [UNK] mathbf { v } - { i }, [UNK] mathbf { v'} ) } 는 새로운 데이터 포인트 v [UNK] { [UNK] displaystyle [UNK] mathbf { v'} } 가 v i { [UNK] displaystyle [UNK] mathbf { v } - { i } } 와 같은 단말 노드로 떨어질 확률을 의미한다. 랜덤 포레스트에서는, 독립적인 가중치 함수 W j { [UNK] displaystyle W - { j } } 를 갖는 m개의 트리 집합들
중요성 5. 2 k - 최근접 이웃 알고리즘과의 관계 6 응용사례 6. 1 키넥트에서의 신체 트랙킹 6. 2 컴퓨터 단층 촬영 영상 내 해부학 구조 검출 및 위치파악 6. 3 다채널 자기공명영상 내 고악성도 신경교종 검출 7 의사코드 [ 11 ] 8 같이 보기 9 각주 10 외부 링크 도입 [ 편집 ] 정의 [ 편집 ] 랜덤 포레스트는 다수의 결정 트리들을 학습하는 앙상블 방법이다. 랜덤 포레스트는 검출, 분류, 그리고 회귀 등 다양한 문제에 활용되고 있다. 역사 [ 편집 ] 초기 랜덤 포레스트는 단일 트리를 확장할 때 가능한 결정 ( available decisions ) 중 임의의 부분집합 ( random subset ) 에서 검색하는 아이디어를 도입한 얄리 아미트 ( Yali Amit ) 와 도널드 게먼 ( Donald Geman ) 의 연구 [ 1 ] 에 영향을 받았다. 또한 임의의 부분공간 ( random subspace ) 을 선택하는 틴 캄 호 ( Tin Kam Ho ) 의 아이디어 [ 2 ] 역시 랜덤 포레스트의 디자인에 영향을 미쳤다. 포레스트가 성장할 때, 각 트리를 학습하기 ( fitting ) 전에 임의로 선택된 부분공간으로 훈련 데이터를 투영 ( projection ) 시키는 과정에서 트리 사이에 차이가 발생한다. 현재의 랜덤 포레스트의
된 데이터에 대해서도 강인하게 만들어 준다. 랜덤화는 각 트리들의 훈련 과정에서 진행되며, 랜덤 학습 데이터 추출 방법을 이용한 앙상블 학습법인 배깅 ( bagging ) 과 랜덤 노드 최적화 ( randomized node optimization ) 가 자주 사용된다. 이 두 가지 방법은 서로 동시에 사용되어 랜덤화 특성을 더욱 증진 시킬 수 있다. 배깅을 이용한 포레스트 구성 [ 편집 ] 이 부분의 본문은 배깅입니다. 배깅을 이용하여 T { [UNK] displaystyle T } 개의 결정트리들로 구성된 랜덤 포레스트를 학습하는 과정. S 0 { [UNK] displaystyle S - { 0 } } 는 전체 학습 데이터 집합을 의미한다. S 0 t { [UNK] displaystyle S - { 0 } ^ { t } } 는 t { [UNK] displaystyle t } 번째 결정트리를 위해 배깅을 통해 임의로 선택된 학습 데이터들로, S 0 { [UNK] displaystyle S - { 0 } } 의 부분집합이다. 배깅 ( bagging ) 은 bootstrap aggregating의 약자로, 부트스트랩 ( bootstrap ) 을 통해 조금씩 다른 훈련 데이터에 대해 훈련된 기초 분류기 ( base learner ) 들을 결합 ( aggregating ) 시키
tstrap ) 을 통해 조금씩 다른 훈련 데이터에 대해 훈련된 기초 분류기 ( base learner ) 들을 결합 ( aggregating ) 시키는 방법이다. [ 4 ] 부트스트랩이란, 주어진 훈련 데이터에서 중복을 허용하여 원 데이터셋과 같은 크기의 데이터셋을 만드는 과정을 말한다. 배깅을 통해 랜덤 포레스트를 훈련시키는 과정은 다음과 같이 세 단계로 진행된다. 부트스트랩 방법을 통해 T { [UNK] displaystyle T } 개의 훈련 데이터셋을 생성한다. T { [UNK] displaystyle T } 개의 기초 분류기 ( 트리 ) 들을 훈련시킨다. 기초 분류기 ( 트리 ) 들을 하나의 분류기 ( 랜덤 포레스트 ) 로 결합한다 ( 평균 또는 과반수투표 방식 이용 ). 트리는 작은 편향 ( bias ) 과 큰 분산 ( variance ) 을 갖기 때문에, 매우 깊이 성장한 트리는 훈련 데이터에 대해 과적합 ( overfitting ) 하게 된다. 부트스트랩 과정은 트리들의 편향은 그대로 유지하면서, 분산은 감소시키기 때문에 포레스트의 성능을 향상시킨다. 즉, 한 개의 결정 트리의 경우 훈련 데이터에 있는 노이즈에 대해서 매우 민감하지만, 트리들이 서로 상관화 ( correlated ) 되어 있지 않다면 여러 트리
aystyle [UNK] rho = 1,..., [UNK] infty } 가 임의성의 정도를 결정하는 것으로 볼 수 있다. 보통 [UNK] { [UNK] displaystyle [UNK] rho } 의 값은 랜덤 포레스트의 트리들의 모든 노드에서 동일한 값을 사용한다. 만약 [UNK] = | T | { [UNK] displaystyle [UNK] rho = [UNK] left | { [UNK] mathcal { T } } [UNK] right | } 이면, 랜덤 포레스트의 모든 트리들은 서로 동일하게 되며, 전체 시스템에 임의성이 주입되지 않는다. [UNK] = 1 { [UNK] displaystyle [UNK] rho = 1 } 인 경우에는 최대의 임의성과 비상관화 ( uncorrelated ) 된 트리들을 얻게 된다. 앙상블 모델 [ 편집 ] 앙상블 모델을 이용한 랜덤 포레스트 테스트 과정. 각 결정트리로부터 얻어진 결과를 평균, 곱하기, 또는 과반수 투표 방식을 통해 최종 결과를 도출해낸다. 포레스트의 모든 트리들은 독립적으로 훈련 단계를 거친다. 테스트 단계에서 데이터 포인트 v { [UNK] displaystyle [UNK] mathbf { v } } 는 모든 트리에 동시로 입력되어 종단 노드에 도달하게 된다. 이러한 테스트 단계는 병렬적으로 진행될 수 있으며, 따라서 병렬 CPU 또는 GPU 하드웨어를 통해 높은 계산
기계 학습에서의 랜덤 포레스트(영어: random forest)는 분류, 회귀 분석 등에 사용되는 앙상블 학습 방법의 일종으로, 훈련 과정에서 구성한 다수의 결정 트리로부터 부류(분류) 또는 평균 예측치(회귀 분석)를 출력함으로써 동작한다.