Johdatus tekoälyyn
Exam
Year | Semester | Date | Period | Language | In charge |
---|---|---|---|---|---|
2017 | spring | 16.01-03.03. | 3-3 | Finnish | Teemu Roos |
Lectures
Time | Room | Lecturer | Date |
---|---|---|---|
Mon 14-16 | CK112 | Teemu Roos | 16.01.2017-27.02.2017 |
Tue 14-16 | CK112 | Teemu Roos | 17.01.2017-28.02.2017 |
Exercise groups
Time | Room | Instructor | Date | Observe |
---|---|---|---|---|
Thu 12-14 | B120 | Hannu Kärnä | 26.01.2017—02.03.2017 |
Time | Room | Instructor | Date | Observe |
---|---|---|---|---|
Thu 14-16 | B120 | Teemu Roos | 26.01.2017—02.03.2017 |
Time | Room | Instructor | Date | Observe |
---|---|---|---|---|
Fri 14-16 | B222 | Hannu Kärnä | 27.01.2017—03.03.2017 |
Information for international students
This year, the course is given in Finnish. Starting next academic year (2017-2018), the language of the course will be English.
The course will be lectured next in the Fall 2017 (period I).
Uutisia
- 11.4.2017: Kurssin tulokset (vaatii kirjautumisen tktl-tunnuksilla)
- 5.3.2017: Kokeeseen voi ottaa mukaan "lunttilapun": 2-puolinnen, käsinkirjoitettu (ei kopioitu) A4, johon voit kirjoittaa mitä parhaaksi näet. Koskee myös erilliskokeita ellei toisin ilmoiteta.
- 5.3.2017: MUISTA ANTAA KURSSIPALAUTETTA: Palautejärjestelmä
- 5.3.2017: Tekoälyllä on PR-ongelma: MIT Technology Review "AI's PR Problem"
- 1.3.2017: HUOM: Tarkennus robotiikkatehtäviin: leJOS-ympäristöä ei tarvitse asentaa omalle koneelle. Riittää valmistella ratkaisu kotona. Se siirretään oikeaan ympäristöön laskuharjoituksissa.
- 1.3.2017: Viimeisten laskuharjoitusten osa II jaossa. Deadline 16.3.2017. (Osa I palautetaan normaalisti 2.-3.3. laskuharjoituksissa.)
- 26.2.2017: MAANANTAIN 27.2. VIERAILULUENTO PERUTTU SAIRASTUMISEN VUOKSI
- 20.2.2017: Loppukurssin ohjelmassa vierailuluentoja 21.2. ja 27.2. EI LUENTOA 28.2.
- 9.2.2017: Luennot 9 ja 10 korvataan verkkovideoilla ja muulla materiaalilla: EI LUENTOJA 13.-14.2.
- 7.2.2017: Shakkibotin pohja vaihdettu uuteen, jonka pitäisi olla yhteensopiva turnauspalvelimen kanssa
- 5.2.2017: Shakkiturnaus käynnistyy: katso tilanne ja osallistu
- 5.2.2017: Tekoäly voittaa ihmisen pokerissa: juttu HS:ssä (ks. myös video)
Completing the course
Kurssin arvostelu perustuu laskuharjoituksiin (noin 33%) ja kurssikokeeseen (noin 67%).
Läpipääsyraja on noin puolet tarjolla olevista suorituspisteistä. Huom: 5 opintopisteen kurssi edellyttää arviolta 18 viikkotuntia työtä. Varaudu siis näkemään vaivaa.
Luennoilla ei ole läsnäolopakkoa, mutta etenkin ensimmäinen luento maanantaina 18.1.2015 on suositeltava.
Q & A
Kysymykset ja vastaukset kurssin omalle Piazza-foorumille. Jos olet ilmoittautunut kurssille, sinun olisi pitänyt saada sähköpostiin linkki, jonka avulla pääset kirjautumaan foorumille. Ongelmatilanteissa ota yhteys luennoijaan: teemu.roos@cs.helsinki.fi .
Kurssin epäviraalinen irc-kanava on #johtek . Ohjeet FuksiWikissä.
Literature and material
Kurssilla ei ole kurssikirjaa. Käsiteltävä materiaali käydään pääosin läpi kurssimonisteessa, jota päivitetään kurssin kuluessa (huomaa myös linkit luentokalvoissa):
- KURSSIMONISTE (pdf; päivitetty 18.2.2016)
Edellisvuosien kurssimateriaalista ja etenkin laskuharjoitusten esimerkkiratkaisuista voi toisinaan olla hyötyä:
Luento 1 (18.1.2017): Tekoälyn filosofiaa | Etsintäalgoritmit.
- Luentokalvot (pdf,) -- paras-ensin–haku ja A* luultavasti seuraavalla luennolla
-
Aiheet:
- kurssin perustiedot
- tekoäly kulttuurissa
- tekoälyn filosofiaa (heikko vs vahva tekoäly, ...)
- Turingin testi
- Mitä tekoäly oikeasti on? Nykytutkimus, sovellukset, ...
- Verkon läpikäyntialgoritmit (leveys- ja syvyyssuuntainen, A*)
- Ongelmien esittäminen verkkona, reitinoptimointi -
Lisämateriaalia:
- Floreen: Tietorakenteet ja algoritmit -kurssin materiaali (pdf)
- Ertel: Introduction to Artificial Intelligence, Springer 2011. Chapter 6 "Search, Games and Problem Solving"
Paperiversio löytyy kurssikansiosta, Exactum C127. Kopioi, älä vie alkuperäistä!
- Udacity AI -kurssin etsintää käsittelevät videot: erityisesti First search program, A*
- A*-hakua ja muita etsintäalgoritmeja havainnollistava demo
Luento 2 (19.1.2017): Pelit
- Luentokalvot (pdf) :: alpha-beta -karsinta jäi ensi viikolle
-
Aiheet:
- minimax-algoritmi
- alpha-beta-karsinta
- tietokoneshakki -
Lisämateriaalia:
- alpha-beta-karsintaa havainnollistava monivalintatehtävä + video
- alpha-beta-karsintaa havainnollistava video (10 min; huomaa, että laskuharjoitustehtävänä ei ole videon ristinolla)
Luento 3 (23.1.2017): Logiikka tekoälyn historiassa | Todennäköisyysmallinnus I
- Luentokalvot (pdf, 4.2 MB)
-
Aiheet:
- tietämyksen esittäminen logiikan avulla
- logiikkaohjelmoinnista ja sen ongelmista (lyhyesti)
- todennäköisyyslaskennan peruskäsitteitä: perusjoukko, tapahtumat -
Lisämateriaalia
- P. Tuominen, Todennäköisyyslaskenta I, Limes, 1994
- Ertel: Introduction to Artificial Intelligence, Springer, 2011. Kappale 7 "Reasoning with Uncertainty" (s. 122 asti)
- D. Barber: Bayesian Reasoning and Machine Learning, Cambridge University Press, 2012. Kappale 1 "Probabilistic Reasoning" (ladattavissa ilmaiseksi)
Muuta kiinnostavaa (vapaavalintaista):
- Ertel: Introduction to Artificial Intelligence, Springer, 2011. Chapter 5 "Logic Programming with PROLOG"
- GNU Prolog (käynnistyy laitoksen Linux-koneissa komennolla 'prolog')
- Wikipedia: Prolog
Luento 4 (24.1.2017): Todennäköisyysmallinnus II: Bayesin kaava
- Luentokalvot (pdf, 4.0 MB)
-
Aiheet:
- ehdollinen todennäköisyys ja riippumattomuus
- Bayesin kaava -
Lisämateriaalia
- The Guardian: A formula for justice
- Better Explained: Understanding Bayes Theorem with Ratios
- Wikipedia: Bayes theorem (Drug testing)
- Youtube: Maths Doctor, Bayes' theorem and medical testing
Luento 5 (30.1.2017): Todennäköisyysmallinnus III: Naivi Bayes -roskapostisuodatin
- Luentokalvot (pdf, 1.0 MB) :: iso osa käsitellään liitutaululla => katso luentomoniste
-
Aiheet:
- naivi Bayes -malli
- roskapostisuodattimen toteutus -
Lisämateriaalia:
- Dr Dobbs Journal: Naive Bayesian text classification
- M. Sahami, S. Dumais, D. Heckerman, E. Horvitz (1998). "A Bayesian approach to filtering junk e-mail". AAAI'98 Workshop on Learning for Text Categorization.
Luento 6 (31.1.2017): Todennäköisyysmallinnus IV: Bayes-verkot | Koneoppiminen I
- Luentokalvot (pdf, 2.3MB) :: muutama kalvo lopusta (esimerkit 4-9) jäi ensi viikolle
-
Aiheet:
- Bayes verkot
- datan generoiminen Bayes-verkosta
- approksimatiivinen ("Monte Carlo-") päättely Bayes-verkossa
- johdattelua koneoppimiseen esimerkkien kautta -
Lisämateriaalia
- Ertel: Introduction to Artificial Intelligence, Springer, 2011. Kappale 7.4 "Reasoning with Bayesian Networks"
- D. Barber: Bayesian Reasoning and Machine Learning, Cambridge University Press, 2012. Kappale 3 "Belief Networks" (ladattavissa ilmaiseksi)
Luento 7 (6.2.2017): Koneoppiminen II
- Luentokalvot (pdf; 1.3 MB)
-
Aiheet:
- koneoppimisen lajit (ohjattu, ohjaamaton, palauteoppiminen, semisupervised, ...)
- lähimmän naapurin luokitin
- naivi Bayes -luokitin (taas!)
- neuroverkkoluokitin -
Lisämateriaalia:
- Data Mining with Weka MOOC: 3.3. "Using Probabilities (Naive Bayes classifier)"
- Weka 3: Data Mining Software in Java
- P. Domingos: A Few Useful Things to Know about Machine Learning (pdf)
- Wikipedia: Naive Bayes classifier
- C. Elkan: Nearest Neighbor Classification (pdf)
Luento 8 (7.2.2017): Neuroverkot
- Luentokalvot (pdf; 2.6 MB)
-
Aiheet:
- neuroverkkotyyppejä
- neuroverkkojen oppimisesta
- perseptronialgoritmi (luokitin)
- Hopfielding verkko, Boltzmannin kone
- Kohosen itseorganisoiva kartta (SOM) -
Lisämateriaalia:
- Wikipedia: Types of artificial neural networks
Luento 9 (VIDEOLUENTO): Digitaalinen signaalinkäsittely
- Videoluento (Youtube, 16min)
- Linkit videoihin (katso myös nämä):
- Luentokalvot (pdf, 5.5MB)
-
Aiheet:
- tietokonegraafiikka ja kuvankäsittely
- kuvan ja äänen esitysmuodot
- signaalinkäsittelyn sovelluksia
- hahmontunnistus
- invariantit piirteet (SIFT/SURF) -- opeteltava perusidea (kolme vaihetta), ei yksityiskohtia
- 3D-rekonstruktio -
Materiaalia:
- OpenCV -kirjasto
Luento 10 (VIDEOLUENTO): Luonnollisen kielen käsittely
- Videoluento (Youtube, 20min)
- Luentokalvot (pdf, 4.2 MB)
-
Aiheet:
- luonnollisen kielen käsittelyn sovelluksia
- lauseenjäsennys
- CYK-algoritmi -
Materiaalia:
- Youtube: Stanford NLP - Professor Dan Jurafsky & Chris Manning
- Wikipedia: CYK algorithm
Luento 11 (20.2.2017): Robotiikka
- Luentokalvot (pdf)
-
Aiheet:
- robotiikka tekoälyn "Grand Challengena"
- esimerkkejä scifi- ja todellisista roboteista
- Lego-robottien esittely
- Lejos-ohjelmointiympäristö
- esimerkkejä -
Ohjeita Lego Mindstorms -tehtävään:
- Robottiohjelmoinnin harjoitustyö (kevät 2011)
- aloita tästä: Yleistä NXT:n ohjelmoinnista leJOS:illa
- leJOS API -rajapintakuvaus (sis. kaikki käytettävissä olevat komennot), vaihtoehtoinen linkki
- leJOS -tutoriaali
Luento 12 (21.2.2017): Vierailuluento: NLP
- Roman Yangarber
- Luentokalvot (pdf; 8.8MB)
Luento 11: (27.2.2017) Vierailuluento (logiikkapohjaiset menetelmät) PERUTTU
- Matti Järvisalo
Laskuharjoitukset
Laskuharjoitussuoritukset kirjataan laskuharjoitustapahtumassa. Jos et pääse paikalle omaan ryhmääsi (tai jos joudut ilmoitttautumaan "jonoon" eli ryhmään 99), voi vierailla muissa ryhmissä. Jos et pääse mihinkään ryhmään, voit palauttaa tehtävät sähköpostitse (hannu.karna@helsinki.fi) viimeistään perjantaina klo 14.15. HUOM: Etänä palauttaminen on sallittua max. 2 kertaa kurssin aikana, poislukien yksittäiset hyvin perustellut poikkeustapaukset (ei esim. työkiireet).
-
Tehtävät (pdf) | esimerkkiratkaisut (pdf) Reittiopas.java
materiaali Reittiopas-tehtävään: Reittiopas1.zip -
Tehtävät (pdf) | esimerkkiratkaisut (pdf) alphabeta_solution.zip reittiopas-ratkaisut.zip
materiaali Reittiopas-tehtävään: Reittiopas-astar.zip -
Tehtävät (pdf) | esimerkkiratkaisut (pdf) spam-ratkaisu (Java) spam-ratkaisu (python; kiitokset Sami Sarsalle)
materiaali spam-tehtävään: spamham.zip
materiaali shakkitehtävään: Shakki.zip turnauspalvelin -
Tehtävät (pdf) | esimerkkiratkaisut (pdf) perseptroni (Java)
materiaali luokittelutehtäviin: Perseptroni.zip -
Tehtävät (pdf) | esimerkkiratkaisut (pdf) NLP-tehtävä (Java)
materiaali koneoppimistehtävään: Weka-ohje | spirals.arff
materiaali hahmontunnistustehtävään: surf-package.zip
materiaali NLP-tehtävään (Java): NLP.zip -
Tehtävät (pdf)
materiaali robotiikkatehtävään: Terminator.java (kirjoita ratkaisusi tähän pohjaan; leJOS-ympäristöä ei tarvitse asentaa, joten et voi testata kotona, vaan joudut tekemään lopulliset viilaukset laskuharjoituksissa)