학습 결정 트리

3595 단어 기계 학습Python

입문


의사결정 트리는 일련의 판단을 바탕으로 의사결정을 하는 모델이다.
RPG의 선택에 따라 분류되는 느낌의

방법


· 정보 이득을 가장 큰 특징으로 하는 데이터 분할.
· 각 조건에 따라 분할을 반복한다.
・ 분할된 데이터는 순전히
수법.
완전히 분할하기 전에 하면 과도한 학습에 빠지기 쉬워 깊이를 제한하는 경우가 많다.

정보 이득 정의


정보의 이득은 Information Gain인 것 같아서 IG처럼 정해진 경우가 많다.
IG는 다음과 같이 정의합니다.
IG(D_p, f) = I(D_p) - \sum_{j=1}^{m} \frac{N_j}{N_p}I(D_j) \\

f: 分割を行う特徴量\\
D_p:親のデータセット\\
D_j:j番目のデータセット\\
N_p:親データ数\\
N_j:子データ数\\
I:不純度
불순도는 어떤 지표이기 때문에 일시적으로 어떤 수치로 삼는다.그래서 부모의 불순도에서 아이의 불순도를 빼는 것이 정보의 이득이 된다.
여기서 이해하기 위해 부모 노드 1의 하위 노드는 두 개(자 노드 1, 자 노드 2)로 나뉜다고 가정한다.
IG(D_p, f) = I(D_p) - \sum_{j=1}^{m} \frac{N_j}{N_p}I(D_j) \\
=  I(D_p) - (\frac{N_1}{N_p}I(D_1) + \frac{N_2}{N_p}I(D_2) )\\

D_1:子ノード1のデータセット\\
D_2:子ノード2のデータセット\\
N_p:親データ数\\
N_1:子ノード1のデータ数 \\
N_2:子ノート2のデータ数 \\
즉, 정보의 이득은 하위 노드의 불순도 합계가 가장 작은 특징량을 선택하는 것을 목적으로 하는 지표이다.

불순도


그럼 불순도는 뭘까요?
자주 사용하는 불순도 지표
  • 지니의 불순도
  • 엔트로피
  • 분류 오차
  • 태그 요소의 표시 속성을 수정합니다.

    지니 불순도

    I_G(t) = \sum_{i=1}^{c} P(i|t)(1 - p(i|t)) = 1 - \sum_{i=1}^{c} P(i|t)^2 \\
    
    P(i|t): ノードtでクラスiに属する割合\\
    
    따라서 I는 0~1을 얻을 수 있다.
    P(i|t)가 1일 때 키니의 불순도는 최소치 0이다.그러니까 완전 분류할 때
    반면 최대값은 P(i|t) = 0.5시입니다.2 분류 시 한 노드에서 모든 데이터가 차단되면
    I_G(t) = \sum_{i=1}^{c} P(i|t)(1 - p(i|t)) = 1 - ( 1 + 0 ) = 0
    
    하계.

    엔트로피 값

    I_H(t) = -\sum_{i=1}^{c} P(i|t)log_2 P(i|t)\\
    
    P(i|t): ノードtでクラスiに属する割合\\
    
    이쪽도 아까처럼 P(i|t)가 1이 되면 엔트로피가 0이 된다.
    I_H(t) = -\sum_{i=1}^{c} P(i|t)log_2 P(i|t) = -(log_2 1 + 0)= -(0 + 0) = 0 \\
    
    하계.

    분류 오차

    I_E(t) = 1 - max\{ P(i|t) \}
    
    이것은 매우 간단하다. 하위 노드 라벨의 최대 값이 큰 비례는 1에서 뺀다.
    그러니까
    태그 1:20
    태그 2:30
    하면, 만약, 만약...
    p(1|t) = 20 / 50 =  \frac{2}{5}\\
    p(2|t) = 30/50 = \frac{3}{5} \\
    
    그래서
    I_E(t) = 1 - \frac{3}{5}
    
    하계.
    마찬가지로 p(i_t)=1이면 I_E(t)=0.

    민감도


    불순도를 나타내는 세 가지 방법이 있지만 각각 추정하기 위해서는 불순물이 함유된 정도가 다르다.
    분류 오차<지니 불순도 <엔트로피
    의 순서 검출 능력이 다릅니다.

    결정 트리 구축


    scikitlearn을 사용할 때는 Decision Tree Classifier를 사용할 수 있습니다.
    결과는 이렇다. 그렇다면 도대체 이 한도값은 어떻게 결정되는 것일까?
    잘 모르니 깊이 쫓아라.

    하지만 그걸 쓰면 여기까지니까 자세한 알고리즘을 사용해야 해요.
    결정 트리 알고리즘을 실시해 보다
    참고하도록 허락해 주십시오.

    결정 트리를 구체적으로 결정하기 위해 어떻게 결정하는가.


    결국 정보의 이득이 가장 큰 분할을 했으면 좋겠다면 여기까지지만 실제로는 어떻게 했을까.
    이 글에는 IG(정보 이득)가 나와 있습니다.정보의 이득은 부모의 불순도에서 아이의 불순도를 뺀 것으로 사이즈가 잘 나눌수록 커진다.

    계산 과정

  • 1.무작위로 특징량을 확정하다
  • 2.각 특징량의 유일한 값을 구하고 중간 값을 구하여 한도값으로 한다.
  • [1,2,3,4]는 [1.5,2.5,3.5]이다
  • 3.2 구한 한도값을 바탕으로 각각 분할한다
  • 4.3 분할된 노드를 기반으로 IG를 계산합니다
  • 5.각 임계값에 대해 IG 최고 임계값(이계값 비교)을 선택합니다
  • 6.모든 피쳐 양을 동일한 방식으로 계산하여 IG의 가장 높은 피쳐 양(피쳐 양의 비교)을 계산합니다
  • 7.규정된 깊이에 도달할 때까지 연산을 반복하다
  • 듣자니

    랜덤 숲


    상용서로를 이해할 수 없다는 소리도 자주 들린다.
    이것은 합창 학습법이라는 결정 나무를 채택한 것이다.

    협동 학습


    세 사람의 경우 문수의 지혜가 좋고 이를 구현한 학습 방법이다.
    여러 개의 모형을 만들어 다수결로 그것들의 모형을 조합한다.
    따라서 지나치게 공부하거나 공부할 수 없는 문제를 완화시킬 수 있다.
    이 상세한 상황
    랜덤 숲에서
  • 1.추출 데이터를 복원합니다
  • 2.추출 표본에서 비복원 추출 특징량
  • 3.추출된 피쳐 양을 사용하여 분할합니다
  • 4.일정수 1-3을 반복하여 다수결로 모형을 만든다
  • 이런 방법.
    일반적으로 소음이 섞인 데이터도 매우 강하다.

    좋은 웹페이지 즐겨찾기