ai.vostman.fi
← Tekoälysanasto

Tekoälyn tietosanakirja

Regressio: ennusta arvo luokan sijaan

Regressio (regression) ennustaa numeerisen kohteen, kuten keston tai anturin lukeman. Lineaarinen regressiomalli oppii syötepiirteiden painotetun summan ja vakiotermin. Myös epälineaarinen malli voi ennustaa numeerista kohdetta.

Pelkkä numeerinen tuloste ei tee tehtävästä regressiota. Luokittimen todennäköisyyskin on luku, mutta sen kohde on edelleen kategoria.

Sovitus matriisioperaationa

NumPy sovittaa pienen lineaarisen mallin ilman toistuvaa koulutussilmukkaa. Viimeinen ykkössarake tuottaa vakiotermin.

import numpy as np

x = np.array([0., 1., 2., 3.])
y = np.array([2., 5., 8., 11.])
design = np.column_stack([x, np.ones_like(x)])
weights, _, _, _ = np.linalg.lstsq(design, y, rcond=None)
prediction = np.array([4., 1.]) @ weights

Sovitettu suora on 3*x + 2, joten ennuste kohdassa neljä on neljätoista. Todellinen aineisto ei yleensä osu suoralle: pienimmän neliösumman menetelmä valitsee kertoimet, jotka minimoivat virheiden neliöiden summan.

Suuret virheet vaikuttavat tähän tavoitteeseen erityisen paljon. Absoluuttiseen virheeseen ja kvantiileihin perustuvat häviöt vastaavat eri kysymyksiin kohdejakaumasta. Regressioennuste ei myöskään itsessään ole luottamusväli, vaan epävarmuus tarvitsee oman mallin tai arviointimenetelmän.

Lähteet