Antoine Kalmbach [email protected]/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut....
Transcript of Antoine Kalmbach [email protected]/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut....
![Page 2: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/2.jpg)
Sisällys
• Taustaa
• Kuljetusongelma
• Datan tuominen vaikeaa
• Teoriaa
• Tiedostojen väliset linkit
• Mikä sarake on mikäkin?
• Ratkaisutoteutus – laivaston päättely
• Tähänastiset tulokset
![Page 3: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/3.jpg)
TAUSTAA Kuljetusongelma, datan tuominen
![Page 4: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/4.jpg)
Kuljetusongelma
![Page 5: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/5.jpg)
Kuin kauppamatkustajan ongelma, mutta n eri kauppamatkustajaa, ja kaikki palaavat varikolle.
varikko
![Page 6: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/6.jpg)
Kuljetusongelmasta
![Page 7: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/7.jpg)
Kuljetusongelmasta
• NP-vaikea ongelma.
• Tarkan ratkaisun etsintä isoissa tapauksissa toivotonta.
• Avuksi heuristiikat ja metaheuristiikat.
• Algoritmien pyörityksen hoitaa laskentaohjelmisto (engl. solver)
![Page 8: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/8.jpg)
Tilanne: optimointia palveluna
• Haluamme myydä optimointia palveluna.
• Asiakkaat lähettävät ongelmadatan, takaisin ratkaistuna.
• Esim. Rekka-Pena Oy haluaa optimoida kuljetusfirmansa reittejä.
• Rekka-Pena Oy lähettää datan jossain muodossa, yleensä ennalta sovittu Excel-tiedosto.
![Page 9: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/9.jpg)
Mahdollisuus: löysä formaatti
• Esitäytetyn Excel-mallin täyttäminen ankeaa.
• Asiakkaalla data yleensä eri muodossa.
• Helppoa olisi, jos voisimme lukea mitä tahansa dataa.
Datan tuontiongelma.
Halutaan tukea monta formaattia, joita emme edes etukäteen tunne täysin.
Tarvitaan automaattista päättelyä. Miten tämä tehdään?
![Page 10: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/10.jpg)
TEORIAA Datan tuontiongelma, liitospäättely, attribuuttiluokittelu, laivastontuonti
![Page 11: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/11.jpg)
Datan tuontiongelma
Tai, pelkoa ja inhoa relaatioviidakossa
![Page 12: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/12.jpg)
TAVOITE:
Päättele datasta asiakkaan ajoneuvot ja sijainnit, eli laivasto.
![Page 13: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/13.jpg)
Ajoneuvo
• Yleinen termi. Voi olla rekka, bussi, henkilöauto, helikopteri, laiva, panssarivaunu, tähtilaiva, taisteluplaneetta...
• Datassa seuraavat asiat:
• Tunniste (esim. rekisterinumero)
• Kapasiteetti (jos kapasitoitu VRP)
• Yleisesti, tunniste i ja rajoitteet .
![Page 14: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/14.jpg)
Sijainti
• Jokin paikka kartalla. Esimerkiksi osoite tai koordinaatti.
• Sisältää kapasitoidun VRP:n tapauksessa positiivisen tai negatiivisen kuormamäärän, eli tilattu tavara (tai noudettava).
• Aikaikkuna-rajoitetun VRP:n tapauksessa sisältää aikaikkunan, minkä aikana sijainnissa pitää käydä, sekä käyntiajan.
![Page 15: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/15.jpg)
DATA
![Page 16: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/16.jpg)
Datan formaatti
• Tähänastiset asiakastilaukset ovat olleet Excel-muodossa.
• Toisin sanoen, taulukot, eli CSV.
• Abstraktimmin: relaatiot.
• Jokainen sarake on attribuutti, jolla on tietotyyppi.
![Page 17: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/17.jpg)
Relaatioiden väliset yhteydet
• Ensimmäinen ongelma.
• Dokumentissa monta relaatioita, jotka ovat kytköksissä toisiinsa.
• Tietokantamaailmasta tuttu primary ja foreign key –tapaus.
• Yksi sarake sisältää rekisterinumeron. Tätä käytetään kahdessa relaatiossa tunnisteena.
• Yksi relaatio sisältää valmistajan ja kapasiteetin, toinen sisältää huoltotiedot (esim.)
![Page 18: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/18.jpg)
Relaatioiden väliset yhteydet
• Tavoite:
• Sulauta relaatiot yhdeksi etsimällä sopivat avaintunnisteet.
• Niin ettei dataa katoa ja tärkeä tieto säilyy.
• Nimi: join inference eli liitospäättely.
• Muodostettu relaatio sisältää nyt koko laivaston nätissä paketissa.
• Mikä attribuutti on mikäkin?
![Page 19: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/19.jpg)
Attribuuttien luokittelu
• Tiedämme, mitä attribuutteja etsitään.
• Ajoneuvojen kapasiteetteja, osoitteita, tilauksia, tunnisteita…
• Ratkaisu: päätellään attribuuttien datasta, mikä on mikäkin.
• Esim. kapasiteettiattribuutille tuskin kuuluu sarake jonka tiedot ovat muotoa ”hevonen” tai ”Mörkökuja 1Y 2B”.
![Page 20: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/20.jpg)
RATKAISU: Koneoppiminen
![Page 21: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/21.jpg)
Koneoppiminen lyhyesti
• Opetellaan datasta malli ja käytetään sitä ennustamiseen.
• Käyttötarkoituksena esimerkiksi luokittelu, regressio, suosittelu, klusterointi…
• Oppimistilanteita: • Valvottu (supervised learning)
• Ei-valvottu (unsupervised)
• Osittain valvottu (semi-supervised)
• Jatkuva (online)
• Palautepohjainen (reinforcement)
![Page 22: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/22.jpg)
Konseptit & Hypoteesit
• Tavoite: opettele jokin konsepti.
• Esimerkiksi mikä on spämmiä ja mikä ei.
• Yleisesti jokin funktio esimerkeistä X luokkiin Y.
• Binäärisessä luokitteluongelmassa Y = {0, 1}.
• Algoritmin tehtävä on muodostaa hypoteesi, joka vastaa opeteltavaa konseptia.
![Page 23: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/23.jpg)
Laivastopäättelyn oppiminen
1. Opettele tunnistamaan, mikä sarake linkittää relaatiot toisiinsa. Yksi luokittelija, joka tietää mitä etsiä.
2. Opettele tunnistamaan, mikä sarake vastaa mitäkin laivastotietuetta. Yksi luokittelija per tietue, joista yksi aina antaa positiivisen tuloksen.
![Page 24: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/24.jpg)
Menetelmä
• Päätöspuut.
• Jakavat avaruuden rekursiivisesti osiin.
• Päätöspuun oppiminen:
• Muodosta päätöspuu katselemalla dataa.
• Edut: nopeita ja intuitiivisia.
• Ongelmat: saattavat kasvaa liian isoksi.
![Page 25: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/25.jpg)
TÄHÄNASTISET TULOKSET tilannekatsaus
![Page 26: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/26.jpg)
Liitospäättelyn luokittelija
• Päätöspuilla tehty.
• Opetusdataa paljon, koska yleinen ongelma.
• IMDB, MovieLens, Last.fm, Delicious –datasetit opetusdatana (http://ir.ii.uam.es/hetrec2011/datasets.html)
• Kokeiltu omaan testidataan asiakkaille ja se…
• Toimii.
![Page 27: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/27.jpg)
Attribuuttien luokittelija
• Työn alla.
• Kaksi tietuetta seitsemästä jo rakennettu luokittelijoineen.
• Opetusdatana esim. kapasiteettien tapauksessa asiakkaiden data, osoitteiden kanssa postin osoitetietokannat.
![Page 28: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/28.jpg)
Tehtävää
• Attribuuttien luokituksen viimeistely ja yhtenäistäminen.
• Käytettyjen piirteiden listaaminen. Uusia kehitetty.
• Testaaminen ja tuloksien raportointi.
• Vertailu.
• Tämä siis konstruktiivisen osan loppu.
![Page 29: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta](https://reader033.fdocument.pub/reader033/viewer/2022060821/609a57805bfb03010861470d/html5/thumbnails/29.jpg)
Lopuksi
• Gradun teoriaosasta valmiina 90%.
• Koodauksen valmistuttua seuraa konstruktiivisen osion dokumentointi.
• Lopullinen sivumäärä noin sata (nyt 50).
• Painoarvoa tuloksilla ja menetelmän dokumentoinnilla.
• Kysymyksiä?