Antoine Kalmbach [email protected]/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut....

29
Älykäs datan tuonti kuljetusongelman optimoinnissa Antoine Kalmbach [email protected]

Transcript of Antoine Kalmbach [email protected]/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut....

Page 1: Antoine Kalmbach ane@ikiusers.jyu.fi/~jhaka/gradu-seminaari/esitykset/kalmbach.pdf•Päätöspuut. •Jakavat avaruuden rekursiivisesti osiin. •Päätöspuun oppiminen: •Muodosta

Älykäs datan tuonti kuljetusongelman optimoinnissa

Antoine Kalmbach

[email protected]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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ä?