Mašinsko učenje
1. Uvod
Veštačka inteligencija (AI) predstavlja područje računarstva koje omogućava mašinama da obavljaju zadatke za koje je inače potrebna ljudska inteligencija — prepoznavanje govora, donošenje odluka, klasifikacija podataka, učenje iz iskustva i slično. U središtu savremene AI nalazi se mašinsko učenje (Machine Learning, ML), poddisciplina u kojoj računari ne primaju samo eksplicitna pravila, već na osnovu podataka samostalno uče obrasce i unapređuju svoje performanse.
Danas je mašinsko učenje prisutno svuda: od preporuka filmova na Netflixu, preko spam filtera u Gmail-u, do sistema autonomne vožnje, medicinske dijagnostike i finansijskih analiza. Razumevanje principa ML-a postalo je ključna veština modernog IT stručnjaka.
2. Šta je mašinsko učenje?
Mašinsko učenje je proces u kome računari koriste matematičke modele i statističke metode kako bi identifikovali obrasce u podacima i donosili odluke bez eksplicitnog programiranja. U klasičnom programiranju programer piše pravila, dok u mašinskom učenju model sam pronalazi pravila koja najbolje opisuju podatke.
U ML-u uvek postoje tri osnovne komponente:
-
Podaci (dataset) – ulazne informacije iz kojih model uči.
-
Model – matematička konstrukcija koja određuje kako će se podaci obrađivati.
-
Algoritam učenja – postupak kojim model podešava svoje parametre da bi što bolje predvideo izlaz.
Cilj ML-a je minimizacija greške, odnosno postizanje što boljeg predviđanja za nove, do tada neviđene podatke.
3. Tipovi mašinskog učenja
3.1. Nadgledano učenje (Supervised Learning)
Model uči iz označenih podataka – dakle, svaki ulaz ima odgovarajući izlaz.
-
Klasifikacija e-mailova na „spam“ i „nije spam“
-
Prepoznavanje rukopisa
-
Predviđanje cena nekretnina
Najčešći algoritmi:
-
Linearna regresija
-
Logistička regresija
-
Stabla odlučivanja (Decision Trees)
-
SVM (Support Vector Machines)
-
Neuronske mreže
3.2. Nenadgledano učenje (Unsupervised Learning)
Model uči iz neoznačenih podataka. Cilj je otkrivanje strukture, grupa ili šablona.
-
Grupisanje kupaca prema ponašanju (clustering)
-
Analiza toka saobraćaja
-
Kompresija slika
Najčešći algoritmi:
-
K-means
-
Hierarhijsko grupisanje
-
PCA (Principal Component Analysis)
3.3. Učenje potkrepljivanjem (Reinforcement Learning)
Model (agent) uči kroz interakciju sa okruženjem. Prima nagrade i kazne i uči na osnovu iskustva.
-
AI koji igra šah ili Go
-
Autonomni roboti
-
Optimizacija industrijskih procesa
4. Kako funkcioniše proces učenja?
Proces učenja u ML-u obično prolazi kroz sledeće faze:
-
Prikupljanje podataka – kvalitativni i kvantitativni podaci utiču na kvalitet modela.
-
Predobrada podataka (preprocessing)
-
uklanjanje nedostajućih vrednosti
-
normalizacija
-
skaliranje
-
uklanjanje outliera
-
-
Podela podataka na trening i test skup
-
Trening modela – podešavanje parametara kako bi model pravilno generalizovao.
-
Evaluacija – poređenje predikcija i stvarnih podataka (accuracy, precision, recall...).
-
Implementacija i upotreba modela
-
Ažuriranje i ponovno treniranje, jer se podaci vremenom menjaju.
5. Neuronske mreže – osnovna ideja
Neuronske mreže imitiraju način na koji funkcioniše ljudski mozak. Sastoje se od mnogo međusobno povezanih „neurona“ – matematičkih funkcija koje primaju ulaz, procesuiraju ga i prosleđuju dalje. Slojevito organizovane, omogućavaju računarima da nauče veoma kompleksne odnose među podacima (npr. prepoznavanje lica).
Posebno su važne:
-
Konvolutivne neuronske mreže (CNN) – koriste se za obradu slika.
-
Rekurentne mreže (RNN, LSTM) – koriste se za obradu sekvenci (tekst, govor).
-
Transformeri – moderna arhitektura korišćena u ChatGPT-u i drugim velikim modelima.
6. Gde se koristi mašinsko učenje?
• Medicina
Automatska dijagnostika bolesti, analiza snimaka, predviđanje razvoja stanja.
• Finansije
Otkrivanje prevara, analiza tržišta, automatizovano trgovanje.
• Saobraćaj
Autonomna vozila, optimizacija saobraćajnih tokova.
• Zabava
Netflix ili YouTube preporuke.
• Industrija
Prediktivno održavanje mašina.
• Obrazovanje
Aplikacije za personalizovano učenje (npr. Duolingo).
7. Prednosti i ograničenja ML-a
-
Automatsko učenje iz iskustva bez dodatnog programiranja
-
Obrada ogromnih količina podataka
-
Prepoznavanje skrivenih obrazaca
-
Velika primenljivost u različitim oblastima
-
Potreba za velikim količinama kvalitetnih podataka
-
Mogućnost grešaka ako su podaci pristrasni
-
Visoka potrošnja resursa kod dubokog učenja
-
Težak nadzor i objašnjavanje odluka modela (black box problem)
8. Spoljni izvori i preporučeni linkovi
-
Wikipedia – Machine Learning:
https://en.wikipedia.org/wiki/Machine_learning -
Google – Machine Learning Crash Course:
https://developers.google.com/machine-learning/crash-course
9. VEŽBE
Vežba 1 – Identifikacija tipova učenja
Za svaku situaciju odrediti da li je primer:
-
nadgledanog učenja
-
nenadgledanog učenja
-
učenja potkrepljivanjem
Situacije:
-
Sistem prati ponašanje korisnika i sam grupiše tipove kupaca.
-
Robot uči da hoda nagrađivanjem uspešnih pokreta.
-
Model predviđa cenu automobila na osnovu podataka iz prošlosti.
Diskusija: Etika u mašinskom učenju
-
Šta ako model donosi pogrešne odluke?
-
Kako sprečiti zloupotrebu AI?
-
Treba li AI imati ograničenja?