트리 모델

Decision Tree

실생활, 인공지능 양쪽 모두 흔히 사용되는 모델.

  • 노드 : 가지가 갈라지는 지점
  • 뿌리(Root) : 나무가 시작하는 노드
  • 종단(Terminal) : 나무의 마지막 노드
  • 깊이(Depth) : 몇 번 갈라졌는지 횟수
  • 크기(Size) : 종단 노드 수
  • 이진 나무(Binary Tree) : 각 노드에서 가지가 두 개만 나올때

에러함수는 MSE를 쓴다. MSE를 최소화하는 는 각 영역에서의 값들의 평균. 모든 나눌 수 있는 경우를 다 조사하는건 비효율적이고, 가능하지도 않음.

Regression Tree

회귀나무

Y가 연속형 변수일때 사용한다. Recursive Binary Splitting 을 이용해 샘플을 분할한다.

  • 한 변수에 대해 두 개의 공간으로 분할
  • 분할 할 때, 최적의 변수와 분할 지점을 선정.
  • 분할된 공간을 다시 같은 방식으로 분할해나감.

이론상 각 공간에 샘플 하나만 남을때까지 분할 가능.

  • 크기가 최소 () 모든 샘플을 하나의 값으로 추정한다. Underfitting
  • 크기가 최대 () 개 샘플을 개 값으로 추정. 최적의 에러가 0이 되는데, Overfitting

적절한 나무 크기를 정해야 함. 나무의 크기, 깊이, 종단 노드의 최소 샘플 갯수 등은 튜닝 파라미터

Regression Tree의 Loss 함수 여기서 는 튜닝 파라미터로 가지의 갯수를 조절해줌. cross-validation으로 정함.

Classification Tree

분류나무

Y가 범주형 변수일때 사용 회귀나무처럼 RBS를 사용 가능하다 최적 분할지점을 평가하는 방식만 다른데, 회귀나무는 MSE를 이용하는 반면, 분류나무는 분류오류, 지니불순도, 크로스 엔트로피를 이용한다.

  • 분류 오류 (Classification Error)
  • 지니 불순도 (Gini impurity index)
  • 크로스 엔트로피 (Cross entropy) 여기서 는 분류가 잘된 데이터의 비율을 뜻한다. E.g. 구슬 10개중 파란 구슬이 7개, 빨간 구슬이 3개면 .

CaRT

Classification and Regression Tree. 회귀나무 + 분류나무 해석이 매우쉽고 비선형,고차원 데이터에도 적용이 가능함 단점은 예측 성능이 떨어짐

앙상블 모델

여러 모델을 합쳐서 하나의 모델을 구성

  • 전통적 방법 서로 다른 방식을 이용하는 모델을 다른 비중으로 합성 ex. Stacking

  • 현대적 방법 다른 데이터셋으로 훈련한 같은 모델들을 같은 비중으로 합성 ex. Bagging, Boosting

Stacking

다수의 기본 모델의 output을 input으로 삼는 새로운 메타 모델을 구성

구조

  1. 다수의 기본 모델을 같은 데이터셋으로 훈련
  2. 각 모델의 출력값을 새로운 입력으로 생각하고 이를 이용해 레벨 1 모델을 훈련.
  3. 레벨 2, 3 모델을 만들거나 교차검증 형식으로 이용가능.

MLP와 비슷한 구조이지만 스태킹은 1레벨, 2레벨로 계층이 독립적으로 학습. MLP는 모든 계층이 한꺼번에 학습됨.

Bagging

  • 하나의 모델을 서로 다른 데이터셋을 이용해 훈련한 후 평균을 내어 예측을 안정화시키는 방법이 기본 아이디어.

  • 실제로는 다른 데이터셋을 마련하기 어렵기 때문에 Bootstrap을 이용하는데 이것이 Bagging.

  • Bagging(Bootstrap Aggregating) : 하나의 모델을 다수의 부트스트랩 집합에서 훈련하고 그 결과를 하나로 합쳐 예측

  • 원래는 모집단에서 훈련집합을 많이 구성해야 하나, 부트스트랩은 원래 훈련집합 안에서 중복을 허용하여 많은 새끼 훈련집합을 만드는 것

  • 강력한 안정화 성능을 지녔다. Decision Tree 같이 불안정한 모델에 효과가 좋음

  • 모델을 많이 할수록 안정성이 높아지지 복잡성이 증가하진 않음

Random forest

Decision Tree + Bagging + Sub-spacing

Decision Tree 에서 공간을 분할할 때마다 임의로 선택된 일부 변수만을 이용해 최적의 분할 방향, 지점을 선택.

보통 입력변수가 개 주어지면,

  • 분류 문제 :
  • 회귀 문제 :

Boosting

일반적으로 복잡한 데이터에는 복잡한 모델이 필요하다.

부스팅 : 단순한 모델을 점진적으로 합쳐나가 하나의 복잡한 모델을 구성하는 것

모델의 수 가 튜닝 파라미터. 많을수록 좋지만, 너무 많아지면 Overfitting