Za firbce: Machine Learning(ML) ni čarovnija.
Za firbce: Machine Learning(ML) ni čarovnija. Na dnu so skoraj vedno matematika, podatki in ponavljanje.
Machine Learning brez kompliciranja: kaj se pravzaprav dogaja v ozadju?
Machine Learning pogosto zveni precej bolj zapleteno, kot v resnici je.
Ko slišiš izraze, kot so gradient descent, random forest ali neural network, hitro dobiš občutek, da gre za nekaj zelo tehničnega.
Če pa vse skupaj zelo poenostavimo, je osnovna ideja precej razumljiva.
Linearna regresija
Model išče najboljšo enačbo, ki čim bolje opiše podatke.
Recimo, da imamo podatke o velikosti stanovanj in njihovih cenah.
Model poskuša ugotoviti povezavo med velikostjo stanovanja in njegovo ceno, nato pa lahko na podlagi tega oceni ceno novega stanovanja.
Loss function
Model naredi napoved.
Loss function nato izmeri, koliko je model zgrešil.
Če model napove ceno 200.000 €, prava cena pa je 250.000 €, je naredil napako.
Loss function nam pove, kako velika je ta napaka.
Gradient descent
Ko model ugotovi, da je zgrešil, mora nekaj spremeniti.
Gradient descent mu pomaga ugotoviti, v katero smer naj popravi svoje parametre, da bo naslednja napoved boljša.
Zelo poenostavljeno:
Napovej → Preveri napako → Popravi → Poskusi znova
Decision tree
Decision tree oziroma odločitveno drevo sprejema odločitve skozi zaporedje preprostih vprašanj.
Na primer:
Je stanovanje večje od 80 m²?
Če DA, gre po eni poti.
Če NE, gre po drugi.
Nato lahko sledi novo vprašanje:
Je stanovanje v Ljubljani?
Spet DA ali NE.
Na koncu drevo pride do napovedi.
Random forest
Eno drevo se lahko hitro zmoti.
Random forest zato uporabi veliko različnih dreves in njihove rezultate združi.
Namesto da bi zaupali enemu drevesu, vprašamo več dreves in pogledamo njihov skupni rezultat.
Gradient boosting
Tudi gradient boosting uporablja več dreves.
Razlika je v tem, da jih gradi eno za drugim.
Prvo drevo naredi napoved.
Naslednje pogleda, kje je prejšnje naredilo napake, in jih poskuša popraviti.
Naslednje nato popravlja napake, ki so še ostale.
In tako naprej.
Neural network
Nevronska mreža je sestavljena iz velikega števila majhnih matematičnih operacij, povezanih med seboj.
Podatek vstopi na eni strani, gre skozi več izračunov in na drugi strani dobimo napoved.
Če je napoved napačna, mreža prilagodi svoje parametre in poskusi znova.
To lahko ponovi velikokrat.
Kaj imajo vsi ti pristopi skupnega?
V zelo poenostavljeni obliki:
1. Podatki
Model dobi podatke, iz katerih se lahko nekaj nauči.
2. Napoved
Na podlagi teh podatkov poskuša nekaj napovedati.
3. Izračun napake
Preverimo, kako daleč je bila napoved od pravilnega rezultata.
4. Popravek modela
Model spremeni svoje parametre oziroma način odločanja.
5. Ponovi
Nato poskusi znova.
In spet.
In spet.
Dokler model ne postane dovolj dober pri nalogi, ki smo mu jo dali.
In tukaj AI izgubi malo svoje »magije«
Ko Machine Learning pogledaš na ta način, precej manj deluje kot neka skrivnostna umetna inteligenca.
Bolj je podoben zelo pametnemu načinu iskanja vzorcev v podatkih.
Model dobi podatke, nekaj napove, preveri, koliko je zgrešil, se popravi in poskusi znova.
To je osnovna ideja učenja.
Kako model sploh najde vzorce?
Predstavljaj si, da imamo podatke o tisočih stanovanjih.
Za vsako poznamo:
- velikost,
- lokacijo,
- število sob,
- starost,
- prodajno ceno.
Model lahko skozi podatke ugotovi, da so večja stanovanja običajno dražja.
Da lokacija močno vpliva na ceno.
Da imajo določene kombinacije lastnosti pogosto podobne cene.
Teh pravil mu ni treba nujno napisati ročno.
Model jih poskuša odkriti iz podatkov.
In ravno to je ena glavnih idej Machine Learninga.
Kaj lahko s tem počnemo?
Machine Learning lahko uporabljamo povsod, kjer imamo dovolj podatkov in želimo v njih najti vzorce ali nekaj napovedati.
Na primer:
- napovedovanje vremena,
- ocenjevanje cen,
- analiza gibanja trgov,
- zaznavanje goljufij,
- priporočanje izdelkov ali vsebin,
- prepoznavanje slik,
- analiza besedila,
- razvrščanje e-pošte,
- napovedovanje povpraševanja.
Machine Learning ni čarovnija
Matematika v ozadju je lahko zelo zahtevna.
Toda osnovna ideja je precej preprosta:
Podatki → Napoved → Napaka → Popravek → Ponovi
Model poskusi.
Pogleda, kako zelo je zgrešil.
Se prilagodi.
In poskusi ponovno.
Machine Learning je predvsem iskanje uporabnih vzorcev v podatkih.
Ko enkrat to vidiš na ta način, postane precej manj skrivnosten.
V naslednjem zapisu lahko pogledamo, kako se model dejansko uči iz ene same napake.
Next post ☺️
#MachineLearning #AI #DataScience #ZaFirbce