Strojno učenje (Machine Learning, ML) je termin koji čuješ svuda — ali šta zapravo znači? Nije isto što i AI, nije isto što i duboko učenje, i sigurno nije isto što i programiranje. U ovom tekstu razjašnjavamo sve bez ijedne matematičke formule.
Klasično programiranje vs strojno učenje
Da bismo razumjeli strojno učenje, moramo prvo razumjeti šta ono nije — klasično programiranje.
U klasičnom programiranju, programer piše eksplicitna pravila: "Ako je temperatura iznad 30 stepeni, prikaži sunce. Ako pada kiša i temperatura je ispod 15, prikaži kapu i kabanicu." Program slijedi ova pravila mehanički.
Problem nastaje s kompleksnim zadacima. Kako napišeš pravila za prepoznavanje mačke na fotografiji? Mačka može biti u hiljadu poza, boja, osvjetljenja, veličina. Ne možeš ispisati sva pravila.
Strojno učenje rješava ovo drugačije: umjesto da pišeš pravila, daješ sistemu hiljade primjera ("ovo je mačka", "ovo nije mačka") i algoritam sam nauči pravila iz tih primjera.
Tri vrste strojnog učenja
1. Nadzirano učenje (Supervised Learning)
Ovo je najčešća vrsta ML-a. Algoritam uči iz označenih primjera — gdje za svaki ulaz znamo ispravan izlaz.
Analogija: Zamislaj učitelja koji pokazuje učeniku slike životinja i govori: "Ovo je pas. Ovo je mačka. Ovo je pas. Ovo je pas." Nakon dovoljno primjera, učenik počinje sam prepoznavati. Isto radi supervised learning — samo umjesto učenika, to radi algoritam, a umjesto slike, mogu biti bilo koji podaci.
Primjeri u stvarnom životu:
- Email spam filter — uči iz primjera emailova označenih kao "spam" ili "nije spam"
- Detekcija prevara na kreditnim karticama — uči iz historije transakcija označenih kao "prijevara" ili "legitimno"
- Predviđanje cijena nekretnina — uči iz parova (karakteristike kuće → cijena)
- Medicinska dijagnostika — uči iz parova (simptomi/snimci → dijagnoza)
2. Nenadzirano učenje (Unsupervised Learning)
Ovdje nema oznaka. Algoritam dobiva sirove podatke i mora sam pronaći strukturu, obrasce i grupe.
Analogija: Daš djetetu hrpu raznolikih predmeta i kažeš: "Sortiraj ovo nekako." Dijete samo odlučuje kako grupirati — po boji, obliku, veličini. Nisi rekao kakve grupe trebaš — dijete je samo otkrilo strukturu.
Primjeri u stvarnom životu:
- Segmentacija kupaca — pronalaženje prirodnih grupa korisnika bez unaprijed definisanih kategorija
- Preporuke (Netflix, Spotify) — "korisnici slični tebi su voljeli X"
- Anomaly detection — pronalaženje neuobičajenih uzoraka u podacima
- Kompresija podataka — pronalaženje najefektivnijeg načina pohrane
3. Pojačano učenje (Reinforcement Learning)
Algoritam uči kroz interakciju s okruženjem — dobiva nagrade za dobre akcije i kazne za loše, i pokušava maksimizovati nagrade tokom vremena.
Analogija: Učiš psa trikove. Kada uradi što trebaš, daš mu poslasticu (nagrada). Kada ne uradi, nagrada izostaje. Pas postupno uči koje akcije vode do nagrade. Reinforcement learning radi identično — samo što je "pas" algoritam, a "okruženje" može biti video igra, robot, ili finansijsko tržište.
Primjeri u stvarnom životu:
- AlphaGo i AlphaZero — AI koji igra igre (go, šah, šogi) na nadljudskom nivou
- Autonomna vozila — uče voziti kroz milione virtualnih scenarija
- Roboti — uče kompleksne pokrete (hodanje, manipulacija predmetima)
- Optimizacija energetskih sistema — pametne mreže koje uče raspodijeliti energiju
Šta su neuralne mreže i duboko učenje?
Neuralne mreže su specifična arhitektura algoritma strojnog učenja, inspirovana mozgom. Sastoje se od slojeva "neurona" koji primaju, transformišu i prosljeđuju podatke.
Duboko učenje (Deep Learning) je podvrsta ML-a koja koristi neuralne mreže s mnogo slojeva ("duboke" mreže). Ove duboke mreže su toliko moćne da su omogućile prepoznavanje slike, razumijevanje govora i jezičke modele poput ChatGPT-a.
Odnos je: AI > Strojno učenje > Duboko učenje > Neuralne mreže. Svaki je podskup prethodnog.
Gdje se ML koristi bez da znaš?
- YouTube preporuke — ML predviđa šta ćeš kliknuti
- Google Translate — neural machine translation
- Face ID na iPhoneu — prepoznavanje lica
- Glasovni asistenti — prepoznavanje i sinteza govora
- Autocomplete na tipkovnici — predviđanje sljedeće riječi
- Dinamično određivanje cijena (Uber, Booking.com) — ML optimizuje cijene u realnom vremenu
Trebam li učiti ML?
Ovisno o cilju. Ako želiš koristiti ML alate, ne trebaš znati matematiku iza njih — baš kao što ne trebaš znati kako radi motor da bi vozio auto. Ako želiš razvijati ML sisteme, onda — Python, statistika i linearna algebra su dobro polazište.
Za početnike koji žele naučiti osnove bez matematike, preporučujemo: Google's Machine Learning Crash Course (besplatan), Fast.ai (praktičan pristup) i Kaggle Learn (kratki kursevi s primjerima).
Zaključak
Strojno učenje je sposobnost računara da uče iz podataka bez eksplicitnog programiranja svake situacije. Tri glavna pristupa — nadzirano, nenadzirano i pojačano učenje — primjenjuju se u alatima koje koristimo svaki dan. Razumijevanje ovih osnova pomaže nam da bolje razumijemo AI revoluciju koja se odvija oko nas.