Machine Learning? Pre SAS nič nové.
Autor: Katarína Krausová
Róbert Macho pracuje v SAS-e už takmer 10 rokov ako senior analytik a z jeho veľkej lásky k matematike, logickému mysleniu a hĺbkovej analýze údajov profitujú naši klienti prevažne vo finančnom sektore. Podporuje aktuálne bežiace projekty, resp. svojimi radami je vždy platným členom tímu zákazníka, ktorý potrebuje zväčša poradiť s tvorbou modelov a jeho úpravami. Je odborníkom pre problematiku data mining v risk managemente, v oblasti collections, riadení aktív a pasív či optimalizácii úverových rámcov.
"SAS poskytuje širokú paletu nástrojov pre podporu machine learningu: od prípravy a validácie dát, cez clustering po samotné trénovanie regresie, neurónovych sietí, support vector machines a podobne."
Róbert Macho
Senior Analytical Consultant
SAS Slovakia
Priviedlo ma k Tebe momentálne veľmi populárne slovné spojenie: machine learning. Vieš mi, prosím Ťa, čo najjednoduchšie vysvetliť, o čo vlastne ide?
Najjednoduchšie? Naučíš mašinku, aby sa niečo sama naučila J. Naprogramuješ počítač, aby sa niečo sám naučil. Evolúcia a metódy machine learningu sa neustále vyvíjajú, ale SAS mal od svojho počiatku nástroje pre data mining, veď vlastne názov SAS bol odvodený od slov Statistical Analysis Software. Keď naprogramuješ počítač jednoduchým, klasickým algoritmom, aby niečo robil, spočítal dve čísla, vyriešil rovnicu...to ešte nie je machine learning. Avšak, keď programátor nevie úplne presne, čo daný algoritmus, resp. program bude robiť, no prinúti ho, aby sa sám niečo naučil, na základe minulých dát, skúseností, tak, aby jeho výstup bol čo najlepší, aby jeho odhad bol čo najpresnejší, väčšinou vo veciach, keď supluje človeka, ľudskú inteligenciu, vtedy hovoríme o machine learningu. V pozadí machine learningu je teda vytrénovanie samotného algoritmu. Trénovanie spočíva v nastavení parametrov nejakej funkcie, alebo v nastavení architektúry neurónovej siete a váh jej neurónov. Pod pojmom machine learning sa však čoraz častejšie chápe aj automatizácia tvorby analytických modelov, pričom algoritmy sa neustále učia pomocou všetkých dostupných dát. Medzi SAS machine learning algoritmy radíme klasické prvotné data miningové techniky, ako je regresia, decision trees, ale aj viac black-boxové algoritmy, ako už spomínané neurónové siete, gradient boosting a mnohé iné.
Keď Ťa počúvam, je machine learning pre SAS vôbec niečo nové? Veď tomuto sa venuje od svojho vzniku, 40 rokov....
Áno, podľa mňa toho pre SAS veľa nového nie je, ale je tu istá evolúcia nielen v technikách data miningu, ale aj v množstve dát, ktorými sme obklopení. SAS poskytuje širokú paletu nástrojov pre podporu machine learningu: od prípravy a validácie dát, cez clustering po samotné trénovanie regresie, neurónovych sietí, support vector machines a podobne. V posledných rokoch sa veľa urobilo pre podporu paralelného computingu, teda využitia sily viacprocesorových počítačov a grid computingu. V známom produkte SAS Enterprise Miner sú jednotlivé algoritmy veľmi robustné, pretože každý algoritmus má množstvo parametrov, ktorými ho môžeš ladiť. Navyše je otvorený a jednotlivé algoritmy sa dajú kombinovať a dopĺňať.
Teraz vyzerá proces data miningu najčastejšie takto: analytik skonštruuje v procese data miningu, napríklad v nejakej banke, model, potom ho nasadia do rutinnej prevádzky, a potom pravidelne zbieha, skóruje, počíta a odhaduje niečo, čo by mohol inak odhadovať nejaký človek, expert. Machine learning je však o tom, aby sa algoritmy časom učili sami. Dnes sa v banke spraví model a on do zblbnutia ráta stále rovnakým spôsobom, a ak nastane nejaká nová situácia, napr. vplyvom makroekonomických zmien alebo kampane, on to sám nezistí, pokiaľ ho človek znova neupraví. Ale všetko, čo SAS má, sa dá spúšťať tak, aby sa model sám pretrénoval. Teda aj trénovanie modelu sa v SAS-e dá automatizovať.
Dá sa povedať, že Ty robíš na svojich projektoch s machine learninigom? Trénuješ algoritmy?
Momentálne robím viac vecí súvisiacich s riadením rizík, a tam musia modely spĺňať prísne kritériá nariadené regulátorom. Musia byť interpretovateľné, čiže tu nie je zatiaľ veľký priestor pre black-boxové modely alebo časté pretrénovanie. No ak by sme hovorili o podpore rozhodovania pri riadení pohľadávok, prípadne o podpore riadenia vzťahov so zákazníkmi, tam si viem predstaviť využitie pokročilých metód machine learningu. No aplikácie machine learningu nie sú len modely v bankách. Veľký boom vidím v tom, čo sa deje okolo nás, napríklad v smartfónoch. V iPhone, kde mám mnoho fotiek, je napríklad algoritmus, ktorý naučili rozpoznávať, klasifikovať tváre ľudí. Alebo ideš do obchodného centra či na letisko, cvakne ťa kamera a okamžite vedia, že táto osoba tu bola včera či pred týždňom.
Vráťme sa, prosím, ešte raz k našim zákazníkom a aplikáciám machine learningu u nich.
Na Slovensku, ale aj v Českej republike robíme machine learning zatiaľ len cez tie tradičné, štatistické metódy (t. j. napr. regresia, decision trees). Ešte sme nerobili model, ktorý by sa časom sám učil. Jedným z príkladov aplikácie machine learningu je optimalizácia úverových rámcov v bankách, kde robíme viaceré typy modelov, teda Propensity to Buy modely, utilizačné modely a odhady príjmov. V štátnej správne máme zase dobrý príklad toho, kedy sa trénuje model, ktorý pomáha lepšie cieliť kontroly na dotácie z Európskej únie. Machine learning pomáha našim zákazníkom lepšie odhadnúť aj napr. refinancovanie hypoték, či zvoliť správne techniky, ako aj vzorku ľudí na vymáhanie pohľadávok.
Skús predpovedať nejaké ďalšie využitia machine learningu v našich životoch.
Dobrými príkladmi súčasnosti sú samojazdiace autá, on-line ponuky z Amazonu či Netflixu alebo odhaľovanie podvodov na základe skúmania a prepájania rôznych premenných. Dnes sa v praxi bežne používa i rozpoznávanie EČ vozidiel. Viem si v budúcnosti predstaviť napríklad aj machine learning algoritmus v navigáciách, ktorý bude upozorňovať na zvýšené riziko nehody na základe dátumu, času, počasia, hustoty premávky a podobne. Neskôr možno príde k využitiu v zdravotníctve. Nehovoriac o tom, že môj inteligentný telefón mi už čoskoro bude hovoriť, čo sa chystám urobiť J, už teraz vie koľko krokov spravím, aký mam tep, v budúcnosti možno bude poznať moje zloženie krvi, bude mi vedieť poradiť jedlo na večeru...
Čo by si ešte dodal na záver?
V SAS-e máme veľkú množinu metód pre podporu machine learningu a aj tie pokročilé, akými sú support vector machine alebo neurónové siete či gradient boosting. Netreba sa báť ani použitia viac black-box orientovaných modelov. Aj tie sa v niektorých krajinách už začínajú pomaly používať, napr. aj v credit scoringu. Keď bude v budúcnosti vznikať viac modelov, nebude toľko času sa o každý jeden starať. Budú viac customizované a automatizované. Technológie tu roky sú, len je potrebné správne hľadať príležitosti, ako ich využiť. Aj rozpoznávanie tvárí tu bolo v bežne dostupnom softvéri pred 10 rokmi, ale masovo sa rozširuje až teraz so smartfónmi. A to, že dobre postavený model, s dobre vytrénovaným algoritmom prináša firme nevyčísliteľné hodnoty dokazuje aj jeden výrok Hanky Kvartovej*, keď robila kedysi na projekte pre poisťovňu, a ktorý si pamätám, lebo sa mi páči: „Nielen, že my vieme skôr ako poisťovňa, či daný klient zruší poistku, ale my to vieme skôr ako ten klient.“ A o tomto to je.
*t. č. riaditeľka slovenskej a českej pobočky SAS-u.