You are on page 1of 83

Sveučilište Josipa Jurja Strossmayera u Osijeku

Fakultet elektrotehnike, računarstva i informacijskih tehnologija Osijek


https://www.ferit.unios.hr

Primijenjeno strojno
učenje
Nadzirano učenje. Regresija.
ak. god. 2022./2023.

OSIJEK, 14.03.2023. Autor: Ratko Grbić


Nadzirano učenje.
Nadzirano učenje (engl.
supervised learning)
• nadzirano učenje je način strojnog učenja gdje je cilj odrediti nepoznatu
funkcionalnu ovisnost između ulaznih veličina i izlazne veličine na temelju
podatkovnih primjera
• pri tome su podatkovni primjeri parovi koji se sastoje od vektora ulaznih veličina
i vrijednosti izlazne veličine
• broj ulaznih veličina označava se s n pa se vektor ulaznih veličina može zapisati u
obliku:

• raspoloživi podatkovni primjeri (mjerni uzorci) na temelju kojih se određuje


nepoznata funkcionalna ovisnost primjenom algoritama SU često se naziva i
skup za učenje

• ako je veličina y diskretna/kvalitativna veličina, tada se ovaj problem naziva


klasifikacija
• ako je veličina y kontinuirana, tada se ovaj problem naziva regresija
Nadzirano učenje (engl.
supervised learning)
• Primjer: procjena cijene nekretnine
Glavni koraci kod nadziranog
učenja
1. prikupljanje podataka, tj. određivanje skupa za učenje
2. odabir ulaznih veličina i/ili odgovarajuća transformacija
ulaznih veličina
3. odabir strukture modela i odabir kriterija za procjenu
parametara modela -> odabir algoritma strojnog učenja
4. učenje/podešavanje modela na temelju skupa za učenje
5. evaluacija dobivenog modela
Nadzirano učenje -
pojednostavljeno
Nadzirano učenje – u praksi

Više detalja
Regresijski problem
• pretpostavimo da su na raspolaganju mjerenja kvantitativne
veličine y i ulaznih veličina X=[x1,x2,...,xn]T odgovarajućeg
problema
• izgradnja modela algoritmom strojnog učenja se zapravo svodi na
pronalaženje nepoznate funkcionalne ovisnosti između ulaznih i
izlazne veličine pri čemu se ona možeti zapisati obliku:

pri čemu je f(x) nepoznata funkcionalna ovisnost, a ϵ pogreška


koja je nezavisna od X i ima srednju vrijednost 0
• pogreška ϵ dolazi od činjenice da se ne mjere sve veličine koje
utječu na y, a osim toga u mjerenjima može postojati određeni
mjerni šum
• jednom kada se odredi aproksimacija nepoznate funkcionalne
ovisnosti f(x), moguće je provoditi predikciju izlazne veličine na
način
Linearna regresija.
Linearna regresija
• Neka se podatkovni skup sastoji od 12 primjera s
jednom ulaznom veličinom x1 koja je radni staž osobe u
mjesecima, a izlazna veličina y predstavlja godišnju
plaću osobe (očito da se radi o regresijskom problemu)

Potrebno je pronaći funkciju koja


dobro opisuje dane podatke.
Kako?

Kakvu strukturu i koje vrijednosti


parametara ima takva funkcija?
Linearna regresija
• Linearna funkcija ima najjednostavniji oblik, a često
zadovoljavajuće opisuje dane podatke (izlaz je linearna
kombinacija ulaza)
• Koristimo linearan model regresije – definira skup svih
pravaca*

Vektor parametara:

Kako procijeniti optimalne parametre?


(tražimo jedan od svih mogućih)
*funkcija se često naziva i hipoteza pa je model zapravo skup svih hipoteza (otuda i kratica h u mat. izrazu)
Linearna regresija
• Kada se odrede optimalni parametri linearne
funkcije, ona se može koristiti za predikciju za nove
vrijednosti ulazne veličine (više nam nisu potrebni
podatkovni primjeri)

Ovo je pravac s konkretnim vrijednostima


parametara (optimalnim)

Kako (matematički) doći do ovog pravca?

Intuitivno znamo kako bi taj pravac


trebao izgledati – trebao bi biti što bliže
dostupnim podacima
Jednostavna linearna regresija
• Jednostavna (jednostruka, jednodimenzionalna)
linearna regresija modelira odnos između jedne
ulazne veličine i kontinuirane izlazne veličine
• Model je oblika:
• Optimalni parametri modela θ* dobivaju se
rješavanjem sljedećeg optimizacijskog problema za
dane podatke:
Kriterijska funkcija (engl. objective function, cost function) Stvarna vrijednost izlazne veličine

Procjena modela
Jednostavna linearna
regresija. Kriterijska funkcija.

Izgled kriterijske funkcije

Minimum kriterijske funkcije –


optimalni parametri modela

Kriterijska funkcija brojčano


iskazuje koliko je dobar model s
određenim parametrima na
danom skupu podataka za
učenje
Jednostavna linearna
regresija. Kriterijska funkcija.

Traži se pravac koji najbolji fit na


dane podatke.

Pravac koji minimizira sumu


(vertikalnih) odstupanja između
procjene modela i stvarnih
vrijednosti.
Jednostavna linearna
regresija. Kriterijska funkcija.

Koji pravac ima veću


vrijednost kriterijske
funkcije?
Optimalne vrijednosti
parametara modela
• Optimizacijski postupak, tj. određivanje optimalnih
parametara modela moguće je na dva načina:

1. Rješenje u zatvorenoj formi (engl. closed form solution)


• Rješenje se dobiva izravno, uvrštavanjem brojeva u
matematički izraz

2. Numeričkim iterativnim postupkom minimizacije


• Gradijentni spust (engl. gradient descent)
Rješenje u zatvorenoj formi
• Budući da se radi minimizacija kriterijske funkcije,
potrebno je izjednačiti derivacije kriterijske funkcije po
svim parametrima s 0 (zašto?)

• Uz malo računanja dobivaju se optimalne vrijednosti


parametara:
Metoda gradijentnog spusta
• Međutim, kod mnogih modela nije moguće eksplicitno
izračunati vrijednosti parametara već se koriste
odgovarajući iterativni optimizacijski postupci
• Najjednostavnija metoda optimizacije je metoda
gradijentnog spusta (engl. gradient descent)
• Ideja: krenuti od nekih početnih vrijednosti parametara
modela te ih iterativno prepodešavati dok se ne dobiju
optimalni parametri modela
• Koristi se gradijent kriterijske funkcije kao informacija u
kojem smjeru treba prepodešavati parametre modela
kako bi se minimizirala kriterijska funkcija
Metoda gradijentnog spusta
• Zbog jednostavnosti promatrajmo problem s tri
podatkovna primjera i linearni regresijski model koji
ima θ0 jednak 0 (to je pravac koji prolazi kroz
ishodište)
Metoda gradijentnog spusta

U iteracijama
Metoda gradijentnog spusta

• algoritam
optimizacije kreće
od neke početne
vrijednosti
nepoznatog
parametra te se
kreće u smjeru
negativnog
gradijenta
funkcije J(Θ1)
Metoda gradijentnog spusta

• U slučaju linearnog
regresijskog modela s
dva parametra
• Kriterijska funkcija je
prikazana u obliku
kontura
Metoda gradijentnog spusta -
općenito
• Iterativni postupak za traženje lokalnog minimuma derivabilne
funkcije (naša kriterijska funkcija J je derivabilna)

1. odaberi početnu vrijednost vektora parametara Θ; definiraj duljinu


koraka α
2. Izračunaj (simultano) novu vrijednosti svakog elementa
vektora Θ:

3. Ako nije zadovoljen kriterij zaustavljanja idi na 2.; u suprotnom


zaustavi optimiranje
Metoda gradijentnog spusta –
jednostavna linearna regresija
• U slučaju modela:

1. odaberi početnu vrijednost vektora parametara Θ; definiraj duljinu koraka α


2. Izračunaj (simultano) novu vrijednosti svakog elementa vektora Θ:

3. Ako nije zadovoljen kriterij zaustavljanja idi na 2.; u suprotnom zaustavi optimiranje
Duljina koraka

• Duljina koraka α,
često se naziva i
stopa učenja
(engl. learning
rate) utječe na
proces
optimizacije
Pitanje
• Na slici je prikazan tijek optimizacije jednodimenzionalne kriterijske
funkcije. Što je od navedenog točno?
Višedimenzionalna
linearna regresija
Višedimenzionalna linearna
regresija
• gotovo uvijek je na raspolaganju veći broj ulaznih veličina
• u tom slučaju model je oblika (engl. multiple linear regression):

gdje je x vektor koji sadrži uzorak ulaznih veličina:

• uobičajeno je ovakav model proširiti dodatnom ulaznom


veličinom koja je iznosa 1:
• pa se vektor koji sadrži uzorak ulaznih veličina i vektor parametara
zapisuju kao:
Višedimenzionalna linearna
regresija
• uz pomoću dummy veličine (x0=1) model se može zapisati u
obliku:

• određivanje optimalnih vrijednosti vektora parametara Θ


provodi se na jednak način kao i kod linearne regresije s
jednom ulaznom veličinom:
Metoda gradijentnog spusta
• iterativni postupak za traženje optimalnih parametara modela
1. odaberi početnu vrijednost vektora parametara Θ; definiraj
duljinu koraka α
2. izračunaj simultano update za svaki element vektora Θ:

3. ako nije zadovoljen kriterij zaustavljanja tada idi na 2.; u


suprotnom zaustavi optimiranje
• parcijalne derivacije kriterijske funkcije po parametrima modela u
slučaju višedimentzionalne regresije glase:
Stohastička metoda
gradijentnog spusta
• stohastička metoda gradijetnog spusta je inkrementalna verzija
metode gradijentnog spusta
• za razliku od "batch" verzije gradijentne metode gdje se
osvježavanje parametara provodi na temelju svih raspoloživih
uzoraka (što može biti vrlo zahtjevno), kod stohastička metoda
najbržeg spusta parametri se odmah mijenjaju na temelju svakog
mjernog uzorka
• ovo ima za posljedicu bržu konvergenciju, ali algoritam obično ne
dostigne minimum već najčešće oscilira u njegovoj blizini
• Kompromis između izračunavanja pravog gradijenta i gradijenta
na temelju jednog podatka je računanje gradijenta na temelju više
podataka (često se naziva mini batch) u svakom koraku
• Ovakav pristup s mini batchevima obično ima glađu
konvergenciju; osim toga mogu se iskoristiti vektorske operacije
te tako ubrzati postupak optimiranja
Stohastička metoda
gradijentnog spusta
1. odaberi početnu vrijednost vektora
parametara Θ; definiraj duljinu koraka α
2. slučajno permutiraj raspoložive uzorke te osvježi
parametre Θ na način:

3. ako nije zadovoljen kriterij zaustavljanja tada idi


na 2.; u suprotnom zaustavi optimiranje
Usporedba metoda
gradijentnog spusta

Izvor
Usporedba metoda
gradijentnog spusta

Izvor
Rješenje normalnih jednadžbi
• analitičko rješenje za optimalne vrijednosti
parametara modela Θ moguće je dobiti
izjednačavanjem gradijenta kriterijske funkcije s 0
• rješenje je oblika:

• gdje su matrice podataka X i y definirane na način:


Primjer višedimenzionalne
linearne regresije

Izvor: An Introduction to Statistical Learning


Polinomska regresija.
Nelinearna regresija

• Često je u praksi veza


između ulazne veličine i
izlazne veličine
nelinearna
• Primjer: u skupu
podataka Cars nalaze se
mjerenja za 392 vozila;
dostupna su mjerenja
mase vozila (lbs) i
potrošnje (miles per
gallon, mpg)
• Neka je ulazna veličina
je masa vozila, a
njegova potrošnja
izlazna veličina
Polinomska regresija
• Za modeliranje takvih nelinearnih odnosa potreban je nelinearan
model
• Proširenje linearne regresije moguće je u smislu nelinearne
transformacije ulaznih veličina - na taj način model može opisati i
nelinearne odnose između ulaznih i izlazne veličine
• Radi jednostavnosti analizira se jednom ulaznom veličinom x
• Primjer modela:

Novi član u odnosu


na linearnu regresiju
Polinomska regresija
Polinomska regresija
• Općenito transformacijom te jedne ulazne veličine korištenjem
funkcije:

• Dobiva se model oblika:

• Primijetite da se su slučaju više ulaznih veličina (x1, x2, …) mogu


koristiti i članovi oblika x1 x2, (x1)2x2 – modeliraju odnose između
dviju ulaznih veličina
Polinomska regresija – određivanje
optimalnih parametara modela
• Ideja cijele priče: preslikavamo ulazni prostor (engl. input
space) u prostor značajki (engl. feature space) pomoću
odgovarajućeg mapiranja
• Kriterijska funkcija je potpuno ista kao i kod linearne
regresije
• Optimizacijski postupak je potpuno isti:
• Iterativna metoda optimizacije
• Rješenje u zatvorenoj formi (rješavanjem normalnih
jednadžbi)
Odabir složenosti modela
• Primijetite kako K zapravo definira način preslikavanja - što je
veći, imamo veći broj značajki
• To pak znači da model može opisati sve složenije odnose koji su
prisutni u podacima
• Stoga se K naziva hiperparametar modela i definira složenost
modela – nažalost on se mora unaprijed odrediti od strane
dizajnera modela (to ste vi)
Odabir složenosti modela
• Određivanje optimalne vrijednosti ovog hiperparametra nije
jednostavna zadaća:
• Premala vrijednost ovog parametra – model nije dovoljno
složen (tj. prejednostavan je) za opis prisutnih odnosa u
podacima – podusklađivanje (engl. underfitting)
• Prevelika vrijednost ovog parametra – model je pretjerano
složen i počinje učiti odnose koji nisu karakteristični za cijelu
populaciju podataka poput šuma - pretjerano usklađivanje
na podatke za učenje (engl. overfitting); ovo je još izraženije
u ulaznim prostorima visoke dimenzije gdje se složeni model
još više prilagodi podacima
• U oba slučaja model će imati loša generalizacijska svojstva (veliku
pogrešku na skupu podataka za testiranje)
Šum u podacima

• U dostupnim podacima uvijek postoji šum – to je neželjena pojava


(anomalija)
• uslijed različitih uzroka:
• Postoji nepreciznost u mjerenjima ulaznih veličina (pogotovo ako se radi o
numeričkim veličinama) što uzrokuje pomak podataka u ulaznom prostoru
• Postoje pogreške u označavanju podataka (često se naziva i teacher noise)
• Postoje dodatne ulazne veličine (značajke) koje se nisu uzele u obzir, a koje
utječu na izlaznu veličinu. Ove veličine mogu biti skrivene ili latentne tj.
teško ih je opaziti (izmjeriti) ili smo ih zaboravili uključiti u model
• Npr. na cijenu rabljenog automobila osim godišta i prijeđene
kilometraže možda utječe i boja (crna, zelena, roza, …), a nismo
tu veličinu izmjerili ili smo ju zaboravili uključiti u model
Polinomska regresija

• Pogledajmo primjer koji


će nam zorno ilustrirati
navedena dva fenomena
• Neka su na raspolaganju
podaci kao što prikazuje
slika
• Izgradit ćemo modele uz
različit broj K te pratiti
pogrešku na skupu za
učenje i skupu za
testiranje
Polinomska regresija

• K=1
Polinomska regresija

• K=2
Polinomska regresija

• K=3
Polinomska regresija

• K=5
Polinomska regresija

• K=9
Polinomska regresija

• K=12
Polinomska regresija

• K=15
Polinomska regresija

• Srednja kvadratna
pogreška na skupu za
učenje i skupu za
testiranje s obzirom na
složenost modela
• Primijetite područje
podusklađivanja i
pretjeranog usklađivanja
na podatke za učenje
• Koja je optimalna
dimenzija modela?
Više primjera je uvijek dobrodošlo

• Jedan od načina borbe


protiv pretjeranog
usklađivanje na podatke
je i povećanje skupa za
učenje (nažalost nije
uvijek moguće ili nije
jednostavno)
• Povećanje broja primjera
za učenje sa 30 na 200
• K=15
Praktični savjeti
Metoda gradijentnog spusta Rješenje u zatvorenoj formi
• potrebno je odabrati duljinu •nije potrebno odabrati duljinu
koraka α, početu vrijednost koraka α
vektora parametara Θ te kriterij •nema iteracija
zaustavljanja •potrebno izračunati inverz matrice
• često potrebno mnogo iteracija (XTX) što je zahtijevno ako je broj
ulaznih veličina velik
• prikladna za probleme gdje je broj •ponekad problemi s traženjem
uzoraka velik (n>10000), pogotovo
stohastička metoda gradijentnog inverza (ako postoje redundantne
spusta veličine odnosno linearno zavisne
veličine)
• potrebno je skalirati veličine prije •manja osjetljivost na različite
optimizacije
dimenzije ulaznih veličina
Skaliranje ulaznih veličina
• skaliranje ulaznih veličina je vrlo važno kod izgradnje modela jer
različita dimenzija ulaznih veličina može uzrokovati probleme
prilikom optimizacije kriterijske funkcije
• stoga je skaliranje ulaznih veličina potrebno provesti prije učenja
modela (korak predobradba raspoloživih mjerenja)
• primjer: potrošnja automobila se mjeri u litrama na 100 km (npr.
8 l/100km) dok se težina automobila mjeri u kilogramima (npr.
1500 kg)
• ovo može uzrokovati probleme prilikom optimizacije, na primjer u
slučaju metode gradijentnog spusta konture kriterijske funkcije
budu jako izdužene što uzrokuje sporu konvergenciju algoritma
• mnogi klasifikatori rade na principu računanja Euklidske
udaljenosti između uzoraka - "najveća" veličina će u glavnoj mjeri
određivati Euklidsku udaljenost pa i predikciju modela
• postoje nekoliko načina skaliranja veličina od kojih su najpoznatija
standardizacija i Min-Max skaliranje
Skaliranje ulaznih veličina
Skaliranje ulaznih veličina
• standardizacija (Z-score normalization) je skaliranje svake ulazne
veličine (j=1,...,m) na način da rezultantni podaci imaju srednju
vrijednost 0 i varijancu jednaku 1:

• Min-Max skaliranje je reskaliranje vrijednosti ulaznih veličina na


interval [0,1] ili [−1,1]

• napomena: skaliranje veličina u nekim programskim funkcijama za


strojno učenje je već implementirano ili postoje gotove funkcije
Skaliranje ulaznih veličina
Metrike za vrednovanje
(evaluaciju) regresijskih
modela.
Vrjednovanje (evaluacija)
izgrađenog modela
• Vrjednovanje (evaluacija) izgrađenog modela (ili možemo
reći algoritma strojnog učenja) podrazumijeva procjenu
predikcijskih sposobnosti odnosno sposobnosti
generalizacije izgrađenog modela
• Zanima nas točnost predikcije (ili pogreška) na neviđenim podacima
• Evaluacijske metrike ili mjere vrjednovanja su način kako
možemo kvantificirati performanse izgrađenog modela
(znači izraziti performanse u obliku brojčane vrijednosti)
• To nam je vrlo korisno jer onda možemo uspoređivati i
različite modele koje smo izgradili
• Pri tome se koristi skup podataka za testiranje koji je
naravno označen
Vrjednovanje (evaluacija)
izgrađenog modela
• Na ulaz modela dovode se vrijednosti ulaznih veličina
• Procjena modela uspoređuje se sa stvarnom
vrijednošću izlazne veličine
Srednja kvadratna pogreška - MSE

• Srednja kvadratna pogreška (engl. mean squared


error - MSE) je mjera prosječne kvadratne razlike
između predviđenih vrijednosti i stvarnih
vrijednosti izlazne veličine
• Što je MSE manji, to je model bolji
• Korijen iz srednje kvadratne pogreške (engl. root
mean squared error - RMSE)
Rezultat je u mjernoj jedinici
izlazne veličine!
Srednja apsolutna pogreška - MAE

• Srednja apsolutna pogreška (engl. mean absoulte


error - MAE) je prosječna apsolutna razlika između
predviđenih vrijednosti i stvarnih vrijednosti izlazne
veličine
• Što je MAE manji, to je model bolji
• (MSE jače penalizira veće pogreške od MAE)
Srednja apsolutna postotna
pogreška - MAPE

• Srednja apsolutna postotna pogreška (engl. mean


absolute percentage error - MAPE) je prosječna
apsolutna postotna razlika između predviđenih
vrijednosti i stvarnih vrijednosti izlazne veličine
• Što je MAPE manji, to je model bolji
• Kada su stvarne vrijednosti izlazne veličine značajno
različite u veličini MAPE pruža mjeru prosječnog
odstupanja predviđenih vrijednosti od stvarnih
vrijednosti u postocima; kada je u fokusu relativna
pogreška
Maksimalna pogreška - MaxError

• Maksimalna pogreška u procjeni izlazne veličine


• U nekim situacijama nam je npr. bitno da pogreška
ne prijeđe neku vrijednost (a npr. manje greške se
toleriraju)
R2 ili koeficijent determinacije

• Predstavlja udio varijance izlazne veličine koji je


objašnjen nezavisnim (ulaznim) veličinama
• Što je veća vrijednost, to je model bolji
• Najveća vrijednost je 1, a može biti i negativan
• Model koji za svaki uzorak procjenjuje prosječnu vrijednost
izlazne veličine ima vrijednost R2 jednak 0
• Ovo je relativna mjera (dok je npr. MSE apsolutna mjera)
pogreške modela
• Lakše je usporediti dva modela korištenjem R2
• Nije toliko ovisan o stršećim vrijednostima kao npr. MSE
RANSAC
RANSAC
• Postoje i drugi načini određivanja parametara linearnog
modela
• Primjerice, u računalnom i robotskom vidu vrlo je popularan
RANSAC (engl. RANdom SAmple Consensus) – iterativna
metoda procjene parametara matematičkog modela na
temelju podataka u kojima su prisutne stršeće vrijednosti
(engl. outliers)
• Neformalno, outliers su podaci koji nisu u skladu s modelom
dok se podaci koji su u skladu s modelom nazivaju inliers
• Također čest slučaj je da imamo više struktura ili instanci
modela u podacima (npr. više od jednog pravca)
• Linearna regresija je osjetljive na prisustvo outliera u
podacima – u mnogim aplikacijama potreban je robusniji
način procjene parametara
RANSAC algoritam
1. Odabire se nasumično određeni broj podatkovnih
primjera iz dostupnog skupa podataka
2. Procjena parametara modela na temelju odabranih
primjera
3. Validacija modela odnosno prebrojavanje koliko
podatkovnih primjera je u skladu s modelom (tj. koliko
ima inliers)
4. Ponavljaju se koraci 1. do 3. Model iz iteracije s
najvećim brojem inliera smatra se najbolji modelom.
5. Na temelju inliera iz koraka 4. procjenjuju se parametri
modela („dorađuje” se procjena parametara iz koraka
4.)
RANSAC algoritam – pravac u 2D
prostoru
• 1. iteracija
RANSAC algoritam – pravac u 2D
prostoru
• 2. iteracija
RANSAC algoritam – pravac u 2D
prostoru
• 3. iteracija
RANSAC algoritam – pravac u 2D
prostoru
• 4. iteracija
RANSAC algoritam – pravac u 2D
prostoru
• 5. iteracija
RANSAC algoritam – pravac u 2D
prostoru
• 6. iteracija
RANSAC algoritam – pravac u 2D
prostoru
• 7. iteracija
• Nakon što se
dostigne
maksimalni broj
iteracija, odabire se
rješenje s najviše
inliera te se obično
procjene parametri
LS metodom samo
na inliers
RANSAC algoritam
• RANSAC je nedeterministički algoritam u smislu da
generira prihvatljiv rezultat s određenom vjerojatnošću
(koja se povećava s brojem iteracija algoritma)
• Prednosti algoritma – vrlo je robustan na prisustvo
outliera, jednostavan je i efikasan
• Nedostatci – potrebno je definirati parametre (poput
broja iteracija i veličinu praga za definiranje inliera),
može biti potrajati (npr. kod složenijih modela ili velikih
skupova podataka)
• Za detekciju pravca na slici potrebne su dvije točke
• Za složenije modele poput krugova, elipsi i sl. potrebno je
odabrati više točaka
RANSAC - primjer
• Procjena ground plane u robotici na temelju oblaka točaka
dobivenog od senzora (stereo kamera ili kinect)

Izvor
RANSAC - primjer
• Detektirana ground plane pomoću RANSAC označena je crvenom
bojom
Linearna regresija. RANSAC.
• Zadaci Python:

1. Implementirajte linearnu regresiju u


Python-u na jednostavnom primjeru
• Izravno rješenje
• Metoda gradijentnog spusta

2. Implementirajte RANSAC u Python-u

You might also like