Šta je to mašinsko učenje?



Mašinsko učenje se zasniva na ideji da postoje generički algoritmi koji vam mogu reći nešto interesantno o skupu podataka, a da pritom vi ne morate da napišete poseban kod za taj problem. Umesto da pišete kod, vi ubacite podatke u generički algoritam, a on napravi svoju logiku na osnovu podataka. Na primer, jedna vrsta ovakvih algoritama je klasifikacioni algoritam. On može da smesti podatke u različite grupe. Isti klasifikacioni algoritam koji se koristi da prepozna rukom napisane brojeve mogao bi da se koristi za klasifikaciju mejlova u “spam” i “nije spam”, bez promene i jedne jedine linije koda. To je isti algoritam, ali su u njega uneti različiti trening podaci, pa on smišlja različitu logiku za klasifikaciju.

Nadgledano mašinsko učenje

Nadgledano učenje podrazumjeva da ste vi uneli u sistem „trening podatke“ odnosno podatke na osnovu kojih će sistem napraviti program koji će proceniti vrednost koja vam je potrebna.

Recimo da ste agent za nekretnine. Posao vam raste, pa zaposlite gomilu asistenata da vam pomognu. Ali evo šta je problem – vi osmotrite kuću i već u glavi imate prilično dobru procenu koliko košta. Vašim asistentima nedostaje vaše iskustvo, pa ne znaju kako da procene kuće. Da biste im pomogli (i možda sebi obezbedili odmor), odlučite da isprogramirate aplikaciju koja procenjuje vrednost kuće u nekom kraju na osnovu veličine, naselja u kojem se nalazi itd, i za koliko su para prodate slične kuće.

I tako tokom tri meseca vi zapisujete svaki put kada neko proda kuću u vašem gradu. Za svaku kuću zapišete gomilu detalja – broj spavaćih soba, površinu, kraj u kojem se kuća nalazi, itd. Ali što je još važnije, zapisujete i konačnu prodajnu cenu.

Koristeći ove trening podatke, želimo da napravimo program koji može da proceni koliko vredi bilo koja kuća u datom naselju. Ovo se zove nadgledano učenje. Znali ste za koliko novca je prodata svaka kuća, odnosno znali ste odgovor na pitanje, i mogli ste odatle da se vratite unazad kako biste razumeli logiku.

Nenadgledano mašinsko učenje

Nenadgledani algoritmi učenja uzimaju skup podataka koji sadrže samo ulaze i nalaze strukturu u podacima. Algoritmi stoga uče iz test podataka koji nisu obeleženi, klasifikovani ili kategorisani. Umesto da odgovore na povratne informacije, algoritmi nenadgledanog učenja identifikuju zajedničke podatke i reaguju na osnovu prisustva ili nepostojanja takvih zajedničkih vrednosti u svakom novom delu podataka. Hajde da se vratimo na naš primer s agentom za nekretnine. Šta ako ne znate prodajnu cenu svake kuće? Čak iako o svakoj kući znate samo veličinu, lokaciju, i slično, i dalje možete da uradite neke prilično kul stvari.

To je kao da vam neko pruži list papira sa ispisanim brojevima i kaže: „Ne znam šta ovi brojevi znače, ali možda možeš da provališ da li postoji neki obrazac ili grupisanje ili nešto slično. Srećno!“

Šta možete da uradite sa ovim podacima? Za početak, možete da napravite algoritam koji automatski identifikuje različite tržišne segmente među vašim podacima. Možda saznate da kupci u naselju blizu obližnjeg koledža baš vole male kuće s mnogo spavaćih soba, a kupci iz predgrađa više vole prostrane kuće s tri spavaće sobe. Znanje o ovim razlikama među kupcima i njihovim sklonostima može da vam pokaže kako da usmerite svoje marketing aktivnosti.

Još jedna stvar koju možete da uradite jeste da automatski identifikujete sve kuće koje se mnogo razlikuju od svih ostalih. Možda su to ogromne kuće, i možete svoje najbolje ljude iz prodaje da usmerite na ova naselja jer je zarada veća.