랜덤 포레스트: Difference between revisions
From CS Wiki
No edit summary |
|||
Line 3: | Line 3: | ||
;여러 개의 결정 트리들을 임의적으로 학습하는 방식의 앙상블 방법으로서, 여러가지 학습기들을 생성한 후 이를 선형 결합하여 최종 학습기를 만드는 방법 | ;여러 개의 결정 트리들을 임의적으로 학습하는 방식의 앙상블 방법으로서, 여러가지 학습기들을 생성한 후 이를 선형 결합하여 최종 학습기를 만드는 방법 | ||
[[파일:랜덤 포레스트.png]] | [[파일:랜덤 포레스트.png|500px]] | ||
== | == 기반 기술 == | ||
* '''[[의사결정 나무]]: 여러가지 요소를 기준으로 갈라지는 가지를 트리형태로 구성하여 분석하는 기법 | |||
* '''[[앙상블 학습]]''': 주어진 데이터를 여러 모델로 학습하고 종합하여 정확도를 높이는 기법 | * '''[[앙상블 학습]]''': 주어진 데이터를 여러 모델로 학습하고 종합하여 정확도를 높이는 기법 | ||
* '''[[배깅|배깅(Bagging)]]''': 같은 알고리즘으로 여러 개의 분류기를 만들어서 결합하는 앙상블 학습 기법 | * '''[[배깅|배깅(Bagging)]]''': 같은 알고리즘으로 여러 개의 분류기를 만들어서 결합하는 앙상블 학습 기법 | ||
== 의사결정트리의 한계 === | |||
* 학습 데이터에 따라 생성되는 결정 트리가 크게 달라져 일반화가 어려운 [[과적합]] 문제 발생 | * 학습 데이터에 따라 생성되는 결정 트리가 크게 달라져 일반화가 어려운 [[과적합]] 문제 발생 | ||
* 계층적 접근방식으로, 중간에 에러 발생 시 하위 계층으로 에러 전파 | * 계층적 접근방식으로, 중간에 에러 발생 시 하위 계층으로 에러 전파 | ||
== 랜덤 포레스트 특징 == | |||
* 임의성: 서로 조금씩 다른 특성의 트리들로 구성 | * 임의성: 서로 조금씩 다른 특성의 트리들로 구성 | ||
* 비상관화: 각 트리들의 예측이 서로 연관되지 않음 | * 비상관화: 각 트리들의 예측이 서로 연관되지 않음 | ||
Line 28: | Line 28: | ||
=== 배깅을 통한 포레스트 구성 === | === 배깅을 통한 포레스트 구성 === | ||
;부트스트랩(bootstrap)을 통해 조금씩 다른 훈련 데이터에 대해 훈련된 기초 분류기(base learner)들을 결합(aggregating)시키는 방법 | ;부트스트랩(bootstrap)을 통해 조금씩 다른 훈련 데이터에 대해 훈련된 기초 분류기(base learner)들을 결합(aggregating)시키는 방법 | ||
=== 랜덤 노드 최적화 === | |||
* 분석에 사용되는 변수를 랜덤하게 추출 | |||
* 훈련 단계에서 훈련의 목적 함수를 최대로 만드는 매개변수 최적값 도출 |
Revision as of 11:42, 7 January 2020
- Random Forest
- 여러 개의 결정 트리들을 임의적으로 학습하는 방식의 앙상블 방법으로서, 여러가지 학습기들을 생성한 후 이를 선형 결합하여 최종 학습기를 만드는 방법
기반 기술
- 의사결정 나무: 여러가지 요소를 기준으로 갈라지는 가지를 트리형태로 구성하여 분석하는 기법
- 앙상블 학습: 주어진 데이터를 여러 모델로 학습하고 종합하여 정확도를 높이는 기법
- 배깅(Bagging): 같은 알고리즘으로 여러 개의 분류기를 만들어서 결합하는 앙상블 학습 기법
의사결정트리의 한계 =
- 학습 데이터에 따라 생성되는 결정 트리가 크게 달라져 일반화가 어려운 과적합 문제 발생
- 계층적 접근방식으로, 중간에 에러 발생 시 하위 계층으로 에러 전파
랜덤 포레스트 특징
- 임의성: 서로 조금씩 다른 특성의 트리들로 구성
- 비상관화: 각 트리들의 예측이 서로 연관되지 않음
- 견고성: 오류가 전파되지 않아 노이즈에 강함
- 일반화: 임의화를 통한 과적합 문제 극복
랜덤 포레스트 주요 기법
배깅을 통한 포레스트 구성
- 부트스트랩(bootstrap)을 통해 조금씩 다른 훈련 데이터에 대해 훈련된 기초 분류기(base learner)들을 결합(aggregating)시키는 방법
랜덤 노드 최적화
- 분석에 사용되는 변수를 랜덤하게 추출
- 훈련 단계에서 훈련의 목적 함수를 최대로 만드는 매개변수 최적값 도출