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 [email protected] 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
© Copyright 2024