SlideShare a Scribd company logo
Jeonghun Yoon
 계량 데이터 (metric data)
○ 어떤 사물 또는 개념을 양적으로(quantitatively) 표시한 데이터
○ 데이터를 좌표평면상으로 수치화 시킬 수 있다. ⇒ 단순한 계산으로 거리 측정 가능
ex) 점수(score), 매출액, 국내 총생산 등
 비계량 데이터 (non-metric data)
○ 어떤 사물 또는 개념을 질적으로(qualitatively) 구분한 데이터
○ 양(quantity)의 개념이 없다. ⇒ 단순한 계산으로 데이터간의 거리 측정 불가능
ex) 지역번호, 행정 구역, 혈액형 등
: 경북(054) 제주(064) 전북(063) ⇒ 전북이 제주도와 더 가깝나?
 양적 분류기(quantitative classifier)
○ 계량 데이터를 분류할 때 사용
○ 데이터가 𝑑차원 공간의 점들로 표시되고, 점들간의 거리 개념을 바탕으로 분류
① Bayesian classifier
② 𝑘 − 𝑁𝑁
③ MLP
④ SVM
 질적 분류기(qualitative classifier)
○ 비계량 데이터를 분류할 때 사용
○ 데이터를 특징 벡터 𝕩 = (𝑥1, … , 𝑥 𝑑)로 표현할 수 있다. 단, 𝑥𝑖는 비계량의 값을 갖는다.
○ 단순한 계산으로 데이터간의 거리 측정 불가능
① Decision tree
② String 인식기
Decision Tree
Think about 스무고개!
생물인가요?
식물인가요?
땅에 사나요?
바다에 사나요?
영리한가요?
Yes
No
No
Yes
Yes
돌고래!!
 결정 트리는 계층구조를 가진 트리를 이용하여 데이터를 분류하는 분류기이다.
 결정 트리는 스무고개와 유사한 원리를 사용한다.
○ 스무 고개는 사람(진행자)이 그 때마다 문제를 만들어낸다.
○ 결정 트리는 컴퓨터가 자동으로 질문을 생성해내야 한다.
 Question
○ 각 노드의 질문을 어떻게 만들 것인가?
○ 노드에서 몇 개의 가지로 나눌 것인가? (자식노드의 개수)
○ 언제 멈출 것인가?(leaf node)
○ leaf node를 어느 부류로 할당할(assign) 것인가?
 결정 트리의 동작 원리
○ 𝑋 ∈ ℝ 𝑑
: 분류하고자 하는 비계량(or 계량) 데이터의 집합
○ 샘플 𝕩 = 𝑥1, … , 𝑥 𝑑 ∈ X : 𝑥𝑖는 비계량 (or 계량) 값
①샘플 𝕩가 주어지면 루트 노드에서 출발하여 질문에 대한 답을 구하고, 그 결과에
따라 자식 노드로 이동한다.
②이 과정을 leaf 노드에 도달할 때까지 순환적으로(recursively) 반복한다.
③잎 노드에 도달하면 𝕩를 그 leaf 노드에 해당하는 분류로 분류하고 끝낸다.
Structure of decision tree
나이
수입 한국인
여성키
나이>26 나이<26
수입>400만원 수입<400만원 아니요
(0)
예
(1)
예
(1)
아니요
(0)
① internal node : attribute or feature
(속성 or 특징)
② leaf node : classification 결과
③ edge : assginment(or 조건)
분류기 학습
Q1. 각 노드의 질문을 어떻게 만들 것인가?
Q2. 노드에서 몇 개의 가지로 나눌 것인가? (자식노드의 개수)
Q3. 언제 멈출 것인가? (leaf node)
Q4. leaf node를 어느 부류로 할당할(assign) 것인가?
 학습에 사용할 샘플의 집합 : { 𝕩1, 𝑦1 , … , (𝕩 𝑛, 𝑦 𝑛)}
○ 𝕩𝑖 = 𝑥1, … , 𝑥 𝑑 ∈ ℝ 𝑑
① 𝑥𝑖는 비계량 값을 가지는 특징 or 계량 값을 가지는 특징
○ 𝑦𝑖 : sample 𝕩𝑖가 속한 부류(class)
○ 𝑋 𝑇 = {𝕩𝑖|𝕩𝑖 ∈ 𝑇 for 1 ≤ 𝑖 ≤ n}, 𝑋 = {𝕩1, … , 𝕩 𝑛},
※ 2번 질문에 대해서는 2개의 노드로 분기하는 상황으로 생각한다.
𝑇
𝑇𝑙𝑒𝑓𝑡 𝑇𝑟𝑖𝑔ℎ𝑡
൝
𝑋 𝑇 𝑙𝑒𝑓𝑡
∪ 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡
= 𝑋 𝑇
𝑋 𝑇 𝑙𝑒𝑓𝑡
∩ 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡
= ∅
𝒙𝒊 = 𝜶?
yes no
분기를 위한 질문
 질문 𝑥𝑖 = 𝛼?를 어떻게 만들 것인가? (어떤 질문을 선택할 것인가?)
○ 𝑥𝑖 : 특징 벡터 𝕩를 구성하는 𝑖번째 특징
○ 𝛼 : 𝑥𝑖가 가질 수 있는 값 중의 하나
ex) 𝑥𝑖가 혈액형이라면, 𝛼는 4개의 값을 가질 수 있다.
○ 𝕩 = (𝑥1, … , 𝑥 𝑑), 𝑥𝑖가 평균 𝑚개의 값을 갖는다면 𝑑𝑚개의 후보 질문이 생김
○ 후보의 개수가 지수적이지 않기 때문에 모든 후보를 평가하여 가장 좋은 것을 선택
(exhaustive search)
가장 좋은 것다는 것의 판단 기준은?
후보 질문을 평가하기 위한 기준 함수?
 노드 𝑇에 속하는 샘플 𝑋 𝑇에는 여러 부류에 속하는 샘플들이 혼재되어 있다.
 분기를 반복하면 결국 leaf node에 도달하게 될 것이고, leaf node에는 같은 부류
에 속하는 샘플들이 대부분이어야 한다.
 따라서 𝑋 𝑇의 분기의 결과인 𝑋 𝑇 𝑙𝑒𝑓𝑡와 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡
에는 각각 최대한 동질의 샘플이 담기
는 것이 좋다. 동질의 샘플은 같은 부류에 속하는 샘플이라는 것이다.
 동질성을 측정하는 기준 함수를 만들어, 𝑋 𝑇 𝑙𝑒𝑓𝑡와 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡
의 동질성을 가장 높여줄
수 있는 분기를 생성해 내는 질문을 선택한다.
𝑋 𝑇
𝑋 𝑇 𝑙𝑒𝑓𝑡
𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡
동질성은 어떻게 측정할 수 있나?
 impurity(불순도)
○ 동질성을 측정하는 기준.
○ 같은 부류에 속하는 샘플이 많을수록 불순도는 낮고, 다른 부류에 속하는 샘플이 많이
섞여 있으면 불순도는 높다.
① 불순도가 낮으면, 특정 부류에 속한다고 예측하기가 쉽다.
② 불순도가 높으면, 특정 부류에 속한다고 예측하기가 어렵다.
○ 불순도를 정의하는 방법
① Entropy
② Gini impurity (지니 불순도)
③ misclassification impurity (오분류 불순도)
Go to appendix 1
 노드 분기를 위한 entropy의 정의
○ 𝑦𝑖 : 𝑀개의 부류 중 𝑖번째 부류
○ 랜덤 변수 : 노드 𝑇의 샘플이 특정 부류에 속하는 사건
○ 𝑃(𝑦𝑖|𝑇) : 노드 𝑇의 샘플이 𝑦𝑖에 속하는 확률 (노드 𝑇에서 𝑦𝑖가 발생할 확률)
𝒊𝒎 𝑻 = − ෍
𝒊=𝟏
𝑴
𝑷 𝒚𝒊 𝑻 𝐥𝐨𝐠 𝟐 𝑷(𝒚𝒊|𝑻)
○ 엔트로피는 𝑀개의 부류가 같은 확률을 가질 때 가장 큰 값을 가짐
①같은 확률을 가진다는 의미는, 한 노드에 다른 부류에 속한 샘플들이 같은 빈도
로 나타나는 것을 의미한다.
②특정 샘플이 어떤 부류에 속하는지 예측하기 어렵다. ⇒ 불순도가 높다.
 Gini impurity (지니 불순도)
𝑖𝑚 𝑇 = 1 − ෍
𝑖=1
𝑀
𝑃 𝑦𝑖 𝑇 2 = ෍
𝑖≠𝑗
𝑃 𝑦𝑖 𝑇 𝑃(𝑦𝑗|𝑇)
 Misclassification impurity (오분류 불순도)
𝑖𝑚 𝑇 = 1 − max
𝑖
𝑃(𝑦𝑖|𝑇)
 𝑃(𝑦𝑖|𝑇)
𝑃 𝑦𝑖 𝑇 =
𝑋 𝑇에서 𝑦𝑖에 속한 샘플의 수
|𝑋 𝑇|
Example)
○ 노드 𝑇의 샘플 집합 𝑋 𝑇 =
{ 𝕩1, 𝑦2 , 𝕩2, 𝑦1 , 𝕩3, 𝑦3 , 𝕩4, 𝑦2 , 𝕩5, 𝑦2 , 𝕩6, 𝑦2 , 𝕩7, 𝑦1 , 𝕩8, 𝑦3 , 𝕩9, 𝑦1 }
○ 𝑃 𝑦1 𝑇 =
1
3
, 𝑃 𝑦2 𝑇 =
4
9
, 𝑃 𝑦3 𝑇 =
2
9
○ 엔트로피 불순도
𝑖𝑚 𝑇 = − ෍
𝑖=1
9
𝑃 𝑦𝑖 𝑇 log 𝑃 𝑦𝑖 𝑇 = −
1
3
log2
1
3
+
4
9
log2
4
9
+
2
9
log2
2
9
= 1.5305
○ 지니 불순도
𝑖𝑚 𝑇 = 1 − ෍
𝑖=1
9
𝑃 𝑦𝑖 𝑇 2
= 1 −
1
32
+
42
92
+
22
92
= 0.642
○ 오분류 불순도
𝑖𝑚 𝑇 = 1 −
4
9
= 0.556
동질성을 높여주는 분기는 어떻게 찾나?
 불순도를 기준으로 노드 분기를 위한 질문을 고르는데 사용할 기준 함수를 생성
○ 불순도는 하나의 노드를 대상으로 측정
○ 기준 : 분기 결과로 만들어지는 새로운 샘플 집합 𝑋 𝑇 𝑙𝑒𝑓𝑡
와 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡
는 가급적 불순도가 낮
아야 함
○ 분기 전후의 불순도의 차이가 클수록 좋다.
 불순도 감소량 : ∆ 𝑖𝑚(𝑇)
○ 𝑋 𝑇에서의 불순도와, 분기로 인하여 생성된 𝑋 𝑇 𝑙𝑒𝑓𝑡
, 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡
에서의 불순도의 차이를 비교
∆𝒊𝒎 𝑻 = 𝒊𝒎 𝑻 −
𝑿 𝑻𝒍𝒆𝒇𝒕
𝑿 𝑻
𝒊𝒎 𝑻𝒍𝒆𝒇𝒕 −
𝑿 𝑻 𝒓𝒊𝒈𝒉𝒕
𝑿 𝑻
𝒊𝒎(𝑻 𝒓𝒊𝒈𝒉𝒕)
○ 투잉 기법
∆𝑖𝑚 𝑇 =
𝑋 𝑇 𝑙𝑒𝑓𝑡
𝑋 𝑇
𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡
𝑋 𝑇
෍
𝑖=1
𝑀
𝑃 𝑦𝑖 𝑇𝑙𝑒𝑓𝑡 − 𝑃 𝑦𝑖 𝑇𝑟𝑖𝑔ℎ𝑡
2
 노드 분기를 위한 질문의 선택
○ 가능한 모든 후보 질문을 생성
○ 모든 후보 질문에 대하여
① 노드를 분기한 후, 노드 분기에 의한 불순도 감소량 ∆𝑖𝑚(𝑇)을 측정
② 불순도 감소량이 최대인 후보 질문을 선택
𝑷(𝒚𝒊|𝑻𝒍𝒆𝒇𝒕)와 𝑷(𝒚𝒊|𝑻 𝒓𝒊𝒈𝒉𝒕)의 차이↑ → 𝒚𝒊가 한 노드로 집중되어 분류 → 분기가 잘 됨 → ∆𝒊𝒎 𝑻 ↑
Example )
○ 샘플은 3개의 특징으로 표현. 2개는 비계량, 1개는 실수로 표현되는 계량 데이터
○ 특징 𝑥1 - 직업 : 디자이너(1), 스포츠맨(2), 교수(3), 의사(4), 공무원(5), NGO(6), 무직(7)
○ 특징 𝑥2 - 선호 품목 : 의류(1), 전자 제품(2), 스포츠 용품(3), 책(4), 음식(5)
○ 특징 𝑥3 - 몸무게 : 실수
○ 𝑋 𝑇 =
{ 𝕩1 = 3,1,50.6 , 𝑦2 , (𝕩2 = 2,3,72.8 , 𝑦1), (𝕩3 = 3,5,88.7 , 𝑦3),
𝕩4 = 2,2,102.2 , 𝑦2 , (𝕩5 = 5,5,92.3 , 𝑦2), (𝕩6 = 3,4,65.3 , 𝑦2),
𝕩7 = 2,3,67.8 , 𝑦1 , (𝕩8 = 7,1,47.8 , 𝑦3), (𝕩9 = 2,3,45.6 , 𝑦1)}
○ 분기를 위한 질문
① 𝑥1에 의한 후보 질문 : 𝑥1 = 1(디자이너)? ,…, 𝑥1 = 7(무직)? - 7개의 후보질문
② 𝑥2에 의한 후보 질문 : 𝑥2 = 1(의류)? ,…, 𝑥2 = 5(음식)? - 5개의 후보질문
③ 𝑥3에 의한 후보 질문 : 𝑥3 < 46.7? ,…, 𝑥3 < 97.25 – 8개의 후보질문
– 실수의 경우는 인접한 두 값의 가운데 값을 사용하여 𝑥3 < 𝛼의 형태로 질문 생성
𝑋 𝑇
𝑋 𝑇 𝑙𝑒𝑓𝑡
𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡
𝑥2 = 3?
(선호 품목 = 스포츠 용품?)
질문 𝑥2 = 3?을 사용하여 분기했을 때의 불순도 감소량을 구해보자.
𝑋 𝑇 =
{ 𝕩1, 𝑦2 , 𝕩2, 𝑦1 , 𝕩3, 𝑦3 ,
𝕩4, 𝑦2 , 𝕩5, 𝑦2 , 𝕩6, 𝑦2 ,
𝕩7, 𝑦1 , 𝕩8, 𝑦3 , 𝕩9, 𝑦1 }
𝑋 𝑇 𝑙𝑒𝑓𝑡
=
{ 𝕩2, 𝑦1 , 𝕩7, 𝑦1 𝕩9, 𝑦1 }
𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡
=
{ 𝕩1, 𝑦2 , 𝕩3, 𝑦3 , 𝕩4, 𝑦2 ,
𝕩5, 𝑦2 , 𝕩6, 𝑦2 , 𝕩8, 𝑦3 }
yes no
불순도 감소량(지니 불순도 사용) : ∆𝑖𝑚 𝑇 = 0.642 −
3
9
× 0 −
6
9
× 0.444 = 0.346
투잉 불순도 감소량 : ∆𝑖𝑚 𝑇 =
3
9
6
9
1 − 0 + 0 −
4
6
+ 0 −
2
6
2
= 0.889
실제 학습 과정에서는 20개 모두에 대해 계산한 후에 가장 큰 값을 갖는
질문을 선택하여 노드 𝑇에 할당하면 된다.
Q1. 각 노드의 질문을 어떻게 만들 것인가?
Q2. 노드에서 몇 개의 가지로 나눌 것인가? (자식노드의 개수)
Q3. 언제 멈출 것인가? (leaf node)
Q4. leaf node를 어느 부류로 할당할(assign) 것인가?
 특징 벡터의 특징 값 1개를 이용하여 2개의 자식 노드로 분기할 수 있다.
 특징 벡터의 특징 1개를 이용하여, 해당 특징이 가지는 값의 수만큼의 자식 노드
로 분기할 수 있다.
○ 𝕩 = (𝑥1, … , 𝑥 𝑑)
①특징 𝑥1이 가질 수 있는 모든 값을 기준으로 샘플을 분기하고 불순도 감소량을
측정한다.
② ….
③특징 𝑥 𝑑가 가질 수 있는 모든 값을 기준으로 샘플을 분기하고 불순도 감소량을
측정한다.
④그 중 불순도 감소량이 최대인 특징을 노드 분기 질문으로 선택한다.
𝑋 𝑇
𝑋 𝑇1
𝑋 𝑇4
분기를 위한 feature : 𝑗
𝑥𝑗 = 𝛼, 𝛽, 𝛾, 𝛿
𝑋 𝑇3
𝑋 𝑇2
𝑥𝑗 = 𝛼 𝑥𝑗 = 𝛽 𝑥𝑗 = 𝛾 𝑥𝑗 = 𝛿
Q1. 각 노드의 질문을 어떻게 만들 것인가?
Q2. 노드에서 몇 개의 가지로 나눌 것인가? (자식노드의 개수)
Q3. 언제 멈출 것인가? (leaf node)
Q4. leaf node를 어느 부류로 할당할(assign) 것인가?
 불순도(impurity)가 0이다.
○ 과적합 (overfitting) 발생
 𝑋 𝑇의 샘플 개수가 임계값 이하이다.
○ 임계값을 너무 크게 하면, 설익은 수렴에(premature convergence) 도달할 수 있다.
 불순도 감소량이 최소인 분기 질문에 대한 불순도 감소량이 임계값 이하이다.
Q1. 각 노드의 질문을 어떻게 만들 것인가?
Q2. 노드에서 몇 개의 가지로 나눌 것인가? (자식노드의 개수)
Q3. 언제 멈출 것인가? (leaf node)
Q4. leaf node를 어느 부류로 할당할(assign) 것인가?
If 𝑘 = arg max
𝑖
𝑃(𝑦𝑖|𝑇)
𝑇의 부류를 𝑦 𝑘로 한다.
leaf node가 발생했을 때, leaf node에 부류를 할당한다.
할당 조건은 다음과 같다.
 샘플에 손실 특징이 있을 경우
○ 𝕩 = (𝑥1, . . , ? , … , 𝑥 𝑑) : 정보가 빠져 있는 경우
○ 어떻게 다룰 수 있을까?
① 샘플을 무시하는 것
② 대리 분기(surrogate split)를 사용
 대리 분기(surrotage split)
○ 노드 𝑇가 𝑥𝑖 = 𝛼? 라는 질문으로 분기를 하고 𝑋 𝑇가 𝑋 𝑇 𝑙𝑒𝑓𝑡
와 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡 나뉜다고 하자. 이
노드에 𝑥𝑗 = 𝛽?라는 또 다른 분기를 추가해 놓은것을 대리 분기라고 한다.
○ 노드 𝑇에서 분기할 샘플이 𝑥𝑖라는 특징을 손실했다면 대리 분기를 이용하여 분기한다.
○ 𝑥𝑖 = 𝛼?는 주 분기(primary split)이다.
○ 대리 분기가 𝑋 𝑇를 ෣𝑋 𝑇 𝑙𝑒𝑓𝑡
와 ෣𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡
로 나눈다면, ෣𝑋 𝑇 𝑙𝑒𝑓𝑡
와 ෣𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡
과 𝑋 𝑇 𝑙𝑒𝑓𝑡
와 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡는 가
능한 한 비슷해야 한다.
① 대리 분기를 선택할 때는, 주 분기를 잘 설명해 줄 수 있는 분기로 선택
– 특징 𝑥1 - 직업 : 디자이너(1), 스포츠맨(2), 교수(3), 의사(4), 공무원(5), NGO(6), 무직(7)
– 특징 𝑥2 - 선호 품목 : 의류(1), 전자 제품(2), 스포츠 용품(3), 책(4), 음식(5)
○ 결정 트리 학습 과정에서 손실이 발생할 가능성이 있는 특징을 미리 예측하고 그런 특
징을 사용하는 분기에 대해서 대리 분기를 생성해야 한다.
 굉장히 직관적인 분류기 (One of the most intutive classifiers)
 이해하기 쉽고, 만들기 쉬움 (Easy to understand and construct)
 잘 작동함 (Surprisingly, also work very well)
 패턴인식 - 오일석
 머신러닝 인 액션 - 피터 해링턴
 The Elements of Statistical Learning - Trevor Hastie, Robert Tibshirani, Jerome
Friedman
Information Theory
상황 1)
오늘 하루 종일 맑다. 뉴스에서 "내일은 맑다"라는 일기 예보를 듣는다.
상황 2)
오늘 하루 종일 맑다. 뉴스에서 "내일은 큰 비가 온다"라는 일기 예보를 듣는다.
두 가지 상황을 비교해보자. 어느 상황에서 더 많은 정보를 얻었을까?
Information Theory(정보 이론)는 주어진 상황에서 우리가 얻을 수 있는
정보량을 수치화해주는 기능을 제공한다.
상황 정보량
수치화(확률)
상황 1)
오늘 하루 종일 맑다. 뉴스에서 "내일은 맑다"라는 일기 예보를 듣는다.
⇒ 직관적으로, 오늘 날씨가 맑기 때문에 내일의 날씨도 맑을 확률이 높다.
이 상황에서 얻을 수 있는 정보(놀라운 정도)는 적다고 볼 수 있다.
상황 2)
오늘 하루 종일 맑다. 뉴스에서 "내일은 큰 비가 온다"라는 일기 예보를 듣는다.
⇒ 직관적으로, 오늘 날씨가 맑기 때문에 내일 비가 올 확률은 상황 1에 비해
상대적으로 낮다. 이 상황에서 얻을 수 있는 정보(놀라운 정도)는 상황 1에
비해 상대적으로 높다.
Information Theory
Information Theory
간단한 예이지만,
어떤 사건의 확률과 그것이 전달하는 정보량은 반비례 관계임을 알 수 있다.
정보량은 "놀라운 정도"라고 할 수 있다.
일반적으로 확률이 낮은 사건일수록 더욱 놀랍고 정보량은 크다.
이 관계는 정보 이론(Information Theory)이 토대로 삼는 가장 중요한 원리
정보량을 어떻게 수치화 할 수 있을까? 𝑝 내일 = 큰비 오늘 = 맑음)
𝑝 내일 = 맑음 오늘 = 맑음)
 𝑥 : random variable(랜덤 변수)
○ 확률 변수는 샘플공간(발생 가능한 이벤트, 사건) 에서 실수로의 함수이다.
ex1) input : 주사위를 던졌을 때 3의 눈이 나오는 사건, output : 3
ex2) input : 동전을 던졌을 때 앞면이 나오는 사건, output : 1(T)
 𝑝(𝑥) : 𝑥가 특정한 값을 가질 때, 랜덤 변수 𝑥의 확률
 ℎ(𝑥) : 𝑥의 자기 정보량(self-information)
𝒉 𝒙 = − 𝐥𝐨𝐠 𝟐 𝒑(𝒙)
정보량
𝒉 𝒙 = − 𝐥𝐨𝐠 𝟐 𝒑(𝒙)
 ℎ(𝑥)의 단위는 bit이다. 밑이 𝑒인 자연로그를 사용한다면 단위는 nat가 된다.
 랜덤 변수 𝑥가 𝑎의 값을 갖는다고 가정하고, 𝑝 𝑎 =
1
1024
라고 하자. 즉 1024번에
한 번 정도 발생하는 사건이다. 이 때 𝑎의 정보량은 10bits가 된다. 𝑝 𝑎 = 1이라
고 하자. 𝑎의 정보량은 0bit이다.
정보량
𝑝(𝑥)
ℎ(𝑥)
 엔트로피(entropy)
○ 랜덤 변수 𝑥가 가질 수 모든 값(사건)에 대한 정보량(자기 정보량)의 평균
𝑯 𝒙 = − ෍
𝒙
𝒑 𝒙 𝐥𝐨𝐠 𝟐 𝒑 𝒙
𝑯 𝒙 = − න
−∞
∞
𝒑 𝒙 𝐥𝐨𝐠 𝟐 𝒑 𝒙 𝒅𝒙
○ 위의 경우는 𝑥가 discrete 값을 가지는 경우이고, 아래의 경우는 연속적인 값을 갖는
경우이다.
○ 즉, 랜덤 변수 𝑥의 엔트로피를 통하여 𝑥에서 얻을 수 있는 정보를 계산할 수 있다.
① 엔트로피↑ → 정보량↑ → 발생 가능성↓ → 혼란도, 불순함↑
② 엔트로피↓ → 정보량↓ → 발생 가능성↑ → 혼란도, 불순함↓
엔트로피(entropy)
※ 랜덤 변수 𝑥의 함수 ℎ(𝑥)의 평균 : σ 𝑥 ℎ 𝑥 𝑝(𝑥)
Example)
○ 랜덤 변수 𝑥 : 주사위를 던지는 사건에서 나올 수 있는 값
① 랜덤 변수 𝑥가 가질 수 있는 값 : 1, 2, 3, 4, 5, 6
– 𝑝 𝑥 = 1 = 𝑝 1 = ⋯ = 𝑝 𝑥 = 6 = 𝑝 6 =
1
6
» 𝐻 𝑥 = − σ𝑖=1
6
𝑝 𝑥 log2 𝑝 𝑥 = −6 ×
1
6
log2
1
6
= 2.585bit
– 𝑝 𝑥 = 1 = 𝑝 1 =
5
6
, 𝑝 𝑥 = 2 = 𝑝 2 = ⋯ = 𝑝 𝑥 = 6 = 𝑝 6 =
1
30
» 𝐻 𝑥 = − σ𝑖=1
6
𝑝 𝑥 log2 𝑝 𝑥 = −
5
6
log2
5
6
− 5 ×
1
30
log2
1
30
=0.225bit
○ 모든 사건이 같은 확률을 가질 때 엔트로피는 최대가 된다. 무질서 정도(불순도)가 최대
가 된다. 즉, 불확실성(uncertainty)이 최대이다.
①여섯개의 사건이 모두 같은 가능성을 가지므로 어떤 눈이 나올 지 가늠하기 매우
어렵다.
○ 한 사건이 1의 확률을 가지고, 나머지 사건이 0의 확률을 가지면 엔트로피는 0이다.
①어떤 눈이 나올 지 가늠하기 매우 쉽다.
엔트로피(entropy)
Back

More Related Content

What's hot

Xgboost
XgboostXgboost
Machine learning basics using trees algorithm (Random forest, Gradient Boosting)
Machine learning basics using trees algorithm (Random forest, Gradient Boosting)Machine learning basics using trees algorithm (Random forest, Gradient Boosting)
Machine learning basics using trees algorithm (Random forest, Gradient Boosting)
Parth Khare
 
XGBoost @ Fyber
XGBoost @ FyberXGBoost @ Fyber
XGBoost @ Fyber
Daniel Hen
 
딥러닝 자연어처리 - RNN에서 BERT까지
딥러닝 자연어처리 - RNN에서 BERT까지딥러닝 자연어처리 - RNN에서 BERT까지
딥러닝 자연어처리 - RNN에서 BERT까지
deepseaswjh
 
Feature Engineering
Feature EngineeringFeature Engineering
Feature Engineering
Sri Ambati
 
Introduction to NumPy for Machine Learning Programmers
Introduction to NumPy for Machine Learning ProgrammersIntroduction to NumPy for Machine Learning Programmers
Introduction to NumPy for Machine Learning Programmers
Kimikazu Kato
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해
Hee Won Park
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 5장. 서포트 벡터 머신
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 5장. 서포트 벡터 머신[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 5장. 서포트 벡터 머신
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 5장. 서포트 벡터 머신
Haesun Park
 
【DL輪読会】SUMO: Unbiased Estimation of Log Marginal Probability for Latent Varia...
【DL輪読会】SUMO: Unbiased Estimation of Log Marginal Probability for Latent Varia...【DL輪読会】SUMO: Unbiased Estimation of Log Marginal Probability for Latent Varia...
【DL輪読会】SUMO: Unbiased Estimation of Log Marginal Probability for Latent Varia...
Deep Learning JP
 
Feature Engineering for ML - Dmitry Larko, H2O.ai
Feature Engineering for ML - Dmitry Larko, H2O.aiFeature Engineering for ML - Dmitry Larko, H2O.ai
Feature Engineering for ML - Dmitry Larko, H2O.ai
Sri Ambati
 
XGBoost: the algorithm that wins every competition
XGBoost: the algorithm that wins every competitionXGBoost: the algorithm that wins every competition
XGBoost: the algorithm that wins every competition
Jaroslaw Szymczak
 
[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기
NAVER D2
 
Demystifying Xgboost
Demystifying XgboostDemystifying Xgboost
Demystifying Xgboost
halifaxchester
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
Haesun Park
 
SVM
SVMSVM
알파고 해부하기 1부
알파고 해부하기 1부알파고 해부하기 1부
알파고 해부하기 1부
Donghun Lee
 
Bag the model with bagging
Bag the model with baggingBag the model with bagging
Bag the model with bagging
Chode Amarnath
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木 Miyoshi Yuya
 
Text summarization
Text summarizationText summarization
Text summarization
Sang-Houn Choi
 
Classification Based Machine Learning Algorithms
Classification Based Machine Learning AlgorithmsClassification Based Machine Learning Algorithms
Classification Based Machine Learning Algorithms
Md. Main Uddin Rony
 

What's hot (20)

Xgboost
XgboostXgboost
Xgboost
 
Machine learning basics using trees algorithm (Random forest, Gradient Boosting)
Machine learning basics using trees algorithm (Random forest, Gradient Boosting)Machine learning basics using trees algorithm (Random forest, Gradient Boosting)
Machine learning basics using trees algorithm (Random forest, Gradient Boosting)
 
XGBoost @ Fyber
XGBoost @ FyberXGBoost @ Fyber
XGBoost @ Fyber
 
딥러닝 자연어처리 - RNN에서 BERT까지
딥러닝 자연어처리 - RNN에서 BERT까지딥러닝 자연어처리 - RNN에서 BERT까지
딥러닝 자연어처리 - RNN에서 BERT까지
 
Feature Engineering
Feature EngineeringFeature Engineering
Feature Engineering
 
Introduction to NumPy for Machine Learning Programmers
Introduction to NumPy for Machine Learning ProgrammersIntroduction to NumPy for Machine Learning Programmers
Introduction to NumPy for Machine Learning Programmers
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 5장. 서포트 벡터 머신
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 5장. 서포트 벡터 머신[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 5장. 서포트 벡터 머신
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 5장. 서포트 벡터 머신
 
【DL輪読会】SUMO: Unbiased Estimation of Log Marginal Probability for Latent Varia...
【DL輪読会】SUMO: Unbiased Estimation of Log Marginal Probability for Latent Varia...【DL輪読会】SUMO: Unbiased Estimation of Log Marginal Probability for Latent Varia...
【DL輪読会】SUMO: Unbiased Estimation of Log Marginal Probability for Latent Varia...
 
Feature Engineering for ML - Dmitry Larko, H2O.ai
Feature Engineering for ML - Dmitry Larko, H2O.aiFeature Engineering for ML - Dmitry Larko, H2O.ai
Feature Engineering for ML - Dmitry Larko, H2O.ai
 
XGBoost: the algorithm that wins every competition
XGBoost: the algorithm that wins every competitionXGBoost: the algorithm that wins every competition
XGBoost: the algorithm that wins every competition
 
[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기
 
Demystifying Xgboost
Demystifying XgboostDemystifying Xgboost
Demystifying Xgboost
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
 
SVM
SVMSVM
SVM
 
알파고 해부하기 1부
알파고 해부하기 1부알파고 해부하기 1부
알파고 해부하기 1부
 
Bag the model with bagging
Bag the model with baggingBag the model with bagging
Bag the model with bagging
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木
 
Text summarization
Text summarizationText summarization
Text summarization
 
Classification Based Machine Learning Algorithms
Classification Based Machine Learning AlgorithmsClassification Based Machine Learning Algorithms
Classification Based Machine Learning Algorithms
 

Similar to Decision tree

05. k means clustering ( k-means 클러스터링)
05. k means clustering ( k-means 클러스터링)05. k means clustering ( k-means 클러스터링)
05. k means clustering ( k-means 클러스터링)
Jeonghun Yoon
 
Deep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningDeep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learning
JinSooKim80
 
Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)
Jeonghun Yoon
 
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
용진 조
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks I
Sang Jun Lee
 
Association rule mining
Association rule miningAssociation rule mining
Association rule mining
Jeonghun Yoon
 
03. linear regression
03. linear regression03. linear regression
03. linear regression
Jeonghun Yoon
 
Probability with MLE, MAP
Probability with MLE, MAPProbability with MLE, MAP
Probability with MLE, MAP
Junho Lee
 
Crash Course on Graphical models
Crash Course on Graphical modelsCrash Course on Graphical models
Crash Course on Graphical models
Jong Wook Kim
 
Multinomial classification and application of ML
Multinomial classification and application of MLMultinomial classification and application of ML
Multinomial classification and application of ML
희수 박
 
Deep Learning from scratch 5장 : backpropagation
 Deep Learning from scratch 5장 : backpropagation Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagation
JinSooKim80
 
연구학교 데이터분석
연구학교 데이터분석 연구학교 데이터분석
연구학교 데이터분석
성훈 김
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
Jinwon Lee
 
머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)
홍배 김
 
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
JungHyun Hong
 
Vector Optimization
Vector Optimization Vector Optimization
Vector Optimization
SEMINARGROOT
 
세미나
세미나세미나
세미나
Dongyi Kim
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regression
Haesun Park
 

Similar to Decision tree (20)

05. k means clustering ( k-means 클러스터링)
05. k means clustering ( k-means 클러스터링)05. k means clustering ( k-means 클러스터링)
05. k means clustering ( k-means 클러스터링)
 
Deep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningDeep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learning
 
Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)
 
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks I
 
Association rule mining
Association rule miningAssociation rule mining
Association rule mining
 
03. linear regression
03. linear regression03. linear regression
03. linear regression
 
Probability with MLE, MAP
Probability with MLE, MAPProbability with MLE, MAP
Probability with MLE, MAP
 
Crash Course on Graphical models
Crash Course on Graphical modelsCrash Course on Graphical models
Crash Course on Graphical models
 
Hfs-ch3
Hfs-ch3Hfs-ch3
Hfs-ch3
 
Multinomial classification and application of ML
Multinomial classification and application of MLMultinomial classification and application of ML
Multinomial classification and application of ML
 
Deep Learning from scratch 5장 : backpropagation
 Deep Learning from scratch 5장 : backpropagation Deep Learning from scratch 5장 : backpropagation
Deep Learning from scratch 5장 : backpropagation
 
연구학교 데이터분석
연구학교 데이터분석 연구학교 데이터분석
연구학교 데이터분석
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
 
머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)
 
Hfs ch11
Hfs ch11Hfs ch11
Hfs ch11
 
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
 
Vector Optimization
Vector Optimization Vector Optimization
Vector Optimization
 
세미나
세미나세미나
세미나
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regression
 

More from Jeonghun Yoon

Topic models
Topic modelsTopic models
Topic models
Jeonghun Yoon
 
0314 2 correlation
0314 2 correlation0314 2 correlation
0314 2 correlation
Jeonghun Yoon
 
0314 1 anova
0314 1 anova0314 1 anova
0314 1 anova
Jeonghun Yoon
 
0307 2 hypothesis_testing
0307 2 hypothesis_testing0307 2 hypothesis_testing
0307 2 hypothesis_testing
Jeonghun Yoon
 
0307 1 estimation_theory
0307 1 estimation_theory0307 1 estimation_theory
0307 1 estimation_theory
Jeonghun Yoon
 
0228 2 sample_distribution
0228 2 sample_distribution0228 2 sample_distribution
0228 2 sample_distribution
Jeonghun Yoon
 
0221 basic probability theory
0221 basic probability theory0221 basic probability theory
0221 basic probability theory
Jeonghun Yoon
 
0207 1 gradient
0207 1 gradient0207 1 gradient
0207 1 gradient
Jeonghun Yoon
 
0131 2 spectral_theorem_eigenvalue
0131 2 spectral_theorem_eigenvalue0131 2 spectral_theorem_eigenvalue
0131 2 spectral_theorem_eigenvalue
Jeonghun Yoon
 
0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation
Jeonghun Yoon
 
0124 2 linear_algebra_basic_matrix
0124 2 linear_algebra_basic_matrix0124 2 linear_algebra_basic_matrix
0124 2 linear_algebra_basic_matrix
Jeonghun Yoon
 
0124 1 linear_algebra_basic_vector
0124 1 linear_algebra_basic_vector0124 1 linear_algebra_basic_vector
0124 1 linear_algebra_basic_vector
Jeonghun Yoon
 
08. spectal clustering
08. spectal clustering08. spectal clustering
08. spectal clustering
Jeonghun Yoon
 
06. graph mining
06. graph mining06. graph mining
06. graph mining
Jeonghun Yoon
 
04. logistic regression ( 로지스틱 회귀 )
04. logistic regression ( 로지스틱 회귀 )04. logistic regression ( 로지스틱 회귀 )
04. logistic regression ( 로지스틱 회귀 )
Jeonghun Yoon
 
02. naive bayes classifier revision
02. naive bayes classifier   revision02. naive bayes classifier   revision
02. naive bayes classifier revision
Jeonghun Yoon
 
01. introduction
01. introduction01. introduction
01. introduction
Jeonghun Yoon
 

More from Jeonghun Yoon (17)

Topic models
Topic modelsTopic models
Topic models
 
0314 2 correlation
0314 2 correlation0314 2 correlation
0314 2 correlation
 
0314 1 anova
0314 1 anova0314 1 anova
0314 1 anova
 
0307 2 hypothesis_testing
0307 2 hypothesis_testing0307 2 hypothesis_testing
0307 2 hypothesis_testing
 
0307 1 estimation_theory
0307 1 estimation_theory0307 1 estimation_theory
0307 1 estimation_theory
 
0228 2 sample_distribution
0228 2 sample_distribution0228 2 sample_distribution
0228 2 sample_distribution
 
0221 basic probability theory
0221 basic probability theory0221 basic probability theory
0221 basic probability theory
 
0207 1 gradient
0207 1 gradient0207 1 gradient
0207 1 gradient
 
0131 2 spectral_theorem_eigenvalue
0131 2 spectral_theorem_eigenvalue0131 2 spectral_theorem_eigenvalue
0131 2 spectral_theorem_eigenvalue
 
0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation
 
0124 2 linear_algebra_basic_matrix
0124 2 linear_algebra_basic_matrix0124 2 linear_algebra_basic_matrix
0124 2 linear_algebra_basic_matrix
 
0124 1 linear_algebra_basic_vector
0124 1 linear_algebra_basic_vector0124 1 linear_algebra_basic_vector
0124 1 linear_algebra_basic_vector
 
08. spectal clustering
08. spectal clustering08. spectal clustering
08. spectal clustering
 
06. graph mining
06. graph mining06. graph mining
06. graph mining
 
04. logistic regression ( 로지스틱 회귀 )
04. logistic regression ( 로지스틱 회귀 )04. logistic regression ( 로지스틱 회귀 )
04. logistic regression ( 로지스틱 회귀 )
 
02. naive bayes classifier revision
02. naive bayes classifier   revision02. naive bayes classifier   revision
02. naive bayes classifier revision
 
01. introduction
01. introduction01. introduction
01. introduction
 

Decision tree

  • 2.  계량 데이터 (metric data) ○ 어떤 사물 또는 개념을 양적으로(quantitatively) 표시한 데이터 ○ 데이터를 좌표평면상으로 수치화 시킬 수 있다. ⇒ 단순한 계산으로 거리 측정 가능 ex) 점수(score), 매출액, 국내 총생산 등  비계량 데이터 (non-metric data) ○ 어떤 사물 또는 개념을 질적으로(qualitatively) 구분한 데이터 ○ 양(quantity)의 개념이 없다. ⇒ 단순한 계산으로 데이터간의 거리 측정 불가능 ex) 지역번호, 행정 구역, 혈액형 등 : 경북(054) 제주(064) 전북(063) ⇒ 전북이 제주도와 더 가깝나?
  • 3.  양적 분류기(quantitative classifier) ○ 계량 데이터를 분류할 때 사용 ○ 데이터가 𝑑차원 공간의 점들로 표시되고, 점들간의 거리 개념을 바탕으로 분류 ① Bayesian classifier ② 𝑘 − 𝑁𝑁 ③ MLP ④ SVM  질적 분류기(qualitative classifier) ○ 비계량 데이터를 분류할 때 사용 ○ 데이터를 특징 벡터 𝕩 = (𝑥1, … , 𝑥 𝑑)로 표현할 수 있다. 단, 𝑥𝑖는 비계량의 값을 갖는다. ○ 단순한 계산으로 데이터간의 거리 측정 불가능 ① Decision tree ② String 인식기
  • 5. Think about 스무고개! 생물인가요? 식물인가요? 땅에 사나요? 바다에 사나요? 영리한가요? Yes No No Yes Yes 돌고래!!
  • 6.  결정 트리는 계층구조를 가진 트리를 이용하여 데이터를 분류하는 분류기이다.  결정 트리는 스무고개와 유사한 원리를 사용한다. ○ 스무 고개는 사람(진행자)이 그 때마다 문제를 만들어낸다. ○ 결정 트리는 컴퓨터가 자동으로 질문을 생성해내야 한다.  Question ○ 각 노드의 질문을 어떻게 만들 것인가? ○ 노드에서 몇 개의 가지로 나눌 것인가? (자식노드의 개수) ○ 언제 멈출 것인가?(leaf node) ○ leaf node를 어느 부류로 할당할(assign) 것인가?
  • 7.  결정 트리의 동작 원리 ○ 𝑋 ∈ ℝ 𝑑 : 분류하고자 하는 비계량(or 계량) 데이터의 집합 ○ 샘플 𝕩 = 𝑥1, … , 𝑥 𝑑 ∈ X : 𝑥𝑖는 비계량 (or 계량) 값 ①샘플 𝕩가 주어지면 루트 노드에서 출발하여 질문에 대한 답을 구하고, 그 결과에 따라 자식 노드로 이동한다. ②이 과정을 leaf 노드에 도달할 때까지 순환적으로(recursively) 반복한다. ③잎 노드에 도달하면 𝕩를 그 leaf 노드에 해당하는 분류로 분류하고 끝낸다.
  • 8. Structure of decision tree 나이 수입 한국인 여성키 나이>26 나이<26 수입>400만원 수입<400만원 아니요 (0) 예 (1) 예 (1) 아니요 (0) ① internal node : attribute or feature (속성 or 특징) ② leaf node : classification 결과 ③ edge : assginment(or 조건)
  • 10. Q1. 각 노드의 질문을 어떻게 만들 것인가? Q2. 노드에서 몇 개의 가지로 나눌 것인가? (자식노드의 개수) Q3. 언제 멈출 것인가? (leaf node) Q4. leaf node를 어느 부류로 할당할(assign) 것인가?
  • 11.  학습에 사용할 샘플의 집합 : { 𝕩1, 𝑦1 , … , (𝕩 𝑛, 𝑦 𝑛)} ○ 𝕩𝑖 = 𝑥1, … , 𝑥 𝑑 ∈ ℝ 𝑑 ① 𝑥𝑖는 비계량 값을 가지는 특징 or 계량 값을 가지는 특징 ○ 𝑦𝑖 : sample 𝕩𝑖가 속한 부류(class) ○ 𝑋 𝑇 = {𝕩𝑖|𝕩𝑖 ∈ 𝑇 for 1 ≤ 𝑖 ≤ n}, 𝑋 = {𝕩1, … , 𝕩 𝑛}, ※ 2번 질문에 대해서는 2개의 노드로 분기하는 상황으로 생각한다. 𝑇 𝑇𝑙𝑒𝑓𝑡 𝑇𝑟𝑖𝑔ℎ𝑡 ൝ 𝑋 𝑇 𝑙𝑒𝑓𝑡 ∪ 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡 = 𝑋 𝑇 𝑋 𝑇 𝑙𝑒𝑓𝑡 ∩ 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡 = ∅ 𝒙𝒊 = 𝜶? yes no 분기를 위한 질문
  • 12.  질문 𝑥𝑖 = 𝛼?를 어떻게 만들 것인가? (어떤 질문을 선택할 것인가?) ○ 𝑥𝑖 : 특징 벡터 𝕩를 구성하는 𝑖번째 특징 ○ 𝛼 : 𝑥𝑖가 가질 수 있는 값 중의 하나 ex) 𝑥𝑖가 혈액형이라면, 𝛼는 4개의 값을 가질 수 있다. ○ 𝕩 = (𝑥1, … , 𝑥 𝑑), 𝑥𝑖가 평균 𝑚개의 값을 갖는다면 𝑑𝑚개의 후보 질문이 생김 ○ 후보의 개수가 지수적이지 않기 때문에 모든 후보를 평가하여 가장 좋은 것을 선택 (exhaustive search) 가장 좋은 것다는 것의 판단 기준은? 후보 질문을 평가하기 위한 기준 함수?
  • 13.  노드 𝑇에 속하는 샘플 𝑋 𝑇에는 여러 부류에 속하는 샘플들이 혼재되어 있다.  분기를 반복하면 결국 leaf node에 도달하게 될 것이고, leaf node에는 같은 부류 에 속하는 샘플들이 대부분이어야 한다.  따라서 𝑋 𝑇의 분기의 결과인 𝑋 𝑇 𝑙𝑒𝑓𝑡와 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡 에는 각각 최대한 동질의 샘플이 담기 는 것이 좋다. 동질의 샘플은 같은 부류에 속하는 샘플이라는 것이다.  동질성을 측정하는 기준 함수를 만들어, 𝑋 𝑇 𝑙𝑒𝑓𝑡와 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡 의 동질성을 가장 높여줄 수 있는 분기를 생성해 내는 질문을 선택한다. 𝑋 𝑇 𝑋 𝑇 𝑙𝑒𝑓𝑡 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡 동질성은 어떻게 측정할 수 있나?
  • 14.  impurity(불순도) ○ 동질성을 측정하는 기준. ○ 같은 부류에 속하는 샘플이 많을수록 불순도는 낮고, 다른 부류에 속하는 샘플이 많이 섞여 있으면 불순도는 높다. ① 불순도가 낮으면, 특정 부류에 속한다고 예측하기가 쉽다. ② 불순도가 높으면, 특정 부류에 속한다고 예측하기가 어렵다. ○ 불순도를 정의하는 방법 ① Entropy ② Gini impurity (지니 불순도) ③ misclassification impurity (오분류 불순도) Go to appendix 1
  • 15.  노드 분기를 위한 entropy의 정의 ○ 𝑦𝑖 : 𝑀개의 부류 중 𝑖번째 부류 ○ 랜덤 변수 : 노드 𝑇의 샘플이 특정 부류에 속하는 사건 ○ 𝑃(𝑦𝑖|𝑇) : 노드 𝑇의 샘플이 𝑦𝑖에 속하는 확률 (노드 𝑇에서 𝑦𝑖가 발생할 확률) 𝒊𝒎 𝑻 = − ෍ 𝒊=𝟏 𝑴 𝑷 𝒚𝒊 𝑻 𝐥𝐨𝐠 𝟐 𝑷(𝒚𝒊|𝑻) ○ 엔트로피는 𝑀개의 부류가 같은 확률을 가질 때 가장 큰 값을 가짐 ①같은 확률을 가진다는 의미는, 한 노드에 다른 부류에 속한 샘플들이 같은 빈도 로 나타나는 것을 의미한다. ②특정 샘플이 어떤 부류에 속하는지 예측하기 어렵다. ⇒ 불순도가 높다.
  • 16.  Gini impurity (지니 불순도) 𝑖𝑚 𝑇 = 1 − ෍ 𝑖=1 𝑀 𝑃 𝑦𝑖 𝑇 2 = ෍ 𝑖≠𝑗 𝑃 𝑦𝑖 𝑇 𝑃(𝑦𝑗|𝑇)  Misclassification impurity (오분류 불순도) 𝑖𝑚 𝑇 = 1 − max 𝑖 𝑃(𝑦𝑖|𝑇)  𝑃(𝑦𝑖|𝑇) 𝑃 𝑦𝑖 𝑇 = 𝑋 𝑇에서 𝑦𝑖에 속한 샘플의 수 |𝑋 𝑇|
  • 17. Example) ○ 노드 𝑇의 샘플 집합 𝑋 𝑇 = { 𝕩1, 𝑦2 , 𝕩2, 𝑦1 , 𝕩3, 𝑦3 , 𝕩4, 𝑦2 , 𝕩5, 𝑦2 , 𝕩6, 𝑦2 , 𝕩7, 𝑦1 , 𝕩8, 𝑦3 , 𝕩9, 𝑦1 } ○ 𝑃 𝑦1 𝑇 = 1 3 , 𝑃 𝑦2 𝑇 = 4 9 , 𝑃 𝑦3 𝑇 = 2 9 ○ 엔트로피 불순도 𝑖𝑚 𝑇 = − ෍ 𝑖=1 9 𝑃 𝑦𝑖 𝑇 log 𝑃 𝑦𝑖 𝑇 = − 1 3 log2 1 3 + 4 9 log2 4 9 + 2 9 log2 2 9 = 1.5305 ○ 지니 불순도 𝑖𝑚 𝑇 = 1 − ෍ 𝑖=1 9 𝑃 𝑦𝑖 𝑇 2 = 1 − 1 32 + 42 92 + 22 92 = 0.642 ○ 오분류 불순도 𝑖𝑚 𝑇 = 1 − 4 9 = 0.556 동질성을 높여주는 분기는 어떻게 찾나?
  • 18.  불순도를 기준으로 노드 분기를 위한 질문을 고르는데 사용할 기준 함수를 생성 ○ 불순도는 하나의 노드를 대상으로 측정 ○ 기준 : 분기 결과로 만들어지는 새로운 샘플 집합 𝑋 𝑇 𝑙𝑒𝑓𝑡 와 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡 는 가급적 불순도가 낮 아야 함 ○ 분기 전후의 불순도의 차이가 클수록 좋다.  불순도 감소량 : ∆ 𝑖𝑚(𝑇) ○ 𝑋 𝑇에서의 불순도와, 분기로 인하여 생성된 𝑋 𝑇 𝑙𝑒𝑓𝑡 , 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡 에서의 불순도의 차이를 비교 ∆𝒊𝒎 𝑻 = 𝒊𝒎 𝑻 − 𝑿 𝑻𝒍𝒆𝒇𝒕 𝑿 𝑻 𝒊𝒎 𝑻𝒍𝒆𝒇𝒕 − 𝑿 𝑻 𝒓𝒊𝒈𝒉𝒕 𝑿 𝑻 𝒊𝒎(𝑻 𝒓𝒊𝒈𝒉𝒕)
  • 19. ○ 투잉 기법 ∆𝑖𝑚 𝑇 = 𝑋 𝑇 𝑙𝑒𝑓𝑡 𝑋 𝑇 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡 𝑋 𝑇 ෍ 𝑖=1 𝑀 𝑃 𝑦𝑖 𝑇𝑙𝑒𝑓𝑡 − 𝑃 𝑦𝑖 𝑇𝑟𝑖𝑔ℎ𝑡 2  노드 분기를 위한 질문의 선택 ○ 가능한 모든 후보 질문을 생성 ○ 모든 후보 질문에 대하여 ① 노드를 분기한 후, 노드 분기에 의한 불순도 감소량 ∆𝑖𝑚(𝑇)을 측정 ② 불순도 감소량이 최대인 후보 질문을 선택 𝑷(𝒚𝒊|𝑻𝒍𝒆𝒇𝒕)와 𝑷(𝒚𝒊|𝑻 𝒓𝒊𝒈𝒉𝒕)의 차이↑ → 𝒚𝒊가 한 노드로 집중되어 분류 → 분기가 잘 됨 → ∆𝒊𝒎 𝑻 ↑
  • 20. Example ) ○ 샘플은 3개의 특징으로 표현. 2개는 비계량, 1개는 실수로 표현되는 계량 데이터 ○ 특징 𝑥1 - 직업 : 디자이너(1), 스포츠맨(2), 교수(3), 의사(4), 공무원(5), NGO(6), 무직(7) ○ 특징 𝑥2 - 선호 품목 : 의류(1), 전자 제품(2), 스포츠 용품(3), 책(4), 음식(5) ○ 특징 𝑥3 - 몸무게 : 실수 ○ 𝑋 𝑇 = { 𝕩1 = 3,1,50.6 , 𝑦2 , (𝕩2 = 2,3,72.8 , 𝑦1), (𝕩3 = 3,5,88.7 , 𝑦3), 𝕩4 = 2,2,102.2 , 𝑦2 , (𝕩5 = 5,5,92.3 , 𝑦2), (𝕩6 = 3,4,65.3 , 𝑦2), 𝕩7 = 2,3,67.8 , 𝑦1 , (𝕩8 = 7,1,47.8 , 𝑦3), (𝕩9 = 2,3,45.6 , 𝑦1)} ○ 분기를 위한 질문 ① 𝑥1에 의한 후보 질문 : 𝑥1 = 1(디자이너)? ,…, 𝑥1 = 7(무직)? - 7개의 후보질문 ② 𝑥2에 의한 후보 질문 : 𝑥2 = 1(의류)? ,…, 𝑥2 = 5(음식)? - 5개의 후보질문 ③ 𝑥3에 의한 후보 질문 : 𝑥3 < 46.7? ,…, 𝑥3 < 97.25 – 8개의 후보질문 – 실수의 경우는 인접한 두 값의 가운데 값을 사용하여 𝑥3 < 𝛼의 형태로 질문 생성
  • 21. 𝑋 𝑇 𝑋 𝑇 𝑙𝑒𝑓𝑡 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡 𝑥2 = 3? (선호 품목 = 스포츠 용품?) 질문 𝑥2 = 3?을 사용하여 분기했을 때의 불순도 감소량을 구해보자. 𝑋 𝑇 = { 𝕩1, 𝑦2 , 𝕩2, 𝑦1 , 𝕩3, 𝑦3 , 𝕩4, 𝑦2 , 𝕩5, 𝑦2 , 𝕩6, 𝑦2 , 𝕩7, 𝑦1 , 𝕩8, 𝑦3 , 𝕩9, 𝑦1 } 𝑋 𝑇 𝑙𝑒𝑓𝑡 = { 𝕩2, 𝑦1 , 𝕩7, 𝑦1 𝕩9, 𝑦1 } 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡 = { 𝕩1, 𝑦2 , 𝕩3, 𝑦3 , 𝕩4, 𝑦2 , 𝕩5, 𝑦2 , 𝕩6, 𝑦2 , 𝕩8, 𝑦3 } yes no 불순도 감소량(지니 불순도 사용) : ∆𝑖𝑚 𝑇 = 0.642 − 3 9 × 0 − 6 9 × 0.444 = 0.346 투잉 불순도 감소량 : ∆𝑖𝑚 𝑇 = 3 9 6 9 1 − 0 + 0 − 4 6 + 0 − 2 6 2 = 0.889 실제 학습 과정에서는 20개 모두에 대해 계산한 후에 가장 큰 값을 갖는 질문을 선택하여 노드 𝑇에 할당하면 된다.
  • 22. Q1. 각 노드의 질문을 어떻게 만들 것인가? Q2. 노드에서 몇 개의 가지로 나눌 것인가? (자식노드의 개수) Q3. 언제 멈출 것인가? (leaf node) Q4. leaf node를 어느 부류로 할당할(assign) 것인가?
  • 23.  특징 벡터의 특징 값 1개를 이용하여 2개의 자식 노드로 분기할 수 있다.  특징 벡터의 특징 1개를 이용하여, 해당 특징이 가지는 값의 수만큼의 자식 노드 로 분기할 수 있다. ○ 𝕩 = (𝑥1, … , 𝑥 𝑑) ①특징 𝑥1이 가질 수 있는 모든 값을 기준으로 샘플을 분기하고 불순도 감소량을 측정한다. ② …. ③특징 𝑥 𝑑가 가질 수 있는 모든 값을 기준으로 샘플을 분기하고 불순도 감소량을 측정한다. ④그 중 불순도 감소량이 최대인 특징을 노드 분기 질문으로 선택한다. 𝑋 𝑇 𝑋 𝑇1 𝑋 𝑇4 분기를 위한 feature : 𝑗 𝑥𝑗 = 𝛼, 𝛽, 𝛾, 𝛿 𝑋 𝑇3 𝑋 𝑇2 𝑥𝑗 = 𝛼 𝑥𝑗 = 𝛽 𝑥𝑗 = 𝛾 𝑥𝑗 = 𝛿
  • 24. Q1. 각 노드의 질문을 어떻게 만들 것인가? Q2. 노드에서 몇 개의 가지로 나눌 것인가? (자식노드의 개수) Q3. 언제 멈출 것인가? (leaf node) Q4. leaf node를 어느 부류로 할당할(assign) 것인가?
  • 25.  불순도(impurity)가 0이다. ○ 과적합 (overfitting) 발생  𝑋 𝑇의 샘플 개수가 임계값 이하이다. ○ 임계값을 너무 크게 하면, 설익은 수렴에(premature convergence) 도달할 수 있다.  불순도 감소량이 최소인 분기 질문에 대한 불순도 감소량이 임계값 이하이다.
  • 26. Q1. 각 노드의 질문을 어떻게 만들 것인가? Q2. 노드에서 몇 개의 가지로 나눌 것인가? (자식노드의 개수) Q3. 언제 멈출 것인가? (leaf node) Q4. leaf node를 어느 부류로 할당할(assign) 것인가?
  • 27. If 𝑘 = arg max 𝑖 𝑃(𝑦𝑖|𝑇) 𝑇의 부류를 𝑦 𝑘로 한다. leaf node가 발생했을 때, leaf node에 부류를 할당한다. 할당 조건은 다음과 같다.
  • 28.  샘플에 손실 특징이 있을 경우 ○ 𝕩 = (𝑥1, . . , ? , … , 𝑥 𝑑) : 정보가 빠져 있는 경우 ○ 어떻게 다룰 수 있을까? ① 샘플을 무시하는 것 ② 대리 분기(surrogate split)를 사용
  • 29.  대리 분기(surrotage split) ○ 노드 𝑇가 𝑥𝑖 = 𝛼? 라는 질문으로 분기를 하고 𝑋 𝑇가 𝑋 𝑇 𝑙𝑒𝑓𝑡 와 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡 나뉜다고 하자. 이 노드에 𝑥𝑗 = 𝛽?라는 또 다른 분기를 추가해 놓은것을 대리 분기라고 한다. ○ 노드 𝑇에서 분기할 샘플이 𝑥𝑖라는 특징을 손실했다면 대리 분기를 이용하여 분기한다. ○ 𝑥𝑖 = 𝛼?는 주 분기(primary split)이다. ○ 대리 분기가 𝑋 𝑇를 ෣𝑋 𝑇 𝑙𝑒𝑓𝑡 와 ෣𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡 로 나눈다면, ෣𝑋 𝑇 𝑙𝑒𝑓𝑡 와 ෣𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡 과 𝑋 𝑇 𝑙𝑒𝑓𝑡 와 𝑋 𝑇 𝑟𝑖𝑔ℎ𝑡는 가 능한 한 비슷해야 한다. ① 대리 분기를 선택할 때는, 주 분기를 잘 설명해 줄 수 있는 분기로 선택 – 특징 𝑥1 - 직업 : 디자이너(1), 스포츠맨(2), 교수(3), 의사(4), 공무원(5), NGO(6), 무직(7) – 특징 𝑥2 - 선호 품목 : 의류(1), 전자 제품(2), 스포츠 용품(3), 책(4), 음식(5) ○ 결정 트리 학습 과정에서 손실이 발생할 가능성이 있는 특징을 미리 예측하고 그런 특 징을 사용하는 분기에 대해서 대리 분기를 생성해야 한다.
  • 30.  굉장히 직관적인 분류기 (One of the most intutive classifiers)  이해하기 쉽고, 만들기 쉬움 (Easy to understand and construct)  잘 작동함 (Surprisingly, also work very well)
  • 31.  패턴인식 - 오일석  머신러닝 인 액션 - 피터 해링턴  The Elements of Statistical Learning - Trevor Hastie, Robert Tibshirani, Jerome Friedman
  • 32. Information Theory 상황 1) 오늘 하루 종일 맑다. 뉴스에서 "내일은 맑다"라는 일기 예보를 듣는다. 상황 2) 오늘 하루 종일 맑다. 뉴스에서 "내일은 큰 비가 온다"라는 일기 예보를 듣는다. 두 가지 상황을 비교해보자. 어느 상황에서 더 많은 정보를 얻었을까? Information Theory(정보 이론)는 주어진 상황에서 우리가 얻을 수 있는 정보량을 수치화해주는 기능을 제공한다. 상황 정보량 수치화(확률)
  • 33. 상황 1) 오늘 하루 종일 맑다. 뉴스에서 "내일은 맑다"라는 일기 예보를 듣는다. ⇒ 직관적으로, 오늘 날씨가 맑기 때문에 내일의 날씨도 맑을 확률이 높다. 이 상황에서 얻을 수 있는 정보(놀라운 정도)는 적다고 볼 수 있다. 상황 2) 오늘 하루 종일 맑다. 뉴스에서 "내일은 큰 비가 온다"라는 일기 예보를 듣는다. ⇒ 직관적으로, 오늘 날씨가 맑기 때문에 내일 비가 올 확률은 상황 1에 비해 상대적으로 낮다. 이 상황에서 얻을 수 있는 정보(놀라운 정도)는 상황 1에 비해 상대적으로 높다. Information Theory
  • 34. Information Theory 간단한 예이지만, 어떤 사건의 확률과 그것이 전달하는 정보량은 반비례 관계임을 알 수 있다. 정보량은 "놀라운 정도"라고 할 수 있다. 일반적으로 확률이 낮은 사건일수록 더욱 놀랍고 정보량은 크다. 이 관계는 정보 이론(Information Theory)이 토대로 삼는 가장 중요한 원리 정보량을 어떻게 수치화 할 수 있을까? 𝑝 내일 = 큰비 오늘 = 맑음) 𝑝 내일 = 맑음 오늘 = 맑음)
  • 35.  𝑥 : random variable(랜덤 변수) ○ 확률 변수는 샘플공간(발생 가능한 이벤트, 사건) 에서 실수로의 함수이다. ex1) input : 주사위를 던졌을 때 3의 눈이 나오는 사건, output : 3 ex2) input : 동전을 던졌을 때 앞면이 나오는 사건, output : 1(T)  𝑝(𝑥) : 𝑥가 특정한 값을 가질 때, 랜덤 변수 𝑥의 확률  ℎ(𝑥) : 𝑥의 자기 정보량(self-information) 𝒉 𝒙 = − 𝐥𝐨𝐠 𝟐 𝒑(𝒙) 정보량
  • 36. 𝒉 𝒙 = − 𝐥𝐨𝐠 𝟐 𝒑(𝒙)  ℎ(𝑥)의 단위는 bit이다. 밑이 𝑒인 자연로그를 사용한다면 단위는 nat가 된다.  랜덤 변수 𝑥가 𝑎의 값을 갖는다고 가정하고, 𝑝 𝑎 = 1 1024 라고 하자. 즉 1024번에 한 번 정도 발생하는 사건이다. 이 때 𝑎의 정보량은 10bits가 된다. 𝑝 𝑎 = 1이라 고 하자. 𝑎의 정보량은 0bit이다. 정보량 𝑝(𝑥) ℎ(𝑥)
  • 37.  엔트로피(entropy) ○ 랜덤 변수 𝑥가 가질 수 모든 값(사건)에 대한 정보량(자기 정보량)의 평균 𝑯 𝒙 = − ෍ 𝒙 𝒑 𝒙 𝐥𝐨𝐠 𝟐 𝒑 𝒙 𝑯 𝒙 = − න −∞ ∞ 𝒑 𝒙 𝐥𝐨𝐠 𝟐 𝒑 𝒙 𝒅𝒙 ○ 위의 경우는 𝑥가 discrete 값을 가지는 경우이고, 아래의 경우는 연속적인 값을 갖는 경우이다. ○ 즉, 랜덤 변수 𝑥의 엔트로피를 통하여 𝑥에서 얻을 수 있는 정보를 계산할 수 있다. ① 엔트로피↑ → 정보량↑ → 발생 가능성↓ → 혼란도, 불순함↑ ② 엔트로피↓ → 정보량↓ → 발생 가능성↑ → 혼란도, 불순함↓ 엔트로피(entropy) ※ 랜덤 변수 𝑥의 함수 ℎ(𝑥)의 평균 : σ 𝑥 ℎ 𝑥 𝑝(𝑥)
  • 38. Example) ○ 랜덤 변수 𝑥 : 주사위를 던지는 사건에서 나올 수 있는 값 ① 랜덤 변수 𝑥가 가질 수 있는 값 : 1, 2, 3, 4, 5, 6 – 𝑝 𝑥 = 1 = 𝑝 1 = ⋯ = 𝑝 𝑥 = 6 = 𝑝 6 = 1 6 » 𝐻 𝑥 = − σ𝑖=1 6 𝑝 𝑥 log2 𝑝 𝑥 = −6 × 1 6 log2 1 6 = 2.585bit – 𝑝 𝑥 = 1 = 𝑝 1 = 5 6 , 𝑝 𝑥 = 2 = 𝑝 2 = ⋯ = 𝑝 𝑥 = 6 = 𝑝 6 = 1 30 » 𝐻 𝑥 = − σ𝑖=1 6 𝑝 𝑥 log2 𝑝 𝑥 = − 5 6 log2 5 6 − 5 × 1 30 log2 1 30 =0.225bit ○ 모든 사건이 같은 확률을 가질 때 엔트로피는 최대가 된다. 무질서 정도(불순도)가 최대 가 된다. 즉, 불확실성(uncertainty)이 최대이다. ①여섯개의 사건이 모두 같은 가능성을 가지므로 어떤 눈이 나올 지 가늠하기 매우 어렵다. ○ 한 사건이 1의 확률을 가지고, 나머지 사건이 0의 확률을 가지면 엔트로피는 0이다. ①어떤 눈이 나올 지 가늠하기 매우 쉽다. 엔트로피(entropy) Back