본문 바로가기
Aiffel/Fundamental

RandomForest

by EDGE-AI 2022. 1. 6.

 

Random Forest 분류, 회귀 분석 등에 사용되는 앙상블 학습 방법의 일종으로, 훈련 과정에서 구성한 다수의 결정 트리로부터 부류(분류) 또는 평균 예측치(회귀 분석)를 출력함으로써 동작한다.

 

Random Forest 진행 과정

  1. 훈련 단계
    1. 훈련 단계에서는 종단 노드에 대한 매개변수와 내부 노드와 관련된 노드 분할 함수(split function)의 매개변수를 최적화하는 작업이 진행된다.
    2. 데이터 포인트의 훈련 집합 및 실제 데이터 레이블(ground truth label)이 주어졌을 때, 트리의 매개변수는 정의한 목적 함수를 최소화 하도록 선택된다.
    3. 트리의 성장을 언제 멈출지 결정하기 위해 미리 정의된 여러가지 멈춤 조건이 적용된다.
    4. T개의 트리로 구성된 하나의 포레스트의 경우, 일반적으로 훈련 과정은 각 트리에 대해 독립적으로 T번 반복된다.
    5. 랜덤 트리 또는 포레스트에서 주목할 사실은 랜덤성(randomness)이 오직 훈련 과정에만 존재한다는 것이다.
    6. 트리가 형성된 후 고정되어 있다면 테스트 단계에서는 완전히 결정론적인 특성을 보인다. 즉, 동일한 입력 데이터에 대해 항상 동일한 결과를 낸다.
  2. 테스트 단계
    1. 이전에 본 적 없는 데이터 v가 입력으로 주어졌을 때, 각 결정 트리는 사전에 정의된 많은 테스트 값을 계층적으로 적용한다. 
    2. 루트 노드에서 시작해, 각 노드의 분할 함수를 입력 데이터 v에 적용한다.
    3. 입력 데이터는 이진 테스트의 결과에 따라 오른쪽 또는 왼쪽의 자식 노드로 보내진다. 이 과정은 입력 데이터가 단말 노드에 도달할 때까지 반복된다.
    4. 트리에서 단말 노드는 대개 입력 v에 대한 출력 값을 내는 예측기(분류기(classifier) 또는 회귀기(regressor))를 갖는다. 포레스트의 경우 각 트리 예측기들의 조합으로 단일 예측치를 만든다.

 

참고 문헌

https://ko.wikipedia.org/wiki/%EB%9E%9C%EB%8D%A4_%ED%8F%AC%EB%A0%88%EC%8A%A4%ED%8A%B8#%ED%9B%88%EB%A0%A8%EA%B3%BC_%ED%85%8C%EC%8A%A4%ED%8A%B8_%EA%B3%BC%EC%A0%95

'Aiffel > Fundamental' 카테고리의 다른 글

Logistic Regression  (0) 2022.01.06
Stochastic Gradient Descent  (0) 2022.01.06
Pandas로 그래프 그리기  (0) 2022.01.05
Git, Github  (0) 2021.12.30
프로그래밍 패러다임  (0) 2021.12.30

댓글