Koneoppiminen (eng. machine learning) on tekoälyn yksi alaryhmä. Koneoppimisessa kone parantaa suorituskykyään oppimalla itsenäisesti datasta ilman erillisiä toimintaohjeita. Suurin osa tekoälyä hyödyntävistä sovelluksista perustuu koneoppimiseen.
Koneoppiminen on totuttu jakamaan kolmeen alakategoriaan, joskin monissa koneoppimisen sovelluksissa sovelletaan kahta kategoriaa samanaikaisesti. Koneoppimisen muodot ovat:
Ohjattu oppiminen (eng. supervised learning): koneelle annetaan syöte sekä oikea ratkaisu opetusdatasta.
Ohjaamaton oppiminen (eng. unsupervised learning): Kone ei saa valmiita oikeita vastauksia, vaan se päättelee ne datassa olevien säännönmukaisuuksien perusteella.
Vahvistusoppiminen (Reinforcement learning): Kone ei saa vieläkään valmiina oikeita vastauksia, mutta sille annetaan palautetta siitä, kuinka onnistuneesti se toimii. Esimerkiksi robottiautot ovat hyvä esimerkki tähän kategoriaan kuuluvasta koneoppimisesta.
Matemaattisessa mielessä koneoppiminen pohjautuu vahvasti tilastotieteen menetelmiin: lineaariseen regressioon sekä Bayesin tilastoihin. Se käsittelee samankaltaisia kysymyksiä kuin tietojenkäsittelytiede ja matemaattinen optimointi. Koneoppimisen ero perinteiseen tekoälyyn on se, ettei koneoppimisen avulla pyritä ihmisen älykkääseen käytökseen vaan etsimään isosta data-aineistosta ne säännönmukaisuudet, joita ihminen ei löytäisi. Yleisimmissä koneoppimisen ongelmissa onkin vain yksi oikea vastaus.
Kaupallisessa käytössä koneoppimisen avulla pystytään luomaan monimutkaisia algoritmeja ja malleja, joita voidaan hyödyntää esimerkiksi päätöksenteon tukena tai tuotantoprosessien tehostamisessa. Koneoppimisella onkin lukuisia sovelluskohteita mm. hakukoneissa, lääketieteessä, robotiikassa ja tietokonepeleissä.