정보 게인(Decision Tree)
Information gain (decision tree)정보 이론과 기계 학습에서 정보 이득은 쿨백-라이블러 발산(Kullback-Leibler divergence)의 동의어이다. 즉, 랜덤 변수 또는 다른 랜덤 변수를 관찰하여 얻은 신호에 대한 정보의 양이다.그러나 의사결정 나무의 맥락에서 이 용어는 상호 정보와 동의어로 사용되기도 한다. 상호 정보는 다른 변수가 주어진 조건 분포에서 한 변수의 일변량 확률 분포의 조건부 기대치이다.
랜덤 변수 A의 로부터 얻을 수 있는 랜덤 변수 X의 정보 게인은 a {\ style A}이다.
정보 획득의 기대치는 X와 A의 상호 I I(X;A)\displaystyle I(displaystyle I(A)\displaystyle I(X;A)\displaystyle I(X;A)이다. 즉, 랜덤 변수 A의 상태를 학습함으로써 얻을 수 있는 X의 엔트로피의 감소이다.
기계학습에서 이 개념은 X의 상태를 가장 빠르게 좁히기 위해 조사하기 위해 선호되는 속성 시퀀스를 정의하는 데 사용될 수 있다.그러한 순서(각 단계에서 이전 속성의 조사 결과에 따라 다름)는 의사결정 트리라고 불리며 의사결정 트리 학습으로 알려진 기계 학습 영역에 적용된다.일반적으로 상호 정보가 높은 속성은 다른 [why?]속성보다 우선해야 합니다.
일반적인 정의
일반적으로 예상되는 정보 이득은 정보 엔트로피 δ가 이전 상태에서 주어진 대로 일부 정보를 취하는 상태로 감소하는 것입니다.
서 H a {(a)})}는 속성a(\ a 값이 지정된T(\ T의 조건부 엔트로피입니다.
이는 엔트로피δ를 랜덤 의 불확실성 측정값으로 해석할 때 직관적으로 타당하다:T에 \ a T를 학습(또는 가정)으로써 TT에 우리의 불확실성을 감소시킨다(, 는 양수입니다 T {\ T이 \ a로부터 독립하지 않는 한, H (\ 을 의미합니다
형식적 정의
T는 트레이닝의 예로서 각 형식 ) ( x, , 3,. , k , styley)=(을 나타냅니다.y 。 a ( ) \ x _ { \ \ mathrm {} (a ) the 、 {\ {\ {\ x \ a^ { \ { }の or or or or or or or or or or or or or or or or or or of of of of of of of of of of of of of of of of of of of of of of of of of of of of of of of of of of of of feature feature feature feature feature feature feature feature feature feature feature feature feature feature feature feature feature속성 a의 정보 게인은 Shannon H- ) \로 다음과 같이 정의됩니다.속성 a에 의해 취득된 값 v의 경우,
각 속성 값에 대해 결과 속성을 고유하게 분류할 수 있는 경우 상호 정보는 속성의 총 엔트로피와 동일합니다.이 경우 전체 엔트로피에서 뺀 상대 엔트로피는 0입니다.특히 값 ( a v vals 는 훈련 세트 데이터 T의 파티션을 상호 배타적이고 모든 것을 포함하는 서브셋으로 정의합니다.속성 a의 값 † ( ) { va )} 에 대해 범주형 확률 a( ) { { ( 를 유도한다.는 P (v ) : (v ) { ): ={ }{ T이다. 이 표현에서 주어진 T의 정보 게인은 기대 섀넌트 T의 무조건적인 엔트로피 차이라고 정의할 수 있다.여기서 기대값은 a 값에 대한 유도 분포와 관련하여 취해진다.
정보 게인에 대한 또 다른 대처법(예)
정보 획득에 대한 이해를 높이기 위해 정보를 세분화해 보겠습니다.아시다시피 정보 게인은 정보 엔트로피의 감소입니다. 엔트로피가 뭐죠?기본적으로 엔트로피는 관측치 그룹의 불순물 또는 불확실성의 측정값입니다.엔지니어링 어플리케이션에서 정보는 신호와 비슷하고 엔트로피는 노이즈와 비슷합니다.Decision Tree가 데이터 [1]분할을 선택하는 방법을 결정합니다.아래 그림의 왼쪽 끝은 매우 불순하며 높은 무질서와 낮은 정보 값에 해당하는 높은 엔트로피를 가지고 있습니다.오른쪽으로 갈수록 엔트로피가 감소하고 정보 값이 증가합니다.

이제 정보 게인은 기능에 의해 클래스에 대해 제공되는 정보의 양을 측정하는 것이 분명합니다.오른쪽과 같이 Decision Tree에서 정보 게인을 시각화해 보겠습니다.
노드 t는 부모 노드, 서브노드L t와R t는 자녀 노드입니다.이 경우 부모 노드 t는 각각 C 및 NC로 표시된 암 및 비암 검체 컬렉션을 가진다.정보 게인을 사용하여 Decision Tree에서 노드 분할이 얼마나 양호한지 판단할 수 있습니다.엔트로피의 관점에서 정보 게인은 다음과 같이 정의됩니다.
- 게인 =(상위 노드의 엔트로피) – (하위 [2]노드의 평균 엔트로피)
(i)
이 아이디어를 이해하기 위해 간단한 데이터 세트를 만들고 유전자 돌연변이가 암 환자와 관련이 있는지 살펴보는 것부터 시작합시다.7개의 샘플뿐만 아니라 4개의 유전자 돌연변이가 주어진다면 결정을 위한 훈련 세트를 다음과 같이 생성할 수 있습니다.
샘플 | 변환 1 | 돌연변이 2 | 변환 3 | 돌연변이 4 |
---|---|---|---|---|
C1 | 1 | 1 | 1 | 0 |
C2 | 1 | 1 | 0 | 1 |
C3 | 1 | 0 | 1 | 1 |
C4 | 0 | 1 | 1 | 0 |
NC1 | 0 | 0 | 0 | 0 |
NC2 | 0 | 1 | 0 | 0 |
NC3 | 1 | 1 | 0 | 0 |
이 데이터 집합에서 1은 샘플에 변환(True)이 있음을 의미하며, 0은 샘플에 변환(False)이 없음을 의미합니다.C가 포함된 샘플은 암으로 확인되었음을 나타내며 NC는 비암임을 나타냅니다.이 데이터를 사용하여 각 노드의 후보 분할을 결정하기 위해 사용되는 정보 게인을 사용하여 Decision Tree를 생성할 수 있습니다.
다음 단계에서는 위의 간단한 결정 트리의 부모 노드 t에서의 엔트로피를 다음과 같이 계산한다.
H(t) = [pC,t2 log(pC,t) + pNC,t log2(pNC,t)][3]
어디에,
노드 t에서C,t 클래스 'C' 표본을 선택할 확률, p = n(t, C) / n(t),
노드 t에서NC,t 등급 'NC' 표본을 선택할 확률, p = n(t, NC) / n(t),
n(t), n(t, C), n(t, NC)은 노드 t에서 각각 'C' 시료와 'NC' 시료의 총수이다.
이를 트레이닝 세트 예시와 함께 사용하여 변환 1의 ( t) \ \{ { ( ) } 로 하는 정보 게인을 구하는 프로세스는 다음과 같습니다.
- pC, t = 4/7
- pNC, t = 3/7
- ( ) { \{ t )} = - ( 4 / 7 × log2 ( 4 / 7 ) + 3 / 7 × log2 ( 3 / 7 ) = 0 . 985
: (t) { \{ { ( ) } note 、루트의 모든 돌연변이가 동일합니다.
H \)}=의 비교적 높은 값은 루트 노드가 매우 불순물이며 루트 노드의 입력 성분은 위의 엔트로피 다이어그램에서 가장 왼쪽 그림과 비슷함을 나타냅니다.그러나 이러한 데이터 세트는 노드를 분할하는 데 사용되는 돌연변이의 속성을 학습하는 데 유용합니다.특정 노드에서 입력 구성요소의 동질성이 발생하면(위 엔트로피 다이어그램의 오른쪽 그림에서 보듯이), 데이터 집합은 더 이상 학습에 적합하지 않습니다.
다음으로 위의 결정 트리의 왼쪽 및 오른쪽 자식 노드의 엔트로피는 다음 공식을 사용하여 계산됩니다.
H(tL) = [pC,L2 log(pC,L) + pNC,L log2(pNC,L)][1]
H(tR) = [pC,R2 log(pC,R) + pNC,R log2(pNC,R)][1]
어디에,
왼쪽 자식 노드에서 클래스 'C' 표본을 선택할 확률, pC,L = n(tL, C) / n(tL),
왼쪽 자식 노드에서 클래스 'NC' 표본을 선택할 확률, pNC,L = n(tL, NC) / n(tL),
오른쪽 자식 노드에서 클래스 'C' 표본을 선택할 확률, pC,R = n(tR, C) / n(tR),
오른쪽 자식 노드에서 등급 'NC' 표본을 선택할 확률NC,R, p = n(tRR, NC) / n(t),
n(tL), n(tL, C) 및 nL(t, NC)은 각각 좌측 자노드의 'C' 샘플과 'NC' 샘플의 총수이다.
n(tR), n(tR, C) 및 nR(t, NC)은 우측 자노드에서 각각 'C' 시료와 'NC' 시료의 총수이다.
이들 식을 사용하여 변환1의 H(tL)와 H(tR)를 다음에 나타냅니다.
- H(tL) = -(3/4 × log2(3/4) + 1/4 × log2(1/4) = 0.811
- H(tR) = -(1/3 × log2(1/3) + 2/3 × log2(2/3) = 0.918
이어서 상기 결정 트리의 노드 t에서의 분할에 의한 자노드의 평균 엔트로피를 다음과 같이 계산한다.
H(s,t) = PHL(tL) + PHR(tR)
어디에,
왼쪽 아이의 표본 확률, PL = n(tL) / n(t),
오른쪽 아이에 대한 표본 확률, PR = n(tR) / n(t),
마지막으로 H(s,t)는 변환1의 P, P와R 함께L 다음과 같습니다.
- PL = 4/7
- PR = 3/7
- H(s, t) = (4/7 × 0.811) + (3/7 × 0.918) = 0.857
따라서 방정식 (i)의 정의에 따르면:
(정보 게인) = H(t) - H(s,t)
모든 스텝 후에 gain(s)은 다음과 같습니다.여기서 s는 예시의 후보 분할입니다.
- 게인 = 0.985 – 0.857 = 0.128
다른 세 가지 돌연변이와 함께 동일한 공식 세트를 사용하면 정보 획득에 따라 순위가 매겨진 후보 분할 표로 이어진다.
돌연변이 | 이득 |
---|---|
3 | 0.522 |
4 | 0.292 |
1 | 0.128 |
2 | 0.006 |
가장 유용한 정보를 제공하는 변환은 Decision Tree의 루트노드를 분할하기 위해 사용되는 변환3 입니다.루트를 분할하여 모든 샘플을 통과시키고 하위 노드에 추가할 수 있습니다.왼쪽에 분할을 설명하는 트리가 표시됩니다.
나무의 왼쪽 노드에 있는 샘플은 나무에 의해 암으로 분류되고 오른쪽 샘플은 암이 아닌 것으로 분류됩니다.이 트리는 만드는 데 사용된 표본(과잉 적합의 경우)을 분류하는 데 비교적 정확하지만 표본 C2는 여전히 잘못 분류합니다.이 문제를 해결하려면 트리를 하위 노드에서 다시 분할하여 더 정확한 작업을 수행할 수 있습니다.
올바른 노드를 분할하려면 이전 노드에서 사용되지 않았던 가능한 모든 후보 분할에 대해 정보 게인을 다시 계산해야 합니다.따라서 이번에는 돌연변이 1, 2, 4만 선택할 수 있습니다.
주의: () \ \{ { ( ) }이번에는 오른쪽 아이에 샘플이 4개밖에 없기 때문에 다릅니다.
- PC, t = 1/4
- PNC, t = 3/4
- ( ) { \ { ( ) } = - ( 1/4 × log2 ( 1 / 4 ) + 3/4 × log2 ( 3 / 4 ) = 0 . 811
이 H {H} {(에서 루트 노드와 동일한 공식을 사용하여 후보 분할을 계산할 수 있습니다.
돌연변이 | 이득 |
4 | 0.811 |
1 | 0.311 |
2 | 0.123 |
따라서 오른쪽 아이는 변환 4로 분할됩니다.돌연변이를 가진 모든 샘플은 왼쪽 아이에게 전달되고, 그렇지 않은 샘플은 오른쪽 아이에게 전달됩니다.
왼쪽 노드를 분할하려면 프로세스는 동일하지만 확인할 샘플은 3개뿐입니다.노드의 모든 검체가 암만 있거나 암이 아닌 순수한 집합인 경우 노드를 전혀 분할할 필요가 없을 수 있습니다.노드를 분할하면 트리가 더 부정확해질 수 있으며 이 경우 트리는 분할되지 않습니다.
트리를 구축하는 데 사용된 샘플이 테스트되면 트리의 정확도가 100%가 됩니다.그러나 트리가 데이터를 초과하기 때문에 이는 좋은 생각이 아닙니다.가장 좋은 방법은 원래 세트의 일부가 아닌 다른 샘플에서 트리를 테스트하는 것입니다.외부 샘플 2개는 다음과 같습니다.
샘플 | 변환 1 | 돌연변이 2 | 변환 3 | 돌연변이 4 |
---|---|---|---|---|
NC10 | 0 | 1 | 0 | 0 |
C15 | 1 | 1 | 0 | 0 |
트리에 따라 NC10은 올바르게 분류되었으나 C15는 NC로 분류되었다.다른 샘플의 경우 이 트리는 더 이상 100% 정확하지 않습니다.그러나 트리의 깊이를 높이거나 트레이닝 세트의 크기를 늘리는 등의 옵션을 사용하여 이를 개선할 수 있습니다.
이점
정보 게인은 노드 분할에 기능을 사용할지 여부를 결정하는 기본 기준입니다.최적의 분할을 가진 특징, 즉 Decision Tree의 노드에서 정보 게인의 값이 가장 높은 특징을 노드 분할의 특징으로 사용한다.
정보 게인 함수의 개념은 의사결정 트리를 생성하고 의사결정 트리 [1]노드를 위한 최적의 분할을 선택하기 위한 C4.5 알고리즘에 속한다.그 장점에는 다음과 같은 것이 있습니다.
- 연속형 변수와 이산형 변수를 모두 사용할 수 있습니다.
- 위와 같이 엔트로피 정의의 계수 -[p log log(p)]에 의해 인스턴스 수가 적은 리프 노드에는 가중치가 적게 할당되어 나머지 데이터를 더 크지만 균일한 그룹으로 분할하는 것을 선호합니다.따라서 트리의 깊이를 더 깊이 파고들수록 데이터 세트는 더욱 균질해집니다.이 접근방식은 보통 보다 안정적이며 [4]노드에 가장 영향을 미치는 기능을 선택합니다.
결점과 해결책
정보 게인은 일반적으로 속성의 관련성을 결정하는 데 좋은 척도가 되지만 완벽하지는 않습니다.정보 게인이 다수의 개별 값을 가질 수 있는 속성에 적용되면 중요한 문제가 발생합니다.예를 들어, 기업의 고객을 설명하는 일부 데이터에 대한 의사결정 트리를 구축하고 있다고 가정합니다.정보 게인은 종종 트리의 루트 근처에서 테스트할 수 있도록 어떤 속성이 가장 관련성이 높은지 결정하는 데 사용됩니다.입력 속성 중 하나는 고객의 멤버십 번호가 될 수 있습니다(고객이 비즈니스 멤버십 프로그램의 멤버인 경우).이 속성은 각 고객을 고유하게 식별하기 때문에 상호 정보가 높지만 Decision Tree에는 포함하지 않습니다.멤버십 번호에 근거해 고객을 어떻게 대할지를 결정하는 것은, 지금까지 본 적이 없는(과잉 적합) 고객에게 있어서 일반적인 것은 아닙니다.이 문제는 테스트 중인 샘플에 여러 개의 고유한 값을 가진 속성이 있는 경우에도 발생할 수 있습니다.이 경우, 이러한 각 속성의 정보 이득이, 구별되는 값이 없는 속성보다 훨씬 커집니다.
Ross Quinlan은 이 문제에 대응하기 위해 정보 게인 비율이 평균 [5]이상인 속성 중에서 정보 게인 비율이 가장 높은 속성을 선택할 것을 제안했다.이는 정보 값이 정보 [6]이득보다 높거나 같기 때문에 정보 가치가 매우 낮은 속성에는 부당한 이점을 주지 않으면서 많은 수의 구별된 값을 가진 속성을 고려하는 것에 대해 의사결정 트리를 편향시킨다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b c d Larose, Daniel T. (2014). Discovering Knowledge in Data: An Introduction to Data Mining. Hoboken, New Jersey: Wiley. pp. 174–179. ISBN 9780470908747.
- ^ a b Gopalan, Bhuvaneswari (2020-12-10). "What is Entropy and Information Gain? How are they used to construct decision trees?". Numpy Ninja. Retrieved 2021-11-28.
- ^ Jothikumar, R. (2018). "Predicting Life time of Heart Attack Patient using Improved C4.5 Classification Algorithm". Research Journal of Pharmacy and Technology. 11 (5): 1951–1956. doi:10.5958/0974-360X.2018.00362.1.
- ^ "machine learning - Why we use information gain over accuracy as splitting criterion in decision tree?". Data Science Stack Exchange. Retrieved 2021-12-09.
- ^ Quinlan, J. Ross (1986). "Induction of Decision Trees". Machine Learning. 1 (1): 81–106. doi:10.1007/BF00116251.
- ^ Milman, Oren (August 6, 2018). "What is the range of information gain ratio?". Stack Exchange. Retrieved 2018-10-09.
추가 정보
- Nowozin, Sebastion (2012-06-18). "Improved Information Gain Estimates for Decision Tree Induction". arXiv:1206.4620v1.
- Shouman, Mai (2011). "Using decision tree for diagnosing heart disease patients" (PDF). Proceedings of the Ninth Australasian Data Mining Conference. 121: 23–30.
- Mitchell, Tom M. (1997). Machine Learning. The Mc-Graw-Hill Companies, Inc. ISBN 978-0070428072.