Danas je interesovanje za stručnjake za analizu podataka dostiglo tačku da se samo najskromnija osoba ne bi nazvala Data Scientistom da je barem nekoliko puta trenirala logističku regresiju ili ansambli drveća. Analiza podataka i mašinsko učenje posebno nisu laki prelijepe riječi. Ovo je prava magija koja se može transformisati svijet, a u Yandexu zaista možete ući u to, upoznati ljude koji su jaki u tome, naučiti i naučiti raditi puno novih stvari.
Ako već razumijete da modeli klasifikacije, regresije, grupisanja, rangiranja imaju mjerljive prednosti za usluge koje koriste ove modele i njihove krajnje korisnike, da model ne samo da „predviđa cilj“, već optimizira neke metrike koje je važno uskladiti s ciljevi poslovanja, onda ćete verovatno biti zainteresovani za nas. Ukoliko do sada niste imali priliku da učestvujete u izgradnji veze između mašinskog učenja i poslovnih potreba, ali biste to zaista želeli, i ovo radno mesto je vredno vaše pažnje.
U Yandex.Taxi-ju se stvara grupa koja će implementirati metode mašinskog učenja u najvećoj taksi službi u Rusiji. Potrebni su nam analitičari koji:
- zaljubljeni su u analizu podataka i poznaju osnovne principe i metode mašinskog učenja (mogu razlikovati preopterećenje od nedovoljnog prilagođavanja, log regresiju od SVM-a, pojačavanje od gomilanja, preciznost od tačnosti);
- razumjeti zašto je analitičaru potrebna matematička statistika;
- žele da njihov rad utiče na milione putovanja naših korisnika svake nedelje.
Obavezni zahtjevi:
- poznavanje matematičke statistike i teorije vjerovatnoće;
- poznavanje najpopularnijih metoda učenja pod nadzorom (linearni modeli, ansambli stabala, kNN, naivni Bayes klasifikator) i razumijevanje u kojim slučajevima ih je prikladno koristiti i kako dijagnosticirati njihov rad;
- poznavanje metrika kvaliteta koje se obično koriste u mašinskom učenju, razumevanje razlika između njih, sposobnost interpretacije različitih metričkih vrednosti;
- dobra tehnička obuka: samouvereno korišćenje Pythona i poznavanje biblioteka za rad sa podacima - numpy, scipy, matplotlib, pandas, sklearn, iskustvo korišćenja xgboosta i vowpal wabbit-a;
- znanje na engleskom na nivou čitanja tehničke literature.
Dobrodošli:
- više matematičko ili tehničko obrazovanje;
- iskustvo u rješavanju problema u oblasti analize podataka i mašinskog učenja;
- iskustvo u primeni primenjene matematičke statistike, na primer, procena intervala poverenja ciljnih indikatora, statistički značaj rezultata A/B testiranja;
- razumijevanje načina na koji se može procijeniti potencijalni ekonomski uticaj implementacije modela zasnovanog na mašinskom učenju i kako se metrika kvaliteta može povezati s tim efektom;
- razumijevanje kako procijeniti kvalitet modela offline (koristeći historijske podatke) i online (u proizvodnji);
- uvod u Linux;
- uvod u Map Reduce;
- poznavanje klasičnih algoritama i struktura podataka;
- poznavanje SQL-a;
- sposobnost čitanja C++ koda;
- iskustvo na sličnoj poziciji.
Usluga Azure Machine Learning je trenutno u javnom pregledu, dostupna svima koji imaju Azure nalog (ili barem probni pristup). Ako se pitate zašto sam uvijek bio toliko uzbuđen zbog ove tehnologije, pogledajte moj post koji sam napisao prije mjesec dana ili pročitajte ovaj post u kojem ću vam reći sve o tome.
Ukratko, da biste izvršili zadatke prediktivne analitike koristeći Azure Machine Learning, samo trebate slijediti ove korake:
- Preuzmite ili uvezite na mreži bilo koje trenutne ili akumulirane podaci(na primjer, demografija vašeg klijenta i njihovi ukupni troškovi)
- Izgradite i potvrdite model(npr. predviđanje troškova na osnovu demografskih podataka)
- Kreirajte web uslugu koja koristi vaše modele za brz rad predviđanja u realnom vremenu (odlučite šta nudite novom klijentu na osnovu njegove demografije)
Azure ML usluga (također poznata kao Passau projekat) predstavljen je sa dvije konceptualne komponente: Eksperimenti I Web Services i jedan razvojni alat pod nazivom ML Studio. Možete pozvati druge osobe sa Microsoft nalogom (Live ID) da sarađuju u vašem radnom okruženju ( radnim prostorima) koristeći ML Studio i čak ne moraju platiti pretplatu na Azure da bi radili s vama.
Eksperimenti mogu se predstaviti kao konfiguracije za streaming ( protok podataka) šta biste željeli učiniti sa svojim podacima i svojim modelima. Kao naučnik za Azure ML podatke, vaš fokus je na eksperimentima i sve svoje vrijeme u ML Studiju možete provoditi ne radeći ništa više od obnavljanja eksperimenata, mijenjanja parametara, mijenjanja algoritama, provjere kriterija, periodičnog izmjena podataka itd. ML Studio je web aplikacija i izgleda slično Azure portalu za upravljanje (u vrijeme pisanja, sredina 2014.). Interfejs izgleda čisto, lijepo i dobro radi ne samo u IE, već iu Firefoxu i Chromeu, iako uz neke rezerve, ali ovo je samo prva verzija za pregled.
ML Studio je mjesto gdje započinjete svoj rad tako što odlučujete koje izvore podataka želite koristiti: skupove podataka koje ste preuzeli ili podatke uživo koji su dostupni putem motora Reader sa web stranice, OData, SQL Azure, Microsoft Azure, Hive ili Azure blobs. Tada ćete možda morati nešto učiniti Transformacije podataka, na primjer, grupisanje, preimenovanje stupaca, spajanje, eliminiranje duplikata ili vrlo korisna operacija binning/diskretizacije. Osim toga, možete koristiti druge, zanimljivije transformacije, na primjer, filtere konačnih i beskonačnih ulaznih odgovora ( Konačan i beskonačan ulazni odgovor), koji se koriste u obradi signala. Oni se takođe mogu šire primeniti na podatke relevantne za privredu, koji se mogu posmatrati u obliku složenih talasa (npr. vremenske serije). To je dio posla određivanje sezonalnosti i često se povezuje sa potragom za frekvencijama sličnim muzičkim u ovim godišnjim dobima. Osim toga, ako tek počinjete sa svojim projektom i niste sasvim sigurni koje stupce podataka treba uključiti, automatski se odabiru filteri funkcije ( Odabir funkcija) može vam biti od koristi predstavljajući vam dobar izbor indikatora korelacije. U praksi, međutim, u kasnijim koracima ćete htjeti ručno specificirati skup stupaca radi maksimalne preciznosti.
Sada ćemo preći na ono što smo čekali: pravo mašinsko učenje – što znači inicijalizaciju (definisanje) modela, obuku ( Voz) model sa nekim podacima, verifikacija ( Evaluate) performanse i valjanost modela i, ako je sve u redu, ocjenu ( Rezultat) model (predviđanje na osnovu njega). Azure ML nudi mnogo algoritama za Klasifikacije zadatke, uključujući Multiclass I Dvoklasne šume odluke, džungle odluke(razvio Microsoft Research) Logistička regresija, neuronske mreže, i Dvoklasni prosječni perceptroni, Bayesova mašina za tačke, pojačana stabla odlučivanja I Podrška vektorskih mašina (SVM). Grupiranje koristi varijaciju standardnog K-Means pristupa. Regresije uključiti Bayesova linearna, pojačana stabla odlučivanja, šume odlučivanja, Svakako Linearna regresija, Regresija neuronske mreže, redni I Poissonova regresija. I to je samo u verziji 1.
Možete koristiti korisne Statistički funkcije u njihovim eksperimentima, uključujući uobičajene elementarne, kao što je izračunavanje odstupanja. Probajte sami, počnite jednostavno određivanjem zadatka Deskriptivna statistika vaše podatke i vizualizirajte ( Vizualizuj) rezultati (koristite tačke povezivanja na zadacima). Uživajte u elementima boxplots u rezultirajućim vizualizacijama – nešto što odavno nedostaje svim Microsoft BI alatima, čak i Excelu...
Jedan cool primjer Kako Azure ML donosi eksterno istraživanje u vaše eksperimente možete pronaći u odjeljku izazova Analitika teksta. Zadatak Prepoznavanje imenovanih entitetaće vam omogućiti da obradite uneseni tekst (tzv priče, na primjer, poštanske adrese, otkucani opisi situacija ili tweetovi) i iz njih izdvojiti imenovane pojmove, automatski ih klasificirajući kao Ljudi, mjesta ili Organizacije. Tu je i podrška za projekat Vowpal Wabbit, koji podržavaju Yahoo i Microsoft Research. Možete ga koristiti da dobijete hasheve za entitete na zahtjev. Očekujem da se pojavim u budućnosti više alate i mogućnosti u ovoj oblasti, jer je očigledno da Microsoft ima ogromnu količinu znanja pohranjenog unutar Binga.
Podrška za duboki R jezik
Povrh toga, Azure ML možete koristiti interno. Po mom mišljenju, Azure ML trenutno dolazi sa oko 410 paketa unapred instaliranih na vrhu R 3.1.0 (iznenađujuće, najnoviju verziju). Među paketima ima ggplot2(Da!), plyr I dplyr, auto, skupovi podataka, HMisc, MASS i svi ostali najčešće korišćeni paketi za rudarenje podataka. like rpart, nnet, survival, boot i tako dalje.
Ako želite da pronađete listu paketa koji su uključeni u Azure ML, onda jednostavno napravite mali eksperiment poput onog koji sam ovde pokazao, pokrenite neki R kod i sačuvajte rezultirajući CSV na svom računaru. Kolona 1 će prikazati sve uključene pakete.
Šta učiniti ako vaš omiljeni R paket (npr. ROCR ili nleqslv) nedostaje na listi? U stvari, dokumentacija može biti zbunjujuća. Kaže da trenutno ne postoji način da instalirate sopstvene pakete, ali dokumentacija opisuje rešenje koje vam pomaže da uključite sopstveni paket koristeći zip fajl. Na dnu ove veze možete pronaći opis ovog pristupa, koji pokazuje kako se primijeniti install.packages() dok koristite vezu do datoteke prenesene u zadatak Izvršite R skriptu.
Ključ za razumijevanje važnosti da R bude dio Azure ML-a, po mom mišljenju, nije samo to što platforma omogućava pristup de facto jeziku statistike i analitike (lingua-franca), već i koliko je brza i bezbolna u proces obrade vaših podataka. Ovo je posebno uočljivo s obzirom na činjenicu da sam R nije tako zgodan alat za manipulaciju podacima. Dakle, umjesto korištenja poštovani RODBC(omogućeno) unutar vaše R skripte, možda biste trebali razmisliti o korištenju Azure ML-a za sve vaše teške zadatke obrade podataka (izvinite, obožavatelji plyr) i prenesite podatke u R skriptu kao Azure ML skup podataka Tabela podataka, koji postaje dostupan kao izvorni R okvir podataka. Podaci će se magično pojaviti unutar vaše skripte kao objekat pod nazivom skup podataka. Možete dodati više izvora podataka.
Još nisam završio svoje testove performansi, ali sve što može poboljšati performanse obrade R-a na ovaj ili onaj način velike količine podaci se mogu samo toplo pozdraviti. Pored toga, ove karakteristike izgledaju kao očigledna prednost provajdera u oblaku u poređenju sa konvencionalnim rešenjima u kutiji. I mogu zamisliti da Microsoft koristi brojne trikove za poboljšanje performansi kada su skupovi podataka iz Azurea povezani s uslugom Azure ML, čak imajući na umu trenutno ograničenje od 10 GB.
Sa ili bez R-a, možete imati radni eksperiment koji možete koristiti kao radni gradivni blok unutar vaše web-bazirane aplikacije. Zamislite da ste upravo izgradili sistem preporuka. U terminima Azure ML, imate eksperiment koji koristi zadatak bodovanja. Vi definirate koji od ulaznih portova treba koristiti Objavi unos za vašu web uslugu i shodno tome što treba uzeti u obzir Objaviti izlaz. Oni će biti predstavljeni kao mali zeleni i plavi meci na obrisima problema. Ponovo izvodite eksperiment i koristite Studio ML da ga objavite kao Azure ML Web Service. Sada možete konzumirati rezultate putem Azure ML REST API kao jednostavan web servis ili OData krajnja tačka. Ovaj API nudi Request Response Service (RRS) za sinhroni pristup sa malim kašnjenjem za izvođenje predviđanja i asinhrono izvršenje Usluga batch Execution Service (BES) da ponovo obučite model sa, recimo, vašim budućim svežim podacima. Ovaj API nudi automatski generirani primjer koda koji možete jednostavno kopirati i zalijepiti za korištenje u Python, R ili C# aplikaciji, ili bilo gdje drugdje, jer je sve jednostavno bazirano na REST-u i JSON-u.
Postoji super mala stranica za testiranje koja će vam omogućiti da unesete potrebne vrijednosti za novu uslugu i napravite predviđanje testa.
Usluga također ima dodatne funkcije namijenjene praktičnoj upotrebi, na primjer, sprečavanje Microsofta da automatski ažurira bilo koju komponentu (zadatke, itd.) vašeg eksperimenta, čija bi promjena mogla promijeniti ili čak prekinuti vaš rad. Ispravno rješenje Microsoft je nešto s čime ne voli da se bavi bilo koji IT stručnjak koji podržava web sisteme. Možete testirati ažuriranja usluga u fazi postavljanja i konfigurirati sigurnost putem API pristupnog ključa.
Cijena
Koliko sve ovo košta? S obzirom na cijenu pretpregledne verzije, izgleda vrlo atraktivno. Postoje dvije vrste troškova, naknada za obračun po satu ( aktivno računanje po satu) i plaćanje za API pozive web servisa ( po-web-servis API poziv), obje vrste troškova su proporcionalne. Satnica je niža dok koristite ML Studio (0,38 USD/sat) i nešto viša u produkcijskoj upotrebi putem ML API usluge (0,75 USD/sat). Troškovi API poziva se ne računaju dok radite u ML Studiju i koštaju 0,18 USD za 1000 predviđanja tokom proizvodne upotrebe. Ako ništa drugo, ovo je zanimljiv i izuzetno jednostavan model cijena, za razliku od drugih koje je Microsoft koristio. Izuzetno sam zainteresovan da čujem šta moji klijenti programeri misle o sjajnoj prilici da efektivno preprodate Azure ML kao deo sopstvene veb aplikacije uz minimalan napor za podršku, bez potrebe da sami gradite ceo sistem.
Gdje početi?
Gdje početi? Posjetite azure.microsoft.com, pretplatite se i kreirajte radni prostor na Novo/Usluge podataka/Mašinsko učenje. Zatim idite na panel Dashboard i kliknite na link Prijavite se u ML Studio. Nakon pregleda zadataka koji će definirati eksperiment, potaknut ću vas da odaberete jedan od mnogih primjera, kreirate njegovu kopiju i pokrenete ga. Ako radi, slijedite gore navedene korake da biste ga objavili kao svoju prvu uslugu za predviđanje weba.
Naravno, pobrinite se da ne propustite naše nadolazeće video zapise i članke na ovu temu: postanite član stranice kako biste primali bilten s obiljem informacija. Ako želite brzo započeti, pogledajte našu obuku za rudarenje podataka, posebno module o pripremi podataka, jer su ovi koncepti posebno slučajevi, unos I izlazne koloneće svakako biti od koristi kada radite sa Azure ML.
Uživajte u učenju mašinskog učenja!
Mašinsko učenje je jedno od najpopularnijih područja računarstva, iako je u isto vrijeme jedno od najizbjeganijih među programerima. Glavni razlog za to je taj što teorijski dio mašinskog učenja zahtijeva duboku matematičku obuku, koju mnogi ljudi radije zaborave odmah nakon završetka univerzitetskih studija. Ali potrebno je razumjeti da pored toga teorijske osnove, tu je i praktična strana, za koju se ispostavilo da je mnogo lakše naučiti i koristiti na dnevnoj bazi. Cilj ovog rada je premostiti jaz između programera i naučnika podataka i pokazati da korištenje mašinskog učenja u vašim aplikacijama može biti prilično jednostavno. U članku je prikazan cijeli niz koraka potrebnih za izgradnju modela za predviđanje cijene automobila u zavisnosti od skupa njegovih karakteristika, a zatim ga koristiti u mobilnoj aplikaciji na Windows 10 Mobile.
Šta je Azure ML?
Ukratko, Azure Machine Learning je:
- cloud rješenje koje omogućava izgradnju i korištenje složenih modela strojnog učenja u jednostavnom i vizualnom obliku;
- ekosistem dizajniran za distribuciju i monetizaciju gotovih algoritama.
Zašto Azure ML?
Budući da je Azure Machine Learning jedan od najjednostavnijih alata za korištenje strojnog učenja, uklanjajući barijeru ulasku za svakoga ko odluči da ga koristi za svoje potrebe. Uz Azure ML više ne morate biti matematičar.
Logički proces izgradnje algoritma mašinskog učenja
- Određivanje cilja. Svi algoritmi mašinskog učenja su beskorisni bez eksplicitno definisane svrhe za provođenje eksperimenta. U ovom laboratorijski rad cilj je predvidjeti cijenu automobila na osnovu skupa karakteristika koje daje krajnji korisnik.
- Prikupljanje podataka. Tokom ove faze formira se uzorak podataka koji je neophodan za dalju obuku modela. U ovom slučaju će se koristiti podaci iz spremišta mašinskog učenja Univerziteta u Kaliforniji.
archive.ics.uci.edu/ml/datasets/Automobile - Priprema podataka. U ovoj fazi, podaci se pripremaju formiranjem karakteristika, uklanjanjem izuzetaka i podjelom uzorka na obuku i testiranje.
- Razvoj modela. U procesu razvoja modela bira se jedan ili više modela podataka i odgovarajućih algoritama učenja, koji bi, prema mišljenju programera, trebali dati traženi rezultat. Često se ovaj proces kombinuje sa paralelnim proučavanjem efikasnosti nekoliko modela i vizuelnom analizom podataka u cilju pronalaženja bilo kakvih obrazaca.
- Obuka modela. Tokom treninga, algoritam učenja traži skrivene obrasce u uzorku podataka kako bi pronašao način za predviđanje. Sam proces pretraživanja određen je odabranim modelom i algoritmom učenja.
- Evaluacija modela. Nakon što je model obučen, potrebno je ispitati njegove prediktivne karakteristike. Da bi se to postiglo, najčešće se izvodi na probnom uzorku i procjenjuje se rezultirajući nivo greške. Ovisno o tome i zahtjevima za tačnost, model se može ili prihvatiti kao konačni ili ponovo obučiti nakon dodavanja novih ulaznih karakteristika ili čak promjene algoritma učenja.
- Korištenje modela. Ako je obučeni model uspješno testiran, počinje faza njegove upotrebe. A to je slučaj kada Azure ML postaje nezamjenjiv, pružajući sve potrebne alate za objavljivanje, praćenje i monetizaciju algoritama
Izgradnja prediktivnog modela
Na stranici koja se otvori kliknite Započnite odmah.
Da biste koristili Azure ML, potrebna vam je aktivna Microsoft Azure pretplata. Ako ga već imate, jednostavno se prijavite na Azure portal za upravljanje, u suprotnom unaprijed registrirajte besplatni probni račun klikom na vezu.
Prije svega, morate učitati set za obuku. Da biste to učinili, slijedite vezu i preuzmite datoteku imports-85.data na svoj računar, koja sadrži izbor podataka o automobilima.
Da biste otpremili ovu datoteku u Azure ML Studio, kliknite na Novo na dnu stranice i na panelu koji se otvori odaberite Skup podataka i Iz lokalne datoteke. U meniju za preuzimanje odredite putanju do preuzete datoteke, ime i odaberite Generička CSV datoteka bez zaglavlja (.hn.csv) kao tip.
Kreiranje novog eksperimenta
Da kreirate novi eksperiment, odaberite Novo -> Eksperiment -> Prazan eksperiment. Ovo će stvoriti novi eksperimentalni radni prostor sa trakom sa alatkama na desnoj strani.
Definiranje uzorka podataka
Prethodno preuzeti podaci bi trebali biti prikazani u odjeljku Sačuvani skupovi podataka na lijevoj strani. Izaberite ga i prevucite bilo gde u radnom prostoru, na primer, tamo gde pokazuje strelica Prevucite stavke ovde.
Imajte na umu da izvor podataka ima tačku veze u obliku kruga koja se koristi za povezivanje s drugim komponentama.
Priprema podataka
Prilikom razvoja modela mašinskog učenja, dobra je praksa testirati preliminarni rezultati eksperimentirajte nakon svake promjene. Dakle, kliknite desnim tasterom miša na tačku veze i izaberite Visualize. Kao rezultat, pojavit će se prozor koji daje pregled podataka i njihovu distribuciju.
Kao što vidite, postoji problem u uzorku - nedostaju vrijednosti u drugoj koloni. Ovo može stvoriti neželjeni efekat tokom procesa obuke i značajno pogoršati kvalitet modela. Ali, na sreću, ove vrijednosti karakteriziraju troškove osiguranja i slabo su povezane s cijenom automobila, pa se stoga mogu ukloniti. Između ostalog, kolone nemaju nazive, što znatno otežava rad s njima.
Da biste riješili problem s imenima iz grupe Transformacija/Manipulacija podataka, prebacite se na radnu površinu uređivača metapodataka.
Prevucite izlaz (dno) uzorka podataka na ulaz (vrh) nove komponente da biste ih povezali. Sada kliknite na njega da otvorite prozor postavki na desnoj strani. Uređivač metapodataka vam omogućava da promijenite meta informacije jedne ili više kolona, uključujući tip ili naziv. Otvorite čarobnjak za biranje kolona klikom na Pokreni birač kolona. Da biste odabrali sve kolone, odaberite Sve kolone u polju Počni s, izbrišite liniju za preciziranje odabira klikom na znak “-“ na desnoj strani i potvrdite klikom na kvačicu.
U polje Nova imena kolona na panelu postavki unesite nova imena kolona odvojena zarezima, koja se mogu naći u datoteci import-85.names na prethodno navedenom linku. Vrijednost polja bi trebala biti sljedeća:
simboliziranje, normalizirani gubici, marka, vrsta goriva, aspiracija, broj vrata, stil karoserije, pogonski kotači, lokacija motora, međuosovinsko rastojanje, dužina, širina, visina, masa praznog vozila, tip motora, broj cilindara, veličina motora, sistem goriva, provrt, hod, omjer kompresije, konjska snaga, vršni broj okretaja, grad-mpg, autoput-mpg, cijena
Da biste vidjeli rezultat rada komponente, kliknite na Run na dnu i vizualizirajte izlaz uređivača metapodataka na način opisan ranije.
Sada uklonimo normalizirane gubitke. Da biste to uradili, prevucite kolone projekta iz iste grupe u radni prostor, povežite ih sa uređivačem metapodataka i idite na njegove postavke. Ponovo odaberite birač redova i ovaj put odaberite sve redove osim normaliziranih gubitaka, čineći postavke slične onima prikazanim na donjoj slici.
Pokrenite eksperiment i vizualizirajte rezultat kako biste potvrdili da drugi stupac nedostaje u uzorku.
Nažalost, još uvijek postoje kolone kojima nedostaju vrijednosti. Ali nema ih mnogo, pa se možete ograničiti samo na odbacivanje nepotpunih linija. Da biste to učinili, odaberite alat za čišćenje nedostajuće vrijednosti i povežite ga s kolonama projekta. U polju Za vrijednosti koje nedostaju, promijenite vrijednost u Ukloni cijeli red. Pokrenite ga, renderirajte i uvjerite se da su redovi s praznim vrijednostima nestali.
Postoji još jedno pitanje na koje treba odgovoriti u fazi pripreme: da li sve karakteristike utiču na cijenu automobila? U ovoj fazi možemo se ograničiti na sljedeći mali broj indikatora, čija je lista data u nastavku. U budućnosti uvijek možete dodati nove i testirati hipotezu o njihovoj dovoljnosti upoređujući tačnost rezultirajućih modela.
marka, stil karoserije, međuosovinsko rastojanje, veličina motora, konjska snaga, maksimalni broj obrtaja, autoput-mpg, broj cilindara, cijena
Dodajte nove kolone projekta i odaberite gornje stupce.
Konačno, osigurajte da je vaša priprema podataka uspješna pokretanjem eksperimenta i vizualizacijom rezultata.
Raspad uzorka
Podaci su sada spremni za korištenje u procesu obuke. Ali u mašinskom učenju, moguć je efekat koji se zove „pretreniranost” – model uči podatke bez generalizacije. Ovakvo ponašanje dovodi do nemogućnosti adekvatnog predviđanja na različitim podacima. Da bi se riješila ova situacija, uobičajeno je da se uzorak podijeli na trening i testiranje u omjeru blizu 3:1. Posljednji od njih ni na koji način ne učestvuje u procesu učenja i po završetku se koristi za procjenu greške predviđanja. Ako se ova greška značajno razlikuje od greške na skupu za obuku, tada se opaža gore opisani efekat.
Da biste kreirali probni uzorak, povucite komponentu Split Data iz grupe Transformacija podataka/Uzorak i Split na radni prostor eksperimenta i povežite je s posljednjim stupcima projekta. Postavite dio reda prvog izlaza na 0,75 i provjerite je li postavljena zastavica Randomize Split.
Obuka modela linearna regresija
Prvo prevucite komponente Linearna regresija, Model vlaka, Score Model i Evaluate Model sa trake sa alatkama. Model vlaka je univerzalna komponenta koja omogućava obuku bilo kog modela na bilo kojem setu za obuku. Za postavljanje našeg specifičnog slučaja, povežite prvi (lijevi) izlaz Split Data i izlaz linearne regresije na odgovarajuće ulaze modela vlaka. U postavkama modela vlaka navedite cijenu kao ciljnu vrijednost (kolona ishoda). Model je sada spreman za obuku.
Ali, pored samog treninga, važno je znati i rezultat treninga. Komponenta Score Model vam omogućava da izračunate izlaz obučenog modela na slučajnom uzorku i izračunate rezultat predviđanja. Povežite izlaz modela vlaka, koji sadrži obučeni model, s odgovarajućim ulazom modela bodovanja i unesite testni uzorak iz drugog izlaza podijeljenih podataka kao uzorak podataka na drugi ulaz. Povežite izlaz modela bodovanja sa bilo kojim od ulaza modela evaluacije kako biste izračunali numeričke karakteristike kvaliteta obuke. Rezultat bi trebao biti proces sličan onom prikazanom na slici.
Pokrenite model i vizualizirajte izlaz Evaluate Model.
Koeficijent determinacije pokazuje koliko dobro linija regresije opisuje originalne podatke. Vrijednosti koje prihvata kreću se od 0 do 1, gdje jedan odgovara apsolutnoj preciznosti. U našem slučaju koeficijent je 82%. Da li je ovo dobar rezultat ili ne zavisi direktno od formulacije problema i određene tolerancije greške. Za slučaj predviđanja cijene automobila, 82% je odličan rezultat. Ako ga želite poboljšati, pokušajte dodati druge stupce u Project Columns ili isprobajte potpuno drugačiji algoritam. Na primjer, Poissonova regresija. Ovo posljednje se može postići jednostavnom zamjenom komponente linearne regresije Poissonovom. Ali zanimljiviji pristup je sastavljanje paralelnog treninga od elemenata i povezivanje rezultata sa drugim izlazom Evaluate Modela, koji će vam omogućiti da uporedite rezultate obuke oba modela u prikladnom obliku.
Pokrenite model i vizualizirajte rezultat. Kao što se može vidjeti iz rezultata, podaci su mnogo bolje opisani modelom linearne regresije, te stoga postoje svi razlozi da se on odabere kao konačni model.
Kliknite desnim tasterom miša na komponentu modela vlaka koja odgovara linearnoj regresiji i odaberite Spremi kao obučeni model. Ovo će vam omogućiti da koristite rezultirajući model u bilo kojim drugim eksperimentima bez potrebe za ponovnom obukom.
Objavljivanje web servisa
Da biste objavili uslugu, odaberite komponentu modela vlaka koja odgovara linearnoj regresiji i kliknite Postavi web uslugu. U meniju koji se otvori odaberite Predictive Web Service i pričekajte dok Azure ML kreira novi eksperiment optimiziran za potrebe usluge. Izbrišite automatski kreirane komponente Web Service Input i Web Service Output - kreiraćemo ih kasnije nakon male pripreme.
U ovom trenutku, element Score Model ponavlja sve ulazne kolone u svom izlazu i daje predviđenoj vrijednosti naziv Score Labels. Ovo treba popraviti.
Da biste to učinili, premjestite dvije već poznate komponente sa trake s alatima na radnu površinu: kolone projekta i uređivač metapodataka. I povežite ih redoslijedom prikazanim na donjoj slici. U postavkama kolone projekta izaberite samo jednu kolonu, Oznake rezultata, i pomoću uređivača metapodataka preimenujte je u cijenu.
Konačno, morate dodati ulaz i izlaz usluge koja se kreira. Da biste to učinili, eksperimentu dodajte unos web usluge i izlaz web usluge. Povežite prvi na ulaz modela Score, a drugi na izlaz uređivača metapodataka. U postavkama oba elementa promijenite naziv u "unos" i "predviđanje".
Ponovo pokrenite model tako što ćete kliknuti na Pokreni, a nakon što je validacija završena, objavite uslugu klikom na Deploy Web Service.
Testiranje servisa
Nakon što kliknete na Deploy Web Service, bit ćete preusmjereni na stranicu s informacijama o novokreiranoj usluzi. Veze pod API STRANICOM POMOĆI sadrže dovoljno Detaljan opis sa informacijama o sadržaju dolaznih i odlaznih JSON paketa, kao i primjer koda za konzolnu aplikaciju koja daje ideju kako je koristiti.
Za interaktivno testiranje kliknite na Test i u prozoru koji se otvori unesite vrijednosti za svaki ulazni parametar. Na primjer, one ispod i kliknite na potvrdni okvir da pošaljete zahtjev za testiranje.
audi sedan 99.8 četiri 109 102 5500 30 13950
Razvoj aplikacija
U zaključku, pogledajmo proces razvoja mobilne aplikacije koristeći Azure ML kao back-end uslugu. Prvo kreirajte novi projekat univerzalna Windows aplikacija. Da biste to uradili, kada je Visual Studio 2015 otvoren, izaberite Datoteka -> Novo -> Projekat... U prozoru koji se otvori idite na karticu Windows u levom meniju i izaberite Prazna aplikacija (Univerzalni Windows). U polje za naslov unesite AzureMLDemo i kliknite na OK. Po potrebi gotovi projekat se može naći na GitHubu.
Nakon određenih priprema, Visual Studio će otvoriti novi projekat Universal App. Uverite se da je polje arhitekture procesora desno od Debug postavljeno na x86, a desno izaberite jednu od mobilnih virtuelnih mašina kao okruženje za pokretanje. Na primjer, Mobile Emulator 10.0.10240.0 720p 5 inča 1GB.
Sada možete preći na pisanje same aplikacije. U meniju Solution Explorer, dvaput kliknite da biste otvorili MainPage.xaml. Opisivanje GUI XAML markup jezika je izvan okvira ovog rada, stoga jednostavno zamijenite oznaku za otvaranje i zatvaranje
Uprkos svojoj prividnoj složenosti, ovaj kod stvara prilično jednostavnu oznaku potrebnu za unos korisničkih podataka. Svaki ulazni element za jedan od parametara modela ima ime kao što je tbxMake, txbBodyStyle, itd. Ispod njih je dugme Get Estimate koje je odgovorno za slanje poruke Azure ML servisu, a sve se završava elementom tbResult koji će sadržati rezultat poziva.
Pokrenite aplikaciju tako što ćete kliknuti na Debug -> Start Debugging kako biste bili sigurni da je sve urađeno ispravno, da se projekt kompajlira i pokrene. Provjerite da li promjena položaja klizača rezultira odgovarajućom promjenom numeričke vrijednosti desno od njih.
Zaustavite sesiju otklanjanja grešaka klikom na Debug -> Stop Debugging.
Definiranje programske logike
Sada morate definirati kod za obradu klikom na dugme Get Estimate. U Solution Exploreru proširite MainPage.xaml i dvaput kliknite na MainPage.xaml.cs da otvorite datoteku Code-behind za ovaj GUI.
Prvi korak je uključivanje nekoliko potrebnih biblioteka. Da biste to uradili, kliknite desnim tasterom miša na naziv projekta i izaberite Upravljanje Nuget paketima... U meniju koji se otvori potražite WebApi.Client i instalirajte paket pod nazivom Microsoft.AspNet.WebApi.Client.
Zatim dodajte sljedeće dodatne deklaracije korištenja na početak datoteke:
Using System.Net.Http; koristeći System.Net.Http.Headers; koristeći Newtonsoft.Json; koristeći System.Threading.Tasks;javna zatvorena djelomična klasa Glavna stranica: Stranica ( const string _apiKey = @"
Pristupni ključ možete pronaći na stranici Dashboard vašeg servisa, a adresu zahtjeva na stranici za pomoć ZAHTJEV/ODGOVOR, link do koje je dat u nastavku.
Sljedeći korak je dodavanje pomoćne funkcije koja će uputiti zahtjev usluzi Azure ML. U skladu sa dokumentacijom koja se nalazi na istoj stranici pomoći ZA ZAHTJEV/ODGOVOR, da bismo dobili odgovor moramo izvršiti sljedeći niz radnji: generirati zahtjev, poslati ga servisu sa HTTP POST zahtjevom i obraditi odgovor.
Kreirajte funkciju CallAzureML koja kao ulaz uzima vrijednosti svih parametara modela i vraća float vrijednost s procjenom cijene. Async Task ovdje odgovara implementaciji async/await obrasca, što uvelike pojednostavljuje rad sa asinhronim pozivima u aplikaciji (više informacija možete pronaći).
Privatni async zadatak
Takođe, da bismo pojednostavili rad sa JSON-om, koristićemo biblioteku Newtonsoft.Json. Njegova karakteristična karakteristika je da vam omogućava interakciju sa JSON objektima kroz zgodnu apstrakciju u obliku običnih objekata .NET nivoa. Postavite sljedeći kod na početak metode.
Var requestBody = novo (Inputs = new Dictionary
Ovdje je struktura JSON objekta zahtjeva ponovo kreirana korištenjem anonimne klase i potpuno je (osjetljiva na velika i mala slova) struktura očekivanog zahtjeva. Za usporedbu, primjer takvog zahtjeva sa stranice ZAHTJEV/ODGOVORI je prikazan u nastavku.
{
"Ulazi": (
"ulaz": (
"Imena kolona": [ "make", "stil karoserije", "razmak između točkova", "broj cilindara",
"veličina motora", "konjska snaga", "peak-rpm", "highway-mpg",
"Cijena" ],
"Vrijednosti": [
[ "vrijednost", "vrijednost", "0", "vrijednost", "0", "0", "0", "0", "0" ],
[ "vrijednost", "vrijednost", "0", "vrijednost", "0", "0", "0", "0", "0" ]
]
}
},
"GlobalParameters": ()
}
Sljedeći korak je podnošenje zahtjeva samom servisu. Da biste to učinili, dodajte sljedeći kod metodi koju razvijate.
Pokušajte (koristeći (var client = new HttpClient()) ( client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", _apiKey); client.BaseAddress = new Uri(_requestUri); var response = await client.PostAsJsonAsync("", requestBody); if (response.IsSuccessStatusCode) ( // uspjelo izbaciti novi NotImplementedException(); ) else ( // nije uspjelo izbaciti novi NotImplementedException(); ) ) ) uhvatiti (Izuzetak e) (baciti; )
Prvi korak je kreiranje HTTP klijenta i instaliranje svih informacija potrebnih za uspješno povezivanje na uslugu u Azure ML-u: adresu i pristupni ključ. Zatim se šalje POST zahtjev prema servisu s JSON objektom kreiranim ranije. Uspješnost poziva je potvrđena HTTP statusnim kodom.
Zamijenite kod u području označenom uspješnim komentarom kodom ispod. On sekvencijalno prima odgovor servera u obliku stringa, analizira ga u dinamički objekat koristeći Newtonsoft.Json konvertor, a zatim izdvaja informacije o cijeni. Primjer odgovora servera za poređenje možete pronaći u odjeljku “Testiranje usluge”.
Var responseContent = čekati odgovor.Content.ReadAsStringAsync(); var val = JsonConvert.DeserializeObject
U slučaju stanja greške, metoda treba da vrati što više informacija. Stoga, kao iu prethodnom slučaju, sadržaj zahtjeva se preuzima kao string, ali ovaj put se sekvencijalno pretvara u objekt i nazad u string. Ovo je neophodno kako bi se dodalo uvlačenje, što omogućava lakše čitanje njegovog sadržaja. Zamijenite kod u području označenom neuspjelim komentarom sljedećim.
Var responseContent = čekati odgovor.Content.ReadAsStringAsync(); var responseObject = JsonConvert.DeserializeObject(responseContent); var formattedResponseContent = JsonConvert.SerializeObject(responseObject, Formatting.Indented); var message = String.Format("Server je vratio statusni kod (0) sa porukom (1)", response.StatusCode, formattedResponseContent); izbaci novi InvalidDataException(message);
Metoda Azure ML poziva je sada završena. Kao što vidite, njegova implementacija je prilično jednostavna, iako iza nje stoji čitav proces implementacije statističkog modela podataka, algoritma učenja i metode za procjenu proizvoljne procjene ulaznog vektora. Prilično složene matematičke teorije uklapaju se u nekoliko redova programskog koda.
Konačno, potrebno je da implementirate rukovalac za događaj klika dugmeta Dobij procenu. Prvo idite na MainPage.xaml i dodajte informacije o rukovatelju događaja u XML oznaku gumba GetEstimate.
Vratite se na MainPage.xaml.cs i kreirajte odgovarajuću metodu. Poziva prethodno kreiranu metodu za pozivanje Azure ML usluge i postavlja rezultat na tbResult.
Privatni async void GetEstimate_Click(object sender, RoutedEventArgs e) (pokušajte (var price = await CallAzureML(tbxMake.Text, tbxBodyStyle.Text, slWheelBase.Value, tbxNumberOfTextEintl,HumberOfTextEintl,HumberOfTextEintl) orsepowers.Value, (int)slPeakRPM.Value, (int)slHighwayMPG.Value); tbResult.Text = String.Format("Imate sreće!\n" + "Danas je jeftino kao (0:c). Ne propustite šansa!", cijena); ) catch (Exception ex) ( // Prikazuje grešku u rezultatu TextBlock tbResult.Text = String.Format("Ups! Nešto je pošlo po zlu.\n" + "Ovo može biti od pomoći:\n(0 )", npr.ToString()); ) )
To je to, aplikacija je spremna. Pokrenite ga i eksperimentirajte s procjenom vrijednosti automobila na osnovu različitih skupova karakteristika.
Zaključak
Azure mašinsko učenje je novi alat visokih performansi za rad sa algoritmima mašinskog učenja. Možda je ovo čak i jedino okruženje koje olakšava objavljivanje vaših algoritama kao zasebne usluge i njihovo naknadno korištenje u vašim aplikacijama. U ovom radu korišten je jedan od najjednostavnijih algoritama učenja - algoritam linearne regresije. Postoji još desetine dostupnih u Azure ML-u, koje su stvorili naučnici za različite svrhe. A najvažnije je da ne morate biti matematičar da biste ih koristili. Dovoljno je koristiti komponente za sklapanje potrebnog procesa obrade podataka, provesti nekoliko eksperimenata i, ako je uspješno, sve objaviti kao servis.
Evo još nekih uzoraka podataka za eksperimentiranje: Dodajte oznake
Najvjerovatnije ste više puta naišli na termin "mašinsko učenje". Iako se često koristi kao sinonim za umjetnu inteligenciju, strojno učenje je zapravo jedan od njegovih elemenata. Štaviše, oba koncepta su rođena na Massachusetts Institute of Technology kasnih 1950-ih.
Danas se svakodnevno susrećete sa mašinskim učenjem, iako to možda niste svesni. Glasovni asistenti Siri i Google, prepoznavanje lica u Facebooku i Windows 10, preporuke u Amazonu, tehnologije koje sprječavaju da automobili roboti naiđu na prepreke nastali su zahvaljujući napretku mašinskog učenja.
Sistemi za mašinsko učenje su još uvek daleko od ljudskog mozga, ali već imaju impresivna dostignuća kao što su pobeđivanje ljudi u šahu, igri na ploči Go i pokeru.
Razvoj mašinskog učenja dobio je veliki podsticaj u poslednjih nekoliko godina zahvaljujući brojnim tehnološkim otkrićima, povećanju raspoložive računarske snage i obilju podataka za obuku.
Softver za samoučenje
Dakle, šta je mašinsko učenje? Počnimo od onoga što nije. Ovo nisu obični kompjuterski programi pisani rukom.
Za razliku od tradicionalnog softvera, koji je odličan u izvršavanju instrukcija, ali mu nedostaje sposobnost improvizacije, sistemi za mašinsko učenje u suštini sami programiraju, sami razvijajući instrukcije sumirajući poznate informacije.
Klasičan primjer je prepoznavanje uzoraka. Pokažite sistemu mašinskog učenja dovoljno slika pasa sa oznakom "pas", kao i mačaka, drveća i drugih objekata sa oznakom "ne pas", i on će na kraju postati dobar u prepoznavanju pasa. A za ovo joj neće trebati objašnjavati kako tačno izgledaju.
Filter za neželjenu poštu u vašem programu za e-poštu dobar je primjer mašinskog učenja na djelu. Nakon obrade stotina miliona uzoraka neželjenih i potrebnih poruka, sistem je obučen da identifikuje tipične znakove neželjenih poruka. Ona to ne rješava savršeno, ali to radi prilično efikasno.
Obuka sa i bez nastavnika
Tip mašinskog učenja koji se spominje naziva se učenjem pod nadzorom. To znači da je neko uveo algoritam u ogromnu količinu podataka o obuci, pregled rezultata i podešavanje postavki sve dok se ne postigne željena tačnost u klasifikaciji podataka koje sistem još nije „video“. Ovo je isto kao da kliknete na dugme "nije neželjena pošta" u vašem programu za e-poštu kada filter slučajno presretne poruku koju želite. Što češće to radite, filter postaje precizniji.
Tipični zadaci učenja pod nadzorom su klasifikacija i predviđanje (ili regresijska analiza). Spam i prepoznavanje uzoraka su problemi klasifikacije, dok je predviđanje cijene dionica klasičan primjer regresije.
U učenju bez nadzora, sistem pregleda ogromne količine podataka, učeći kako izgledaju „normalni“ podaci kako bi mogao prepoznati anomalije i skrivene obrasce. Učenje bez nadzora je korisno kada ne znate tačno šta tražite, u kom slučaju možete natjerati sistem da vam pomogne.
Sistemi za učenje bez nadzora mogu otkriti obrasce u ogromnim količinama podataka mnogo brže od ljudi. Zato ih banke koriste za identifikaciju lažnih transakcija, trgovci za identifikaciju klijenata sa sličnim atributima i sigurnosni softver za prepoznavanje zlonamjerne aktivnosti na mreži.
Primjeri problema u učenju bez nadzora su grupiranje i pronalaženje pravila asocijacije. Prvi se koristi, posebno, za segmentaciju kupaca, a mehanizmi za izdavanje preporuka temelje se na traženju pravila asocijacije.
Pojmovnik pojmova
Mašinsko učenje je samo vrh ledenog brega umjetne inteligencije. Drugi termini koji su usko povezani s tim uključuju neuronske mreže, duboko učenje i kognitivno računarstvo.
Neuralna mreža.Ovo je kompjuterska arhitektura koja imitira strukturu neurona u mozgu; svaki veštački neuron se povezuje sa drugima. Neuronske mreže su izgrađene u slojevima; neuroni u jednom sloju prenose podatke mnogim neuronima u sljedećem, i tako dalje, sve dok se ne dostigne izlazni sloj. Upravo na ovom posljednjem sloju mreža izbacuje svoje nagađanja – recimo, kakav je taj objekat u obliku psa – zajedno sa ocjenom povjerenja za odgovor.
Postoje različite vrste neuronskih mreža za rješavanje različitih vrsta problema. Mreže sa velikim brojem slojeva nazivaju se dubokim. Neuronske mreže su jedan od najvažnijih alata za strojno učenje, ali ne i jedini.
Duboko učenje.Ovo je u suštini mašinsko učenje na steroidima – korišćenje višeslojnih (dubokih ili dubokih) mreža za donošenje odluka na osnovu netačnih ili nepotpunih informacija. Sistem dubokog učenja DeepStack je prošlog decembra pobedio 11 profesionalnih poker igrača preračunavajući strategiju nakon svake runde klađenja.
Kognitivno računarstvo.Ovo je termin koji su u IBM-u skovali kreatori superkompjutera Watson. IBM vidi razliku između kognitivnog računarstva i umjetne inteligencije u činjenici da prve ne zamjenjuju ljudski um, već ga dopunjuju: na primjer, pomažu liječnicima da postave preciznije dijagnoze, financijski savjetnici daju bolje informisane preporuke, pravnici brže pronalaze odgovarajuće presedane , itd. P.
Ograničenja mašinskog učenja
Svaki sistem mašinskog učenja stvara sopstveni obrazac veza, koji predstavlja nešto poput crne kutije. Nećete moći da shvatite kako se tačno vrši klasifikacija kroz inženjersku analizu, ali to nije važno, sve dok funkcioniše.
Međutim, sistem mašinskog učenja je samo onoliko dobar koliko i podaci o obuci: ako ga unesete „smećem“ kao ulaz, rezultat će biti odgovarajući. Ako je obučen pogrešno ili je veličina uzorka za obuku premala, algoritam može dati netačne rezultate.
HP je upao u probleme 2009. godine kada sistem za prepoznavanje lica za web kameru na HP MediaSmart laptopu nije mogao prepoznati lica Afroamerikanaca. A u junu 2015. loš algoritam Google Photos nazvao je dva crna Amerikanca „gorilama“.
Drugi primjer je zloglasni Microsoft Tay Twitter bot, s kojim je eksperimentirano 2016.: tada su pokušali otkriti može li se umjetna inteligencija "pretvarati" da je čovjek učeći iz stvarnih poruka od ljudi. Za manje od jednog dana, Twitter trolovi su Taya pretvorili u otvorenog ksenofoba - tipičan primjer pokvarenih obrazovnih podataka.
***
Dakle, bez obzira na svu buku oko umjetne inteligencije, nije pretjerano reći da mašinsko učenje i srodne tehnologije zaista mijenjaju svijet oko nas, i to tako brzo da će upravo na vrijeme mašine postati potpuno samosvjesne.
− Dan Tynan. Šta je mašinsko učenje? Softver izveden iz podataka. InfoWorld. 9. avgusta 2017
Gazprom njeft će koristiti Yandex veštačku inteligenciju
Koristeći Big Data tehnologije, mašinsko učenje i veštačku inteligenciju, Gazprom njeft i Yandex planiraju bušenje bušotina, modeliranje procesa prerade nafte i optimizaciju drugih proizvodnih procesa.
Ugovor koji su zaključile kompanije uključuje stručnjake Yandex Data Factory koji sprovode nezavisnu proveru postojećih tehnoloških rešenja, zajednički razvoj i implementaciju istraživačkih i tehnoloških projekata, razmenu naučnih i tehničkih informacija, znanja i obuku zaposlenih.
Industrija nafte i plina jedna je od najperspektivnijih u pogledu korištenja novih tehnologija, budući da su u njoj akumulirane velike količine podataka, a jednostavna rješenja za optimizaciju proizvodnje i poslovanja odavno se primjenjuju. Ovo stvara dobre mogućnosti za postizanje opipljivog efekta od implementacije rješenja baziranih na strojnom učenju i umjetnoj inteligenciji.
Hokejaška analitika u Azureu
Ruska kompanija Iceberg Sports Analytics predstavila je rješenje iceberg.hockey, implementirano na Microsoft Azure platformi. Omogućava vam da upravljanje hokejaškim klubovima učinite efikasnijim, povećate šanse za pobjedu i optimizirate korištenje budžeta tima.
iceberg.hockey koristi sopstvene algoritme kreirane posebno za hokej zasnovane na naprednoj analitici, mašinskom učenju i tehnologijama kompjuterskog vida. Sistem je namijenjen menadžerima i trenerima hokejaških klubova. Za svaku igru, rješenje kreira oko milion redova podataka, koristeći tri video kamere za snimanje svega što se dešava na terenu svake desete sekunde: to je oko 500 parametara za svakog igrača. Programeri su uspjeli postići visoku tačnost analize podataka: greška nije veća od 4%. Analiza pomaže da se dobiju informacije o optimalnoj kombinaciji igrača, tehnici igre pojedinih sportista, timova i tima u cjelini.
Među klijentima kompanije već su New York Islanders i HC Sochi, kao i austrijska hokejaška akademija RedBull.
Khlynov je optimizirao uslugu bankomata
Banka Khlynov je promijenila uslugu bankomata koristeći usluge mašinskog učenja iz Microsoft Azure oblaka. Kao rezultat toga, banka je mogla iskoristiti prethodno „zamrznutih“ 250 miliona rubalja.
Budući da se mreža klijenata banke stalno razvija, potrebni su novi pristupi čuvanju i radu sa sredstvima klijenata. Na početku projekta, prosječno mjesečno stanje na Khlynov karticama bilo je oko 800 miliona rubalja. Trećina ovog novca rezervisana je na bankomatima za podizanje od strane vlasnika kartica.
Korišćenje usluga mašinskog učenja iz oblaka Microsoft Azure omogućilo je banci da smanji iznos rezervisanih sredstava na bankomatima na 16-20% prosečnog mesečnog stanja na kartici: povećao se na 1,2 milijarde rubalja, a rezervisani iznos je iznosio 200- 230 miliona rubalja. Oslobođena sredstva banka je mogla iskoristiti za druge operativne zadatke, a posebno za kreditiranje svojih klijenata.
Algoritam kreiran zajedno sa integratorom Rubicon, koristeći metode mašinskog učenja, omogućio je banci da smanji broj mesečnih poseta naplate za više od 1,5 puta. Svako od ovih putovanja košta 3 hiljade rubalja, a svaka prevezena hiljadu rubalja podleže proviziji od 0,026%.
U bliskoj budućnosti, Khlynov Bank planira uvesti dodatne alate za prediktivnu analitiku iz Microsoft Azure oblaka kako bi produktivno koristili informacije prikupljene tokom više od 25 godina rada sa klijentima.
MoneyCare koristi mašinsko učenje za predviđanje odobrenja zajma
Nezavisni kreditni broker MoneyCare kreirao je model predviđanja zasnovan na usluzi Microsoft Azure Machine Learning u oblaku. Rješenje vam omogućava da procijenite vjerovatnoću pozitivnog odgovora banke na zahtjev za kredit.
Za bolju konverziju kreditnih zahtjeva, kompanija je odlučila smanjiti količinu ličnih podataka na minimum koji je potreban, te kreirati model koji predviđa vjerovatnoću pozitivnog odgovora banke. MoneyCare je određivanje minimalnog skupa podataka i izradu prototipa povjerio stručnjacima iz Columbusa.
Prilikom odabira platforme za strojno učenje, MoneyCare stručnjaci odabrali su uslugu oblaka Azure Machine Learning, koja vam omogućava da brzo kreirate i implementirate potpuno funkcionalne modele za predviđanje kao rješenja za analitiku.
U prvoj fazi projekta kreiran je prototip klasifikatora u Azure Machine Learningu, čiji je zadatak da odabere više od 60% kreditnih zahtjeva sa vjerovatnoćom odobrenja od preko 80%. Korišćene su metode kao što su diskriminantna analiza, regresiona analiza, grupisanje, klasifikacija zasnovana na separabilnosti, kao i algoritmi smanjenja dimenzionalnosti.
Druga faza projekta uključivala je obuku zaposlenih u MoneyCare principima rada i zajedničku radionicu za poboljšanje prototipa. Date su konsultacije o postavljanju modela, tipičnim zadacima mašinskog učenja i određeni su naredni koraci za poboljšanje prototipa.
Vlada Murmanske regije koristit će mašinsko učenje u upravljanju dokumentima
Odeljenje za tehnologiju programiranja Državnog univerziteta Sankt Peterburga, zajedno sa kompanijom Digital Design, istražilo je mogućnost korišćenja algoritama mašinskog učenja u sistemima za elektronsko upravljanje dokumentima. Predmet studije bio je EDMS Vlade Murmanske regije. Više od 250 hiljada anonimiziranih dokumenata službene prepiske korišteno je kao baza podataka.
Testirana je mogućnost korištenja inteligentnih algoritama koji repliciraju principe neuronske mreže u EDMS-u. Glavni zadaci takve mreže su određivanje kategorije dokumenta, automatsko popunjavanje njegovih glavnih atributa, određivanje najvjerovatnijih izvršitelja na osnovu analize teksta priloženog fajla i kreiranje nacrta instrukcija za njih.
Utvrđeno je da je korištenjem inteligentnih algoritama moguće automatizirati sortiranje dokumenata po sadržaju priloženih datoteka i kreirati semantičko jezgro za svaku kategoriju, tražiti slične ili identične dokumente, odrediti ovisnosti nekih atributa dokumenta od drugih, pa čak i automatiziraju konstrukciju vjerovatnog modela za predviđanje vrijednosti atributa. Tokom istraživanja bilo je moguće postići 95 posto tačnosti u određivanju kategorije dokumenta na osnovu sadržaja teksta. U sljedećoj fazi, testiranje će se provesti na uskoj grupi ključnih korisnika EDMS-a Vlade Murmanske regije, koji obrađuju velike količine dokumenata.