ai.vostman.fi
← Tekoälysanasto

Tekoälyn tietosanakirja

Luokittelu: erota pisteytys päätöksestä

Luokittelu (classification) ennustaa kategorian: roskapostia vai tavallista postia, kuvan luokan tai useita dokumentin tunnisteita. Malli tuottaa usein ensin pisteytyksen tai todennäköisyydet, joista päätössääntö muodostaa luokat.

Nämä ovat erillisiä vaiheita. Koulutus muuttaa pisteytysfunktiota. Päätöskynnyksen siirto muuttaa tapaa käyttää sen nykyisiä tuloksia.

Sovita kerran, valitse kynnys kahdesti

Scikit-learn-esimerkki sovittaa pienen logistisen luokittimen kahden piirteen havaintoihin ja käyttää sitten kahta päätössääntöä uusille pisteille. Asenna scikit-learn ja numpy.

import numpy as np
from sklearn.linear_model import LogisticRegression

features = np.array([[-2, -1], [-1, -2], [-1, 0], [1, 0], [1, 2], [2, 1]])
labels = [0, 0, 0, 1, 1, 1]
model = LogisticRegression().fit(features, labels)

probabilities = model.predict_proba([[0.1, 0.1], [2, 2]])[:, 1]
decisions = {t: probabilities >= t for t in (0.5, 0.8)}

Todennäköisyydet pysyvät samoina, vaikka päätökset voivat muuttua. Kynnys 0,8 edellyttää vahvempaa näyttöä positiivisen luokan valintaan; mallia ei kouluteta uudelleen.

Moniluokkainen luokittelu valitsee toisensa poissulkevista vaihtoehdoista. Monitunnisteinen luokittelu voi valita monta tunnistetta samanaikaisesti. Poissulkevien luokkien softmax ja riippumattomat sigmoid-ulostulot kuvaavat siksi eri ongelmia, vaikka molemmat palauttavat lukuvektorin.

Lähteet