Strojno učenje in odkrivanje znanja v podatkovnih bazah (data

Univerza v Ljubljani
Fakulteta za strojništvo
Strojno učenje in odkrivanje znanja v
podatkovnih bazah (data mining)
Učno gradivo za predmet
Inteligentni sistemi
doc. dr. Bogdan Filipič
Institut Jožef Stefan
Jamova 39, 1000 Ljubljana
bogdan.filipic@ijs.si
Ljubljana, 2002
1. Uvod
Sodobne računalniške in komunikacijske tehnologije omogočajo zbiranje, shranjevanje in
hitro dostopanje do velikih količin podatkov. Obstoječe baze podatkov pa ostajajo v veliki
meri neobdelane in neizkoriščene. V njih je še veliko neodkritih in potencialno uporabnih
informacij, do katerih bi lahko prišli le z ustrezno analizo podatkov. Razkorak med velikim
obsegom uskladiščenih podatkov in njihovo skromno izkoriščenostjo je spodbudil razvoj
novega področja v računalništvu, t.i. podatkovnega rudarjenja (angl. data mining),
imenovanega tudi odkrivanje znanja v podatkovnih bazah (angl. knowledge discovery in
databases – KDD). Področje se ukvarja z odkrivanjem implicitnih, doslej neznanih in
potencialno uporabnih informacij v podatkih (Witten in Frank, 2000). Ključni korak v tem
pristopu je uporaba strojnega učenja (angl. machine learning) na podatkih. Metode strojnega
učenja iz obravnavanih podatkov izpeljejo posplošene opise v različnih oblikah, kot so npr.
odločitvena drevesa ali klasifikacijska pravila. Ti rezultati omogočajo modeliranje,
klasifikacijo in napovedovanje, za razliko od rezultatov statističnih metod pa dajejo tudi
boljši vpogled v obravnavano problematiko in s tem pripomorejo k njenemu boljšemu
razumevanju.
V tem gradivu predstavljamo metodologijo odkrivanja znanja v podatkih, strojno učenje s
poudarkom na induktivnem učenju odločitvenih dreves in prosto dostopno programsko
orodje za analizo podatkov s strojnim učenjem Weka. Nato pokažemo praktične primere
uporabe te metodologije pri podpori odločanja v proizvodnih procesih.
2. Odkrivanje znanja v podatkovnih bazah
Po nekaterih ocenah se količina podatkov, shranjenih v podatkovnih bazah po vsem svetu,
podvoji vsakih dvajset mesecev. Podatke s svojimi aktivnostmi generiramo vsi subjekti, od
posameznikov do največjih korporacij, saj pri današnjem načinu življenja in poslovanja
skoraj ni več aktivnosti, ki ne bi bila tudi računalniško podprta. Shranjevanje podatkov je
enostavno in poceni, kar velja tako na nivoju posameznega osebnega računalnika kot
globalnega medmrežja. Ob nenehnem napredovanju pomnilniških zmogljivosti in
globalizaciji procesov, ki podatke ustvarjajo, eksponentni rasti obsega shranjenih podatkov ni
videti konca. Ob tem pa se povečuje razkorak med količino ustvarjenih podatkov in količino
podatkov, ki jih ljudje obvladujemo, razumemo in koristno uporabljamo. Naše tovrstne
zmogljivosti napredujejo zelo počasi, zato se z večanjem obsega uskladiščenih podatkov
delež razumljenih in koristno izrabljenih drastično manjša.
Korak k zmanjševanju te razlike je bil storjen z začetkom razvoja metodologije odkrivanja
znanja v podatkovnih bazah okrog leta 1990. Metodologija se loteva reševanja problemov z
analizo podatkov, ki so že shranjeni v podatkovnih bazah. Njeno bistvo je v iskanju takšnih
vzorcev (povezav, odvisnosti) v podatkih, ki na ekspliciten način povzemajo v podatkih
vsebovane zakonitosti, omogočajo sklepanje in pojasnjevanje in so uporabni pri nadaljnjih
odločitvah.
Odkrivanje znanja v podatkovnih bazah pomeni nadaljevanje in razširitev koncepta strojnega
učenja. Strojno učenje je tehnična (algoritmična) osnova, ki jo je novo področje izpopolnilo
in prilagodilo za obravnavanje velikih baz podatkov, s kakršnimi se srečujemo v praksi.
Zanje so poleg kompleksnosti ponavadi značilni še redundantnost zapisov, šum v podatkih,
1
manjkajoče vrednosti in podobne, za formalno obravnavo neugodne lastnosti, ki pa se jim v
praksi le stežka izognemo.
Odkrivanje znanja v podatkovnih bazah je netrivialen postopek, ki obsega naslednje korake:
•
•
•
•
•
izbiro podatkov,
predprocesiranje podatkov,
transformacijo podatkov,
analizo oz. obdelavo podatkov,
interpretacijo in ovrednotenje odkritih vzorcev.
Izbira podatkov pomeni določitev tistih podatkov iz množice razpoložljivih, ki jih bomo
analizirali. Izbiro lahko opravimo tako na nivoju podatkovnih zapisov kot na nivoju
komponent zapisov. Dobljeni podmnožici podatkov pravimo ciljni podatki.
Predprocesiranje podatkov običajno pomeni nadaljnje krčenje ciljnih podatkov. V tem
koraku ugotavljamo prisotnost šuma v podatkih, kot so napačne ali manjkajoče vrednosti.
Napake so lahko sintaktične ali semantične. Pojavijo se pri vnašanju, prenosu ali predhodnih
obdelavah podatkov. Sintaktične napake zaznamo z leksikalnim pregledovanjem podatkov,
semantične (npr. vrednost podatka izven pričakovanega obsega vrednosti) pa s statističnim
preverjanjem. Takšne zapise popravimo, če je to mogoče, v nasprotnem primeru pa jih
izločimo iz nadaljnje obravnave. Manjkajoče vrednosti podatkov še ne pomenijo nujno, da je
nek podatkovni zapis neuporaben za analizo. Mnoge metode strojnega učenja namreč znajo
obravnavati tudi manjkajoče vrednosti.
Transformacija podatkov je namenjena neposredni pripravi predprocesiranih podatkov za
analizo z izbrano metodo strojnega učenja. Podatke iz obstoječega formata pretvorimo v
format, kakršnega zahteva izbrana metoda. S tem iz predprocesiranih podatkov dobimo
transformirane podatke.
Ključni korak v postopku odkrivanja znanja v podatkovnih bazah je njihova analiza oz.
obdelava s strojnim učenjem. Zanjo uporabimo primerno metodo, ki ustreza tipu zastavljene
naloge (klasifikacija, razvrščanje v skupine, regresijsko modeliranje) in lastnostim podatkov
(zvezni ali diskretni, urejene ali neurejene vrednosti, prisotnost neznanih vrednosti ipd.).
Analiza odkrije relevantne vzorce v podatkih. Ti so lahko predstavljeni na različne načine,
npr. kot odločitvena drevesa, pravila tipa če–potem (angl. if–then), odločitveni seznami,
regresijska drevesa itd. Oblika je pogojena z vrsto problema in uporabljenim algoritmom
strojnega učenja, pa tudi z namenom uporabe.
Obdelavi podatkov sledita interpretacija in ovrednotenje odkritih zakonitosti. Dobljene
rezultate pojasnimo v kontekstu obravnavane problematike ter jih primerjamo z obstoječim
znanjem in morebitnimi rezultati drugih metod. S testi ovrednotimo tudi zanesljivost
rezultatov. Podamo jo kot pričakovano klasifikacijsko točnost, napako napovedovanja ipd.,
odvisno od uporabljene metode in oblike rezultata.
Opisani postopek shematično prikazuje slika 1. V njem je kot končni rezultat iz podatkov
pridobljeno znanje. Namen postopka seveda ni pridobivanje znanja samega zase, temveč za
uporabo v reševanju problemov na obravnavanem področju, kot so modeliranje, nadzor in
vodenje, podpora odločanju ipd. Pridobljeno znanje na ta način dobi uporabno vrednost.
2
podatki
IZBIRA PODATKOV
ciljni podatki
PREDPROCESIRANJE PODATKOV
predprocesirani podatki
TRANSFORMACIJA PODATKOV
transformirani podatki
ANALIZA PODATKOV
vzorci, zakonitosti
INTERPRETACIJA IN OVREDNOTENJE
znanje
Slika 1: Značilni koraki v postopku odkrivanja znanja v podatkovnih bazah
3. Strojno učenje
Pod učenjem razumemo pridobivanje znanja, bodisi preko neposrednega sprejemanja od
učitelja, s samostojnim študijem ali skozi izkušnje. To pojmovanje se seveda nanaša na
učenje pri človeku, ko pa govorimo o strojnem učenju, ki naj bi ga izvajal stroj – računalnik,
ta definicija ne zadošča. Zato v splošnem kot učenje opredelimo tiste aktivnosti, ki
pripomorejo k temu, da nek sistem bolje opravlja svoje naloge. Obstaja več vrst učenja, ki se
razlikujejo po tem, kakšni sta vlogi učečega se sistema (učenca) in sistema, ki poučuje
(učitelja). V primeru enostavnega učenja sistem, ki se uči, zgolj sprejema znanje od učitelja,
brez da bi ga sam preverjal ali dopolnjeval. Pri človeku je to pomnjenje podanih dejstev, pri
računalniku pa sprejemanje instrukcij za delovanje (programiranje). Drug skrajni primer je
samostojno odkrivanje zakonitosti brez sodelovanja učitelja. To je najvišja oblika učenja pri
človeku, računalniki pa je v splošnem (še) ne obvladajo. Vmes med tema skrajnostima je
učenje na osnovi primerov (angl. instance-based learning), imenovano tudi induktivno
učenje. V tem primeru učečemu se sistemu posredujemo učne primere, ki predstavljajo
rešene primere iz nekega področja, sistem pa primere posploši tako, da iz njih izpelje splošna
pravila ali zakonitosti, ki omogočajo nadaljnje reševanje problemov na tem področju.
Koncept učenja na osnovi primerov ilustrira slika 2.
Strojno učenje (Mitchell, 1997) je nastalo kot alternativa statistični analizi podatkov. Njegov
namen ni zgolj graditi čimbolj zanesljive modele iz podatkov, temveč morajo biti modeli tudi
takšni, da jih je moč pojasniti in razumeti. Prav transparentnost rezultatov je bistvena novost,
ki jo prinašajo sistemi strojnega učenja v primerjavi s statističnimi metodami.
3
učni primeri
(rešeni problemi)
splošna pravila,
zakonitosti
SISTEM,
KI SE UČI
Slika 2: Učenje na osnovi primerov
3.1. Induktivno strojno učenje
Med vsemi oblikami strojnega učenja je najbolj raziskano prav učenje iz primerov ali
induktivno učenje. Učne primere za sisteme induktivnega strojnega učenja ponavadi opišemo
z atributi in razredi. Atributi predstavljajo lastnosti obravnavanih objektov ali situacij, razred
pa opisuje, kako ta objekt ali situacijo obravnavamo ali kakšno odločitev zanj(o) sprejmemo.
Ponazorimo takšen način opisovanja učnih primerov s preprostim odločitvenim problemom.
Potrebno se je odločiti, katero prevozno sredstvo bomo uporabili za pot v službo, pri čemer
kot vplivne dejavnike upoštevamo vreme, temperaturo in stanje avtomobila. To so atributi
odločitvenega problema, izbrano prevozno sredstvo pa je razred. V tabeli 1 je zbranih nekaj
primerov odločitev. Vsak primer je opisan s t.i. atributnim vektorjem, ki vsebuje vrednosti
atributov in razreda (na razred lahko gledamo tudi kot na posebej odlikovani atribut). Atributi
so različnih vrst, npr. numerični in diskretni.Vrednosti dveh atributov, označeni z “?”, sta
neznani. Tabeli s tako opisanimi primeri pravimo odločitvena tabela (angl. decision table).
Tabela 1: Primer odločitvenega problema: izbira prevoznega sredstva
Vreme
sončno
deževno
sneži
sončno
oblačno
Temperatura
10
?
0
5
15
Avto pokvarjen
?
da
ne
ne
ne
Prevozno sredstvo
kolo
avtobus
avtobus
peš
avto
Induktivno strojno učenje že nekaj časa ni več le raziskovalna tema, temveč tudi širše
dostopna metodologija, implementirana v obliki prototipnih akademskih in komercialnih
računalniških programov. Ti programi generirajo rezultate v obliki odločitvenih dreves,
klasifikacijskih pravil ali celo neposredno uporabnih računalniških programov, ki
implementirajo iz primerov izpeljani odločitveni postopek (Bratko, 1993). Programi
strojnega učenja so široko uporabni pri zajemanju znanja za ekspertne sisteme in sisteme za
podporo odločanja, značilna področja uporabe pa so medicinska diagnostika, inženirski
problemi ter poslovno in finančno odločanje.
3.2. Učenje odločitvenih dreves
Med sistemi strojnega učenja na osnovi primerov, podanih v atributnem zapisu, je posebej
znana družina učnih algoritmov TDIDT (angl. top-down induction of decision trees)
4
(Quinlan, 1986). Ti algoritmi dajejo rezultat učenja v obliki odločitvenih dreves. Odločitveno
drevo je v formalnem smislu graf, sestavljen iz vozlišč in povezav. Notranja vozlišča drevesa
so obeležena z atributi, povezave z vrednostmi atributov, zunanja vozlišča, imenovana tudi
listi, pa z vrednostmi razredov. Posamezna pot od vrhnjega vozlišča (korena) do lista ustreza
enemu pravilu tipa če-potem. Predpostavka (if del) takega pravila je konjunkcija testov na
atributih, ki jih na poti opravimo na notranjih vozliščih, zaključek (then del) pravila pa
vrednost razreda, zapisana v listu. Na ta način lahko odločitveno drevo pretvorimo v
ekvivalenten nabor pravil.
Predstavimo koncept odločitvenega drevesa z zgledom. Na sliki 3 je primer odločitvenega
drevesa za problem izbire prevoznega sredstva. Drevo je izpeljano iz učnih primerov v tabeli
1 in je enakovredno odločitvam, zapisanim v tabeli, le da jih predstavlja na preglednejši
način. Pri velikem številu učnih primerov se odločitveno drevo ponavadi izkaže tudi za zelo
kompakten zapis zakonitosti, vsebovanih v primerih.
vreme
sončno
temperatura
≤5
>5
peš
kolo
oblačno
deževno, sneži
avto
avtobus
Slika 3: Odločitveno drevo za izbiro prevoznega sredstva, zgrajeno iz primerov v tabeli 1
Odločitvenemu drevesu s slike 3 ustrezajo štiri pravila za izbiro prevoznega sredstva, ki jih
lahko preberemo vzdolž povezav od korena do listov v drevesu:
1)
2)
3)
4)
Če je vreme sončno in temperatura ≤ 5, potem peš.
Če je vreme sončno in temperatura > 5, potem s kolesom.
Če je vreme oblačno, potem z avtom.
Če je vreme deževno ali sneži, potem z avtobusom.
In kako poteka gradnja odločitvenega drevesa iz učnih primerov v atributnem zapisu?
Osnova postopka je delitev učne množice na podmnožice, ki poteka rekurzivno, vse dokler
vsi primeri v posamezni podmnožici ne pripadajo enemu samemu razredu. Ta učni
algoritem, imenovan ID3, je predlagal Quinlan (1979). Besedni zapis algoritma vidimo na
sliki 4.
5
Če vsi učni primeri pripadajo enemu razredu,
potem kreiraj list, označen s tem razredom,
sicer:
1) poišči najinformativnejši atribut v učni množici,
2) kreiraj vrhnje vozlišče drevesa, označeno s tem atributom,
3) razdeli učno množico na podmnožice glede na vrednosti tega
atributa,
4) rekurzivno ponovi postopek na vsaki podmnožici.
Slika 4: Algoritem za gradnjo odločitvenih dreves ID3
Ključni element gradnje odločitvenega drevesa je izbira najinformativnejšega atributa v
vsakem rekurzivnem koraku, saj se na osnovi vrednosti tega atributa izvede delitev trenutno
obravnavane množice učnih primerov in kreira novo vozlišče v nastajajočem drevesu.
Informativnost atributov je definirana na naslednji način. Naj učna množica vsebuje primere
iz NC razredov, porazdelitev razredov pa naj bo C. Po informacijski teoriji je količina
informacije, potrebna za klasifikacijo primera iz te množice, enaka
NC
E (C ) = −∑ pi log 2 pi
(1)
i =1
Pri tem je pi verjetnost, da primer pripada i-temu razredu. Če to množico razdelimo v
podmnožice na osnovi atributa A, ki ima Nv možnih vrednosti, količina informacije za
klasifikacijo primera postane
NV
E (C | A) = −∑ p j
j =1
NC
pij
i =1
j
∑p
log 2
pij
pj
(2)
Tu je pj verjetnost, da ima primer j-to vrednost atributa A, pij pa verjetnost, da primer hkrati
pripada i-temu razredu in ima j-to vrednost atributa A. Informativnost atributa je potem
Inf ( A) = E (C ) − E (C | A)
(3)
in najinformativnejši atribut je tisti z najvišjo vrednostjo Inf(A). Verjetnosti, ki jih
potrebujemo pri tem izračunu, ponavadi ocenimo z relativnimi frekvencami v učni množici.
Razširitev osnovnega učnega algoritma ID3 je program Asistent (Cestnik in sod., 1987), ki
vsebuje več dopolnitev, pomembnih za učenje iz realnih podatkov: možnost učenja iz
nepopolnih podatkov, binarizacijo atributov (t.j. delitev primerov v dve podmnožici v
vsakem koraku) in rezanje dreves (angl. tree pruning), ki povečuje zanesljivost rezultatov pri
učenju iz šumnih podatkov. Naslednik algoritma ID3 je tudi algoritem C4.5, ki je zelo
popularen zaradi javne dostopnosti in dobre spremljajoče knjige (Quinlan, 1993).
3.3. Program za analizo podatkov s strojnim učenjem Weka
Med novejšimi prosto dostopnimi programskimi orodji za odkrivanje znanja v podatkovnih
bazah se je močno uveljavil sistem Weka (Witten in Frank, 2000). Razvit je bil na Oddelku
za računalništvo Univerze Waikato v Hamiltonu na Novi Zelandiji in je dostopen na naslovu
6
http://www.cs.waikato.ac.nz/ml/weka. Njegovo ime je akronim za Waikato Environment for
Knowledge Analysis (weka je obenem tudi ptič neletalec, ki živi samo na Novi Zelandiji).
Program Weka je implementiran je v programskem jeziku java, kar ga dela uporabnega na
različnih tipih računalnikov. Posebna praktična vrednost Weke pa je tudi v tem, da to ni
implementacija enega samega algoritma strojnega učenja, temveč vključuje širok spekter
učnih algoritmov: učenje odločitvenih dreves, regresijskih dreves in povezovalnih pravil,
metodo najbližjih sosedov, Bayesov klasifikator in druge.
Za vse učne algoritme je v Weki predpisan enoten format vhodnih podatkov. Podatki morajo
biti zapisani na tekstovni datoteki v obliki, kot je za primer prej obravnavane izbire
prevoznega sredstva prikazana na sliki 5. Vhodna datoteka vsebuje tri pomembne elemente:
ime obravnavane relacije oz. učnega problema, opis atributov in opis učnih primerov. Na
primeru vidimo, da atribute in razred obravnavamo enotno. Za vsakega podamo ime in tip, ki
je lahko numeričen ali diskreten. Za diskretne atribute naštejemo možne vrednosti. Privzeta
nastavitev programa je, da zadnji atribut (v našem primeru prevozno_sredstvo) obravnava kot
razred, vendar lahko to nastavitev po potrebi spremenimo in kot razred obravnavamo
poljuben drug atribut. Za ključno besedo data naštejemo učne primere, opisane z atributi v
enakem vrstnem redu, kot so bili atributi definirani. Weka sprejema tudi neznane vrednosti
atributov. Te označimo z “?”.
@relation prevoz
@attribute
@attribute
@attribute
@attribute
vreme {soncno, oblacno, dezevno, snezi}
temperatura numeric
avto_pokvarjen {da, ne}
prevozno_sredstvo {pes, kolo, avtobus, avto}
@data
soncno, 10, ?, kolo
dezevno, ?, da, avtobus
snezi, 0, ne, avtobus
soncno, 5, ne, pes
oblacno, 15, ne, avto
Slika 5: Predstavitev odločitvenega problema o izbiri prevoznega sredstva v formatu, ki ga
zahteva program za analizo podatkov Weka
Učenje odločitvenih dreves v Weki omogoča program J4.8. To je implementacija
Quinlanovega algoritma C4.5 Revision 8, ki je bil zadnja javno dostopna verzija tega
algoritma pred objavo komercialnega naslednika C5.0, ki ga trži podjetje RuleQuest
Research (za informacije o podjetju glej http://www.rulequest.com, o programu pa
http://www.rulequest.com/see5-info.html).
Rezultat gradnje odločitvenega drevesa za izbiro prevoznega sredstva, dobljen s programom
J4.8, vidimo na slikah 6 in 7. Na prvi je izpis drevesa v tekstovni obliki (t.i. lineariziran
izpis), na drugi pa preglednejši grafični prikaz. Nekoliko drugačna topologija drevesa v
primerjavi s tisto na sliki 3 izvira iz dejstva, da je bila tokrat uporabljena binarizacija
atributov. Hitro pa lahko ugotovimo, da sta drevesi pomensko enakovredni in ustrezata
istemu naboru pravil (na sliki 7 simbol “!=” pomeni “ni enako”).
7
J48 pruned tree
--------------vreme = soncno
|
temperatura <= 5.0: pes (1.0)
|
temperatura > 5.0: kolo (1.0)
vreme != soncno
|
vreme = oblacno: avto (1.0)
|
vreme != oblacno: avtobus (2.0)
Number of Leaves
:
Size of the tree :
4
7
Slika 6: Lineariziran zapis odločitvenega drevesa za izbiro prevoznega sredstva, dobljen z
učnim algoritmom J4.8
Slika 7: Grafični prikaz odločitvenega drevesa za izbiro prevoznega sredstva, dobljenega z
učnim algoritmom J4.8
3.4. Vrednotenje rezultatov strojnega učenja
Rezultat strojnega učenja, npr. odločitveno drevo, lahko vrednotimo po več kriterijih.
Pomembna sta predvsem njegova klasifikacijska točnost in razumljivost. Za ugotavljanje
klasifikacijske točnosti so bile razvite razne empirične metode, razumljivost oz. smiselnost
pa najbolje ovrednoti strokovnjak za problemsko področje, na katerega se rezultat nanaša.
Klasifikacijska točnost odločitvenega drevesa je delež obravnavanih primerov, ki jih drevo
pravilno klasificira. Ločimo klasifikacijsko točnost na učnih in testnih primerih.
Klasifikacijsko točnost na učnih primerih ugotovimo tako, da primere, na katerih je bilo
zgrajeno drevo, klasificiramo, t.j. z drevesom napovemo njihove razrede, in ugotovimo,
kolikšen je delež primerov, pri katerih se dejanski in napovedani razred ujemata. Za
uporabnost drevesa na bodočih, doslej nevidenih primerih z obravnavanega problemskega
8
področja je bolj informativna klasifikacijska točnost, dobljena na testnih primerih. To
dobimo tako, da celotno množico primerov razdelimo na učno in testno. Na učni zgradimo
drevo, na testni, ki je učni algoritem ni obravnaval, pa testiramo točnost. Običajno ta test za
dano množico ponovimo večkrat pri različnih delitvah primerov na učne in testne, kot točnost
pa podamo povprečje takih testov. V zadnjem času se za določanje klasifikacijske točnosti
najpogosteje uporablja t.i. prečno preverjanje (angl. cross-validation), kjer opravimo
določeno število delitev primerov na učne in testne in pripadajoča testiranja tako, da so testne
množice med seboj disjunktne, testne množice iz vseh poskusov pa skupaj sestavljajo celotno
množico primerov. Tako npr. pri 10-kratnem prečnem preverjanju v vsakem od desetih
poskusov uporabimo 90% primerov za učenje in 10% za testiranje, kot testni pa so skozi vse
poskuse uporabljeni vsi (vsakokrat drugi) razpoložljivi primeri. Poseben primer prečnega
preverjanja je metoda “izpusti enega” (angl. leave-one-out), pri kateri na množici n primerov
opravimo n testov, pri čemer se vsakič učimo na n–1 primerih, preostalega pa uporabimo za
testiranje. Zaradi dolgotrajnosti postopka pa ta metoda testiranja pride v poštev predvsem pri
manjših množicah.
V zvezi s klasifikacijsko točnostjo je v strojnem učenju poznan tudi fenomen možnosti
pretiranega prilagajanja (angl. overfitting) modela podatkom, ki pride zlasti do izraza v
primeru šumnih podatkov. Zgrajeni model (odločitveno drevo) namreč lahko opiše
podrobnosti v učni množici in s tem na njej doseže visoko klasifikacijsko točnost, vendar je
njegova sposobnost posploševanja majhna, kar se odraža tako, da je klasifikacijska točnost
drevesa na testnih podatkih, na katerih učenje ni potekalo, nizka. To preprečimo tako, da
gradnjo drevesa v posameznih vejah zaustavimo še preden delitev učne množice pripelje do
“čistih” podmnožic, katerih primeri pripadajo enemu samemu razredu. To dosežemo z
ustrezno nastavitvijo parametrov učnega programa. Posledica je manjše odločitveno drevo, ki
ima običajno nekoliko nižjo klasifikacijsko točnost na učni množici, na testni pa višjo, kot bi
jo imelo originalno drevo, ki bi povsem natančno opisovalo vse učne primere.
V programu Weka v ta namen uporabljamo parametra minimalno število primerov v listu
drevesa (angl. minimum number of instances in a leaf) in prag zaupanja za rezanje drevesa
(angl. confidence threshold for pruning) (Witten in Frank, 2000, str. 282). Prvi ima privzeto
vrednost 2, s povečevanjem te vrednosti pa dobimo manjša drevesa. Drugi ima privzeto
vrednost 25%, večja vrednost ima za posledico večje drevo, manjša pa manjše drevo.
4. Sinteza odločitvenega postopka za metalurški
proizvodni proces
Prvi primer sinteze odločitvenega postopka iz podatkov je iz obrata hladne valjarne v
jeseniški železarni (Karba, 1994). Pri hladnem valjanju trakov se sprošča veliko toplote, zato
v tem proizvodnem postopku velja posebna pozornost hlajenju. Valjalna naprava ima vgrajen
hladilni sistem, ki odvaja toploto s stalnim pretokom hladilne tekočine. Kot hladilna tekočina
se uporablja oljna emulzija, t.j. zmes vodotopnega olja in vode. Kakovost emulzije je
bistvenega pomena za kakovost hladno valjanih trakov, ki morajo imeti čisto površino
ustrezne hrapavosti. Zaradi uporabe emulzije namreč ne sme priti do onesnaženja površine
trakov, kakovost emulzije pa tudi vpliva na koeficient trenja in silo valjanja, kar odloča o
kakovosti polizdelka. Stanje valjalniške emulzije je zato potrebno dnevno nadzirati in v
primeru slabe kakovosti izvesti ukrepe za njeno izboljšanje.
9
4.1. Odločitveni problem
Z laboratorijsko analizo in meritvami se dnevno spremlja več parametrov valjalniške
emulzije, ki so pomembni za kakovost proizvodnega postopka. Med njimi so:
•
•
•
•
•
število omiljenja emulzije,
količina železa v emulziji,
količina železa v gošči emulzije,
koncentracija olja v emulziji in
količina neaktivnega olja v emulziji,
pomembna pa sta tudi podatka o dnevno dodanih olju in bazi. Vse to vpliva na uvrstitev
emulzije v enega od pet kakovostnih razredov, glede na kater je ptrebno izvesti ustrezne
ukrepe. Razredi in pripadajoči ukrepi so:
1) ”super” – stanje emulzije je povsem v redu, ni potrebno ukrepati;
2) ”odlično” – preveriti je potrebno filtriranje in kroženje hladilne tekočine, odstopanja
parametrov pa popraviti z dodajanjem emulzije ali emulzijskega olja;
3) ”dobro” – odstopanja parametrov prav tako popraviti z dodajanjem emulzije ali
emulzijskega olja in povečati pomik magnetnega filtra in odpreti globinsko zračenje;
4) ”sprejemljivo” – na enak način popraviti odstopanja parametrov, dodatno povečati
pomik magnetnega filtra in filtrirati tudi v času mirovanja valjalnega ogrodja;
5) ”slabo” – emulzijo je potrebno zamenjati.
Odločitveni problem je torej na osnovi vrednosti parametrov emulzije določiti njeno stanje
(razred) in nato izvesti ustrezne ukrepe. V vlogi odločevalca je bil vodja valjalne naprave, ki
se je v kritičnih primerih posvetoval tudi s strokovnjakom kemikom. Skozi daljše časovno
obdobje pa so primere teh odločitvenih situacij tudi evidentirali. Zbrana baza podatkov je
nato omogočila avtomatizacijo odločitvenega postopka z uporabo strojnega učenja.
4.2. Učenje odločitvenega postopka na primerih
Baza podatkov z okrog dvesto primeri vrednotenja valjalniške v atributnem zapisu je bila
analizirana z induktivnim strojnim učenjem. Kot atributi so nastopali parametri emulzije,
razred pa je bil kakovost emulzije, iz katere sledijo ukrepi za njeno izboljšanje. V začetni
različici je bil za analizo uporabljen učni program Asistent (Cestnik in sod., 1987). Izkazalo
se je da z njim dobljeno odločitveno drevo dosega visoko klasifikacijsko točnost, njegovo
ustreznost pa je potrdil tudi vodja naprave z dolgoletnimi izkušnjami pri določanju ukrepov
za izboljševanje emulzije. Odločitveno drevo oz. njemu enakovredna klasifikacijska pravila
so bila nato vgrajena v ekspertni sistem, t.j. računalniški program, ki je prevzel vlogo
odločevalca za določanje ukrepov za izbolševanje emulzije v hladni valjarni. Izkazalo se je
celo, da je bil s tem uspešno rešen problem odhoda za to nalogo usposobljenega delavca iz
delovnega razmerja. S kombiniranjem različnih metod učenja je bila zanesljivost tega sistema
naknadno še izboljšana (Karba, 1994). Do zamenjave tehnološkega postopka je bil leta v
redni uporabi in je predstavljal enega prvih in po obsegu zelo pomembnih prenosov
metodologije strojnega učenja v prakso v Sloveniji.
10
Na sliki 8 vidimo primer odločitvenega drevesa za ta odločitveni problem. Drevo je bilo
zgrajeno s programom Weka na podmnožici 108 primerov iz obravnavane baze podatkov,
razpoložljivi v eksperimentalne namene. Njegova klasifikacijska točnost na učnih podatkih je
78%, na testnih podatkih pa 74%.
Slika 8: Odločitveno drevo za določitev stanja valjalniške emulzije, zgrajeno na podmnožici
učnih primerov
5. Izbira najustreznejšega orodja za obdelovalni proces
V nadaljevanju predstavljamo razvoj odločitvenega postopka za izbiro orodja v industrijskem
obdelovalnem procesu (Filipič in Junkar, 1994, 2000). Študija je bila napravljena za Tovarne
industrijskih nožev Železarne Ravne. Odločitveni problem je izbira ustreznega brusa za
vsako od operacij, ki jih je potrebno izvesti pri brušenju nožev. Izbrati brus pomeni določiti
njegovo trdoto, zrnatost in strukturo. Na izbiro brusa poleg vrste operacije vplivata še
kemična sestava materiala obdelovanca in način njegove toplotne obdelave.
Prvi korak k posodobitvi proizvodnje v omenjenem obratu je bila izgradnja tehnološke baze
podatkov za industrijske nože. V njej so zbrani podatki o obdelovalnih operacijah v
proizvodnji nožev, med njimi tudi za brušenje. Njena računalniška izvedba omogoča hitro
izdelavo dokumentacije v pripravi proizvodnje, tipiziranje orodij in s tem zmanjševanje
njihovih zalog ter hitrejšo pripravo tehnoloških predpisov za nove izdelke. Predpise za izbiro
brusov, zbrane v tehnološki bazi podatkov, smo nato analizirali s strojnim učenjem. Iz njih
smo tvorili pravila za določitev vsake od treh lastnosti orodja kot tudi celotne specifikacije in
11
pokazali možnost kompaktnejše predstavitve predpisov. Analiza je obenem pokazala
nekonsistentnosti v tehnološki bazi podatkov. Ugotovljeno je bilo, da je za izvajanje
nekaterih operacij brušenja v uporabi po več različnih predpisov za izbiro orodja. To je
posledica dela na različnih strojih ter različne prakse posameznih operaterjev.
5.1. Odločitveni problem
Industrijski noži so namenjeni rezanju materialov, kot so papir, pločevina, usnje ipd.
Brušenje nožev je zadnja faza v njihovi proizvodnji in je zato posebej pomembno za njihovo
kvaliteto. Brušenje noža obsega šest operacij, vezanih na obdelavo posameznih ploskev:
brušenje ploščine, naklona, dolžine, širine, rezine in širine rezine. Noži so izdelani iz
različnih vrst jekla, ki se razlikujejo po kemični sestavi. Poznani so podatki o vsebnosti
naslednjih elementov v njih: ogljik (C), krom (Cr), molibden (Mo), vanadij (V), volfram (W)
in silicij (Si). Na lastnosti izdelka vpliva tudi toplotna obdelava materiala. Jeklo za izdelavo
nožev je bodisi žarjeno ali kaljeno na enega od dveh načinov: 48–54 HRc (v nadaljevanju
kaljenje 1) ali 55–63 HRc (kaljenje 2).
Značilnosti brusa, ki vplivajo na kvaliteto obdelane površine, so njegova trdota, zrnatost in
struktura. Bruse delimo po trdoti v razrede:
•
•
•
•
•
zelo mehki (oznake E, F, G),
mehki (H, I, J, K),
srednje trdi (L, M, N, O),
trdi (P, R, S) in
zelo trdi (T, U, V, Z).
Po zrnatosti ločimo:
•
•
•
•
zelo grobe (oznake 8–16),
grobe (20–36),
srednje zrnate (40–70) in
fine (80–100) bruse.
Struktura brusa je lahko:
•
•
•
•
zaprta (oznake 1–3),
srednja (4–6),
odprta (7–9) ali
močno porozna (10–12).
Naloga je za dano operacijo brušenja, kemično sestavo obdelovanca in njegovo toplotno
obdelavo določiti ustrezno specifikacijo brusa, njegovo trdoto, zrnatost in strukturo.
5.2. Sinteza odločitvenega postopka s strojnim učenjem
Za sintezo odločitvenega postopka za izbiro brusov smo kot učne primere uporabili predpise
iz tehnološke baze podatkov. Od skupno 362 predpisov se jih 190 nanaša na izbiro brusov v
12
redni proizvodnji, 172 pa je alternativnih in se uporabljajo v primeru zastojev ali okvar na
redni proizvodni liniji. Pri analizi smo upoštevali 190 redno uporabljanih predpisov. Ti za
različna jekla in operacije brušenja v obliki diagramov podajajo ustrezne karakteristike brusa
v odvisnosti od toplotne obdelave obdelovanca. Za učni program je vsak predpis učni primer,
opisan z atributi operacija brušenja, toplotna obdelava in vsebnosti šestih elementov, razred
pa karakteristike brusa.
Učenje je potekalo na dva načina: prvič ločeno za vsako od treh karakteristik brusa in drugič
enotno za popolno specifikacijo brusa. V drugem primeru je bil razred kartezični produkt
razredov vseh treh podproblemov. Uporabljeni učni primeri pokrivajo bruse, ki so po trdoti
zelo mehki, mehki ali srednje trdi, katerih zrnatost je groba ali srednja, struktura pa srednja,
odprta ali močno porozna. Nastopajočih kombinacij teh vrednosti (t.j. specifikacij brusov oz.
razredov v primeru učenja celotnih specifikacij) je 13.
Podatke o klasifikacijskih točnostih na testnih primerih prikazuje tabela 2. Tako pri
odločanju o posamezni karakteristiki brusa kot o popolni specifikaciji je dosežena
klasifikacijska točnost zelo nizka, saj je le za spoznanje boljša od zastopanosti večinskega
razreda. Pregled dreves in klasifikacije z njimi je pokazal, da je vzrok za to nekonsistentnost
predpisov. V velikem številu primerov se za isto operacijo brušenja, vrsto materiala in
toplotno obdelavo uporablja po več različnih brusov, razlike pri posameznih karakteristikah
pa dosegajo tudi dva kvalitativna razreda. V listih dobljenih odločitvenih dreves zato tipično
nastopa po več razredov.
Da bi pokazali uporabnost avtomatske sinteze odločitvenega postopka na konsistentnejši
množici podatkov, smo iz učne množice izbrali podmnožice primerov, ki ustrezajo
predpisom za brušenje na posameznih strojih (BVP-40, BVP-60a, Sielemann) in na njih
izvedli gradnjo odločitvenih dreves za specifikacije brusov. V vseh primerih smo dobili zelo
visoke klasifikacijske točnosti (glej tabelo 2), kar potrjuje potrebo po uskladitvi predpisov
med različnimi operaterji.
Tabela 2: Klasifikacijske točnosti pri obravnavanih problemih izbire orodja
Odločitveni problem
Trdota brusa
Zrnatost brusa
Struktura brusa
Celotna specifikacija brusa
Brusi za stroj BVP-40
Brusi za stroj BVP-60a
Brusi za stroj Sielemann
Klasifikacijska točnost
Zastopanost
večinskega razreda na testnih primerih
[%]
[%]
44,2
58,5
52,6
65,2
51,0
57,5
27,4
36,3
32,3
95,3
66,7
96,0
66,7
100,0
V ilustracijo podajamo odločitveno drevo, dobljeno za določanje specifikacij za izbiro orodja
za stroj BVP-60a (slika 9). Vsakemu od treh razredov brusov, ki se na stroju uporabljajo,
ustreza eno klasifikacijsko pravilo pravilo (slika 10). Dobljena pravila za vse stroje po oceni
tehnologov smiselno povzemajo odločitveni postopek in so obenem pregledna predstavitev
predpisov iz tehnološke baze. Od predpisov so kompaktnejša, saj v njih kot atribut ne nastopa
13
operacija brušenja, temveč le vsebnost ogljika in toplotna obdelava jekla. Čeprav npr. na
stroju BVP-60a izvajajo štiri operacije, t.j. brušenje ploščine, naklona, širine in širine rezine,
se je izkazalo, da je izbira brusa po kvalitativnih vrednostih karakteristik neodvisna od
operacije. Navedena pravila so enakovredna zamenjava za nekaj strani diagramov v obstoječi
tehnološki dokumentaciji.
vsebnost_C
≤ 1%
>1%
SrT-SrZ-SrS
topl_obdelava
žarjenje
ZMe-GrZ-MPo
kaljenje1,
kaljenje 2
Me-GrZ-MPo
Slika 9: Odločitveno drevo za izbiro brusa za stroj BVP-60a
1) IF vsebnost_C ≤ 1%
AND toplotna_obdelava = žarjenje
THEN brus = ZeloMehak, GroboZrnat, MočnoPorozen
2) IF vsebnost_C ≤ 1%
AND toplotna_obdelava = kaljenje1 OR kaljenje2
THEN brus = Mehak, GroboZrnat, MočnoPorozen
3) IF vsebnost_C > 1%
THEN brus = SrednjeTrd, SrednjeZrnat, SrednjaStruktura
Slika 10: Pravila za izbiro brusa za stroj BVP-60a
Pomemben rezultat opravljene analize je bila ugotovitev, da so nedoslednosti v tehnološki
bazi podatkov, ki se jih proizvajalec sicer zaveda, zelo kritične s stališča klasifikacijske
točnosti. Obstoječe predpise je zato nujno poenotiti. Pri tem sintetizirani odločitveni
postopek lahko pomaga z odkrivanjem nekonsistentnosti in s predlogi za njihovo odpravo.
6. Zaključek
Analiza podatkov z metodami strojnega učenja oz. odkrivanje novih, potencialno koristnih
informacij v podatkovnih bazah postaja zaradi naraščajoče količine računalniško shranjenih
podatkov vse bolj aktualna metodologija. Naloge, ki jih obravnava, t.j. modeliranje,
klasifikacija, napovedovanje ipd., je moč reševati tudi z drugimi, npr. statističnimi metodami,
vendar nova metodologija daje preglednejše rezultate, ki so prikladnejši za interpretacijo in
pojasnjevanje, upošteva pa tudi neugodne lastnosti podatkovnih množic, s katerimi se
srečujemo v praksi, npr. šumnost podatkov, manjkajoče vrednosti, obsežnost baz podatkov
ali njihovo porazdeljenost.
14
Na nekaj primerih odločitvenih problemov iz proizvodnih procesov smo pokazali, kako je
moč novo metodologijo uporabiti za avtomatsko sintezo odločitvenih postopkov iz primerov.
Videli smo, da rezultati omogočijo nov vpogled v problemsko področje in lahko znantno
olajšajo delo odločevalcu, lahko pa tudi pokažejo nedoslednosti v obravnavanih podatkih.
Seveda pa je to metodologijo treba vrednotiti kritično. Zavedati se je treba, da lahko z njo
dobimo smiselne rezultate le pri pogoju, da je nabor podanih učnih primerov reprezentativen
za obravnavani problem. Rezultate je prav tako potrebno obravnavati kot enega od možnih
virov informacij, ki so uporabniku v pomoč pri odločanju, končna odgovornost za odločitve
pa še naprej ostaja na njegovi strani.
Literatura
Bratko, I. (1993). Applications of machine learning: Towards knowledge synthesis, New
Generation Computing, Vol. 11, No. 3, pp. 343–360.
Cestnik, B., Kononenko, I., Bratko, I. (1987). Assitant-86: A knowledge elicitation tool for
sophisticated users. In: Bratko, I., Lavrač, N. (Eds.), Progress in Machine Learning, Sigma
Press, Wilmslow, UK, pp. 31–45.
Filipič, B., Junkar, M. (1994). Od tehnološke baze podatkov do odločitvenega postopka za
izbiro orodja v industrijskem obdelovalnem procesu. V Solina, F., Zajc, B., (ur.), Zbornik
tretje Elektrotehniške in računalniške konference ERK '94 (Portorož, 1994), Slovenska
sekcija IEEE, Ljubljana, zvezek B, str. 163–166.
Filipič, B., Junkar, M. (2000). Using inductive machine learning to support decision making
in machining processes, Computers in Industry, Vol. 43, No. 1, pp. 31– 41.
Karba, N. (1994). Postopki integracije baz znanja ekspertnih sistemov po principu
mnogoterega znanja, Doktorska disertacija, Univerza v Mariboru, Fakulteta za organizacijske
vede, Kranj.
Quinlan, J. R. (1979). Discovering rules by induction from large collections of examples. In:
Michie, D. (Ed.), Expert Systems in the Microelectronic Age, Edinburgh University Press, pp.
168–201.
Qinlan, J. R. (1986). Induction of decision trees, Machine Learning, Vol. 1, No. 1, pp. 81–
106.
Quinlan, J. R. (1993). C4.5: Programs for Machine Learning, Morgan Kaufmann, San
Francisco.
Mitchell, T. M. (1997). Machine Learning, McGraw Hill, New York.
Witten, I. H., Frank, E. (2000). Data Mining: Practical Machine Learning Tools and
Techniques with Java Implementations, Morgan Kaufmann, San Francisco.
15