Zorana Vasiljević, "Decision Tree Learning Стабло одлучивања"

Download Report

Transcript Zorana Vasiljević, "Decision Tree Learning Стабло одлучивања"

Decision Tree Learning
Стабло одлучивања
Зорана Васиљевић
09/3256
[email protected]
1/17
Садржај
Увод
 Конструкција и ентропија
 Алгоритми
 Предности
 Ограничења
 Закључак

2/17
Увод
Један од најраспрострањенијих метода
за индуктивно закључивање
 Циљ је да се направи модел који може
да предвиди жељени исход на основу
сета улазних променљивих
 Може се представити у виду if-then
правила

3/17
Стабло одлучивања
4/17
Стабло одлучивања
Представља се као дисјункција
коњукција
 (Outlook = Sunny  Humidity = Normal)
 (Outlook = Overcast)  (Outlook = Rain
 Wind = Weak)
 Може се представити у виду if-then
правила
 Сваки чвор – тестирање атрибута
 Свака грана – могућ исход атрибута

5/17
Стабло одлучивања
Day
Outlook
Temperature
Humidity
Wind
PlayTennis
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
Sunny
Sunny
Overcast
Rain
Rain
Rain
Overcast
Sunny
Sunny
Rain
Hot
Hot
Hot
Mild
Cool
Cool
Cool
Mild
Cool
Mild
High
High
High
High
Normal
Normal
Normal
High
Normal
Normal
Weak
Strong
Weak
Weak
Weak
Strong
Strong
Weak
Weak
Weak
No
No
Yes
Yes
Yes
No
Yes
No
Yes
Yes
D11
Sunny
Mild
Normal
Strong
Yes
D12
Overcast
Mild
High
Strong
Yes
D13
Overcast
Hot
Normal
Weak
Yes
D14
Rain
Mild
High
Strong
No
6/17
Ентропија и количина
информација
E(S) = ci=1 –pi log2 pi ,
 G(S,A)  E(S)-v in Values(A) (|Sv|/|S|)*E(Sv)
 Ентропија тест података
 E(S) = E([9+,5-]) = (-9/14 log2 9/14) +
(-5/14 log2 5/14) = 0.94

7/17
ID3 алгоритам
Узима све неискоришћене атрибуте и
рачуна њихову ентропију и количину
информација
 Узима чвор са најмањом ентропијом као
корен
 Рекурзивно понавља
поступак

8/17
ID3 алгоритам








ID3 (Examples, Target_Attribute, Attributes)
Create a root node for the tree
If all examples are positive, Return the single-node tree Root, with label = +.
If all examples are negative, Return the single-node tree Root, with label = -.
If number of predicting attributes is empty, then Return the single node tree Root,
with label = most common value of the target attribute in the examples.
Otherwise Begin
 A = The Attribute that best classifies examples.
 Decision Tree attribute for Root = A.
 For each possible value, vi, of A,
 Add a new tree branch below Root, corresponding to the test A = vi.
 Let Examples(vi) be the subset of examples that have the value vi for A
 If Examples(vi) is empty
 Then below this new branch add a leaf node with label = most common
target value in the examples
 Else below this new branch add the subtree ID3 (Examples(vi),
Target_Attribute, Attributes – {A})
End
Return Root
9/17
ID3

G(S,Outlook) = E(S) – [5/14 * E(Outlook=sunny) +
4/14 * E(Outlook = overcast) + 5/14 *E(Outlook=rain)]

G(S,Outlook) = E([9+,5-]) – [5/14*E(2+,3-) +
4/14*E([4+,0-]) + 5/14*E([3+,2-])]
G(S,Outlook) = 0.94 – [5/14*0.971 + 4/14*0.0 +
5/14*0.971]
G(S,Outlook) = 0.246
G(S,Humidity) = 0.1515
G(S,Temperature) = 0.029
G(S,Wind) = 0.048
Рекурзија!






10/17
Oд ID3 до C4.5
Бинарно је
 Кроз алгоритам се пролази само једном
(локални минимум)
 Може бити превише робусно
 C4.5 је направио неколико побољшања
у односу на ID3:
 Узима у обзир и континуалне и
дискретне вредности
 Ревизија и редукција стабла

11/17
C4.5
Бинарно је
 Кроз алгоритам се пролази само једном
(локални минимум)
 Може бити превише робусно
 C4.5 је направио неколико побољшања
у односу на ID3:
 Узима у обзир и континуалне и
дискретне вредности
 Узима у обзир атрибуте за које нису
познате вредности
 Ревизија и редукција стабла

12/17
C4.5
Кандидат чвор дели скуп исхода на
подскупове
 Критеријум за поделу је нормализована
количина информација (највећа разлика
у ентропији) која је резултат одабира
атрибута за поделу
 Атрибут са највећом нормализованом
количином информација се бира за чвор
 Рекурзијом се понавља за подскупове

13/17
C4.5 - Псеудокод





Check for base cases
For each attribute a
 Find the normalized information gain from splitting on a
Let a_best be the attribute with the highest normalized
information gain
Create a decision node that splits on a_best
Recurse on the sublists obtained by splitting on a_best, and
add those nodes as children of node
14/17
Закључак
Предности:
 Једноставна за разумевање и
интерпретацију
 Могу користити нумеричке и дискретне
вредности
 Поузданост се може измерити
статистичким методама
 Има добре перформансе са великим
количинама података за кратко време

15/17
Закључак






Мане:
Одлуке о подели су оптималне на сваком чвору
– не може се гарантовати да је стабло
оптимално
Стабла могу бити превише комплексна
Не генерализују податке, мора се накнадно
редуковати стабло (pruning)
Постоје концепти које стабло не представља
добро решење (парност, XOR - превелико)
Количина информација зависи од тога колико
атрибути имају вредности
16/17
Хвала!
17/17