NDBI023 Dobývání znalostí
Poznámky
Zkoušky
?This is a list of all subpages of this page with a URL like /<subject code>/Zkouška YYYY-MM-DD <Teacher notes>. To add a new exam, click the + button.+2026
2023
2021
2018
2017
2016
2015
2014
2012
2011
2010
Zdroje k předmětu
Požadavky 12/13
výsledná známka = 40% body ze zkoušky, 20% body z dvou písemek, 40% body z úkolů ze cvičení a projektu (včetně bodů ze cvičení, všechny úkoly jsou povinné)
vypracovat projekt
celkem je potreba splnit aspon 56%
terminy v září budou jeden až dva
Fisherův test
chi-kvadrát test
Příklady ze cvičení
Algoritmus TDIDT/ID3
Zvol jeden atribut jako kořen podstromu
Kořen
Vitamín
−n(Vit(B))n+(Vit(B)).log2n(Vit(B))n+(Vit(B))−n(Vit(B))n−(Vit(B)).log2n(Vit(B))n−(Vit(B))=−52.log252−53.log253=0.97
⋯=0.0 (z "definície"...)
⋯=0.97
Entropia: H(Vit)=140.971∗5+0∗4+0.971∗5=0.6936 (vážený priemer)
Velikost rodiny
−m(Rodina(velka))n+(Rodina(velka)).log2n(Rodina(velka))n+(Rodina(velka))−n(Rodina(velka))n−(Rodina(velka)).log2n(Rodina(velka))n−(Rodina(velka))=1
⋯=0.9183
⋯=0.8113
Entropia: H(Rodina)=0.9111
Cvičil
⋯=−73.log273−74.log274=0.985
⋯=−76.log276−71.log271=0.592
Entropia: H(Cvicil)=140.985∗7+0.592∗7=0.7885
Bypass
Entropia: H(Bypass)=0.8922
... budeme teda pokračovať podľa atribútu Vitamín (najmenšia entropia).
Množinu rozdelíme na 3 skupiny (B,C,D). C-čko všetci prežili, máme dve skupiny pre Bcomplex a D - spočítame znovu strednú entropiu (aby sme vedeli, podľa čoho ďalej štiepiť).
B
vyberieme riadky s Bcomplex a robíme to isté :)
Velikost rodiny
⋯=0 (z "definice"...)
⋯=1
⋯=0 (z "definice"...)
Entropia: H(Rodina)=50∗2+1∗2+0∗1=0.4
Cvicil
H(Cvicil)=0
Bypass
H(Bypass)=0.9183
C
...je jasné, tam nik nezomrel... :)
D
H(Rodina)=0.9183
H(Cvicil)=0.9183
H(Bypass)=0
...ďalej sa teda bude štiepiť v Bčku podľa "Cvicil" a v Dčku podľa "Bypass"
Vitamin / | \ B/ C| \D Cviceni + Bypassprav./ m.| a| n\ - + - +
Perceptron
uloha: naucit perceptron rozoznavat body v 2D na 2 skupiny...
popis perceptronu v matlabe: p=[w1w2prah]
vyhodnoti sa potom... x=[x1x2] => percrecall=w1∗x1+w2∗x2+prah∗1
...rozsireny vstupny vektor x1′=[x1x21]
vystup=hardlim1(p∗x1′) (hardlim1(<=0)=0; hardlim1(>0)=1)
inicializacia : p=[111]
vstup: A=[11132231]
vystup (chceme): c=[1100]
uciaca konstanta a=0.2
ucenie prebieha takto:
vezme sa vzor, ak sedi, nic nerobime
ak najdeme chybu - pricitame/odcitame (pozadovany-skutocny vystup - napr. v priklade y=hardlim1(p∗AA);dif=c(3)−y(3)) dany vektor k vaham... (c(3)−y(3))∗AA(:,3)
dostavam novy perceptron p1=p+a∗((c(3)−y(3))∗AA(:,3))′
y1=hardlim1(p1∗AA)=[1111]
to je zla matica (ma byt samozrejme [1100])- znovu zopakujeme postup...
p1=[0.60.6−0.2]=>y1=[1111]
p2=[00.4−0.4]=>y2=[0110]
teraz budeme skusat prvy vektor (ktory je nespravny)