37
Dobývání dat a strojové učení

Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Dobývání dat a strojové učení

Page 2: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Dobývání znalostí z databází (Knowledge discovery in databases)

„Non-trivial process of identifying valid, novel, potentially useful and ultimately understandable patterns from data.“ (Fayyad a kol., 1996)

„Analysis of observational data sets to find unsuspected relationships and summarize data in novel ways that are both understandable and useful to the data owner.” (Hand, Manilla, Smyth, 2001)

Page 3: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Dobývání znalostí z databází – metodika CRISP-DM

Porozuměníproblematice

Porozuměnídatům

Příprava dat

Modelování

Vyhodnocenívýsledků

Využití výsledkůDATA

dobývání dat (data mining)

Page 4: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Strojové učení (Machine Learning)

„The field of machine learning is concerned with the question of how to construct computer programs that automatically improve with experience.“

(Mitchell, 1997)

„Things learn when they change their behavior in a way that makes them perform better in a future.“

(Witten, Frank, 1999)

Page 5: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Strojové učení a dobývání dat

učení se dovednostem

empirické učení se konceptům

analytické učení se konceptům

statistické metody analýzy dat

databázové techniky

Page 6: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Metody učení

učení zapamatováním (rote learning neboli biflování)

učení se z instrukcí (learning from instruction, learning by being told)

učení se z analogie (learning by analogy, instance-based learning, lazy learning)

učení na základě vysvětlení (explanation-based learning)

učení se z příkladů (learning from examples)

učení se z pozorování a objevováním (learning from observation and discovery)

Page 7: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Informace o správnosti učení

příklady zařazené do tříd (učení s učitelem - supervised learning)

odměny za správné chování a tresty za chování nesprávné (reinforcement learning)

nepřímé náznaky odvozené s chování učitele (apprenticeship learning)

žádné (učení bez učitele - unsupervised learning)

Page 8: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Další členění …

reprezentace příkladů

atributy: kategoriální (binární, nominální, ordinální) a numerické

barva_vlasu(cerna) & vyska(180) & vousy(ano) & vzdelani(VS)

relace

otec(jan_lucembursky, karel_IV)

režim učení

dávkový

inkrementální

Page 9: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Úloha empirického učení z dat (1/3)

Analyzovaná data

m n2 n1 n

m 22 21 2

m 12 11 1

x......xx

:::

x......xx

x......xx

D

n

2

1

m n2 n1 n

m 22 21 2

m 12 11 1

TR

y

:

y

y

x......xx

:::

x......xx

x......xx

D

Klasifikační úloha: hledáme znalosti (reprezentované rozhodovací funkcí f) f: x y, která pro hodnoty vstupních atributů x nějakého objektu odvodí hodnotu cílového atributu ŷ = f (x).

Page 10: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Úloha empirického učení z dat (2/3)

V průběhu klasifikace jednoho objektu se můžeme dopustit chyby Qf(oi, ŷi):

Q y = (y - yf i i i( , ) )oi2 Q y =

1 y y

0 y = yf i

i i

i i

( , )

oi

pro

pro

Pro celou trénovací množinu DTR pak můžeme vyčíslit souhrnnou chybu Err(f,DTR), např. jako

Err(f,D = 1

nQ yTR f

i=1

n

i) ( , )o i

Page 11: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Úloha empirického učení z dat (3/3)

Cílem učení je nalézt takové znalosti f*, které by minimalizovaly tuto chybu

)DErr(f, min )D,Err(f TRf

TR

*

Page 12: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Ilustrační příklad

údaje o osobách - klientech banky, kterým banka půjčuje na základě informací o jejich příjmech a výši konta

Page 13: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Empirické učení se konceptům

objekty, patřící do téže třídy mají podobné charakteristiky (učení na základě podobnosti)

z konečného počtu příkladů odvozujeme obecné znalosti (induktivnost)

Page 14: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Metody strojového učení

tvorba rozhodovacích stromů

tvorba rozhodovacích pravidel

tvorba asociačních pravidel

neuronové sítě

genetické algoritmy

bayesovské sítě

učení založené na analogii

Page 15: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Strojové učení jako …

… prohledávání

hledáme strukturu i parametry modelu

… aproximace

hledáme parametry modelu

Page 16: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Uspořádání modelů

MGM -Nejobecnější model (jeden shluk pro všechno)

M1 obecnější než M2

M2 je speciálnější než M1

MSM - Nejspeciálnější model(y) (co příklad to shluk)

1159755215521)(

1054321

1)0(),(1

)(1

nB

n

BkBk

nnB

n

k

Page 17: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Způsoby prohledávání

Směr shora dolů

zdola nahoru

Strategie slepé

heuristické

náhodné

Šíře jednoduché

paralelní

Page 18: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Aproximace

na základě konečného počtu bodů [xi ,yi] se snažíme určit parametry předpokládané rozhodovací funkce y=f(x)

i

ii xfydq

d0)(

2

Metoda nejmenších čtverců:

hledání minima souhrnné chyby

min i (yi - f(xi)) 2

se převádí na řešení rovnice

Page 19: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Aproximace (2/2) Analytické řešení (známe typ funkce) řešení soustavy rovnic pro parametry funkce

regrese

Numerické řešení (neznáme typ funkce) gradientní metody

Err(q) =

j

jq

Errη- Δq

Qq

Err,...,

q

Err,

q

Err

10

Modifikace znalostí q = [q0, q1, ..., qQ] pak probíhá jako qj qj + qj

kde

Page 20: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Rozhodovací stromy (prohledávání)

směr shora dolů (TDIDT) jednoduché heuristické

ID3, C4.5 (Quinlan), CART (Breiman a kol.)

paralelní heuristické Option trees (Buntine), Random

forrest (Breiman)

náhodné

paralelní použití genetického programování

směr zdola nahoru jen jako doplněk v rámci prořezávání

Page 21: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Rozhodovací pravidla (pokrývání množin jako prohledávání)

směr shora dolů paralelní heuristické

CN2 (Clark, Niblett), CN4 (Bruha)

směr zdola nahoru jednoduché heuristické

Find-S (Mitchell)

paralelní heuristické AQ (Michalski)

náhodné paralelní

GA-CN4 (Králík, Bruha)

IF Příjem(nízký) THEN

IF Příjem(nízký)

AND Konto(nízké) THEN

Page 22: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Asociační pravidla (generování jako prohledávání shora dolů)

kombinace

1n

1n 2n

1n 2n 3m

1n 2n 3m 4a

1n 2n 3m 4a 5a

1n 2n 3m 4a 5n

1n 2n 3m 4n

1n 2n 3m 4n 5a

1n 2n 3m 4n 5n

1n 2n 3m 5a

1n 2n 3m 5n

do hloubky do šířky Apriori (Agrawal),

LISp-Miner (Rauch)

heuristicky KAD (Ivánek,

Stejskal)

kombinace 5a

1n

3m

3z

4a

4n

1v 1n 4a

4n 5a 1v 5a

2v

kombinace

. . .

4a

4n

5a

5n

1n 2n

1n 2s

1n 2v

1n 3m

1n 3z

. . .

Page 23: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Vícevrstvý perceptron (aproximace)

Backpropagation algoritmus

1. inicializuj váhy sítě malými náhodnými čísly 2. dokud není splněno kritérium pro zastavení 2.1 pro každý příklad [x, y] z trénovacích dat 2.1.1. spočítej výstup outu pro každý neuron u 2.1.2 pro každý neuron v ve výstupní vrstvě

spočítej chybu errorv = outv (1 - outv) (yv - outv) 2.1.3 pro každý neuron s ve skryté vrstvě

spočítej chybu errors = outs (1 - outs) v výstup (ws,v errorv )

2.1.4 pro každou vazbu vedoucí z neuronu j do neuronu k modifikuj váhu vazby

wj,k = wj,k + wj,k , kde wj,k = errork xj,k

Page 24: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Genetické algoritmy (paralelní náhodné prohledávání) Genetický algoritmus

1. náhodně vytvoř populaci P(0) velikosti N a urči hodnoty funkce fit 2. dokud není splněna podmínka pro zastavení

2.1. vyber z P(t) jedince kteří se přímo přenesou do P(t+1)

2.2.1. vyber z P(t) dvojice jedinců určených k reprodukci 2.2.2. aplikuj na každou dvojici křížení a zařaď potomky do P(t+1)

2.3.1. vyber z P(t) jedince určené k mutaci 2.3.2. aplikuj na každého jedince mutaci a zařaď do P(t+1)

2.4. spočítej pro každého jedince v P(t+1) hodnotu funkce fit 2.5. přiřaď t:= t + 1

3. vrať jedince s nejvyšší hodnotu fit

Page 25: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Bayesovské metody Naivní bayesovský

klasifikátor (aproximace)

)(

)()|(

),...,|( 1EP

HPHEP

EEHPk

K

K

1k

Bayesovská síť

(prohledávání, aproximace)

n

ii

iin urodičeuPuuP1

1 ))(|(),...,(

Page 26: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Učení založené na instancích

volba instancí pro uložení do databáze žádné prohledávání

IB1 (Aha)

jednoduché heuristické shora dolů IB2, IB3 (Aha)

shlukování (a hledání centroidů) jednoduché heuristické prohledávání

shora dolů (divisivní)

zdola nahoru (aglomerativní)

aproximace K-NN

Page 27: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

10 nej …. algoritmy

C4.5 rozhodovací stromy

K-Means shlukování

SVM neuronové sítě

Apriori asociační pravidla

EM pravděpodobnostní

PageRank web

AdaBoost kombinování modelů

kNN instance

Naive Bayes pravděpodobnostní

CART rozhodovací stromy

Page 28: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Závěr

neexistuje „nejlepší“ algoritmus, který bude dosahovat nejvyšší správnosti klasifikace pro libovolnou úlohu (no free lunch)

potřebujeme další informace

porozumění úloze

porozumění datům

Porozuměníproblematice

Porozuměnídatům

Příprava dat

Modelování

Vyhodnocenívýsledků

Využití výsledkůDATA

Page 29: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Učení a adaptace

Page 30: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Adaptivní inteligentní

systémy

schopnost přizpůsobit se změnám prostředí,

schopnost přizpůsobit se novým podmínkám

využívání,

schopnost přizpůsobit se nové aplikaci.

[IST-2000-29270 Projekt EUNITE]

Page 31: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Dávkové učení

Dávkové

učení

data

model

Page 32: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Inkrementální učení

Inkrementální

učení

starý model

nový model

nový

příklad

Page 33: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Integrování znalostí na

úrovni usuzování

učení

1

učení

2

učení

n

.

.

.

kombinacedata

Bagging

Boosting

Stacking

(Bauer, Kohavi, 1999),

(Diettrich, 2000)

Page 34: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Integrování znalostí na

úrovni reprezentace (1/2)

Integrace

znalostí

starý

model 1

starý

model z

nový model

. . . . . .

Page 35: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Integrace/Revize znalostí

Integrace/

Revize

znalostí

nová data

nový model

starý

model

Integrace znalostí

starý model je doplněn

(dávkově inkrementální

postup)

Revize znalostí

starý model je změněn

Page 36: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Učení a zapomínání

u+

z

POS POT NEG

učení

zapomínání

u+ u

u

z+

z+

z

s učitelem

FLORA (Widmer, Kubát, 1996)

STAGGER (Schlimmer, Granger, 1986)

bez učitele

COBWEB (Fisher, 1987)

Page 37: Dobývání dat a strojové učení - sorry.vse.czberka/docs/4iz450/ML-prednaska-4IZ... · 2011-05-05 · Dobývání znalostí z databází (Knowledge discovery in databases) „Non-trivial

Koncepty závislé na

kontextu

Kontext

situace, ve které získáváme data

relevantní atributy, které nejsou v současnosti

dostupné

atributy, které samy o sobě nepřispívají ke

klasifikaci ale které zlepšují výsledky klasifikace v

kombinaci s jinými atributy

(Matwin, Kubát, 1996)