The Business of Artificial Intelligence - Part III. | GlobalLogic Slovakia

The Business of Artificial Intelligence – Part III.

Daniel Kuchta – August 6, 2018

Part III – How can I use it?

Nato, aby sme spoľahlivo a efektívne doručili naše machine learning riešenie budeme potrebovať organizovaný prístup. Priemyselným a overeným štandardom je CRISP-DM (Cross Industry Standard Process for Data Mining). Ten sa skladá zo 6 častí:

 

zdroj: GlobalLogic

1. Business Understanding

Predtým ako sa vrhneme do vytvárania modelov nášho problému sa musím uistiť, že dostatočne dobre rozumieme problému, ktorý ideme riešiť. Je dôležité pochopiť, čo presne chceme dosiahnuť a aké požiadavky, okrem presnosti, musí náš výsledný systém spĺňať. Vo finančnom sektore to môže byť napríklad transparentnosť – a teda vysvetliteľnosť rozhodnutia nášho modelu. Mali by sme byť schopní zodpovedať, ktoré príznaky boli dôležité pri danom rozhodnutí. V e-commerce to môže byť rýchlosť predikcie alebo napríklad prispôsobivosť modelu.

 

2. Data Understanding

Ak už rozumieme všetkým našim požiadavkám a úspešne sme si transformovali náš business goal do technical goals, môžeme prejsť do ďalšej fázy a teda zamerať sa na dáta. Začneme zberom resp. analýzou dát, ktoré už máme. Musíme zistiť koľko a akých dát máme a musíme zhodnotiť čí je tento dataset postačujúci. Ďalej sledujeme distribúciu kľučových atribútov, vzťahy medzi pármi, resp. malým počťom atribútov, výsledky jednoduchých agregácií, jednoduchých štatistických analýz a overovania kvality datasetu. Výsledkom je report obsahujúci naše zistenia.

 

3. Data preparation

3.1 Výber dát

V tejto fáze si vyberáme dáta, ktoré budeme používať na našu analýzu. Kritéria pre výber dát môžu byť rôzne – relevantnosť dát k nášmu cieľu, kvalita dát alebo rôzne limity, napr. obmedzený  výpočtový výkon.

 

3.2 Čistenie dát

Vybrané dáta musíme ďalej “vyčistiť” – odstrániť chybné záznamy, ošetriť chýbajúce atribúty, nastaviť správne formáty dát, prípadne nastaviť vhodné default hodnoty pre každý atribút.

 

3.3 Konštrukcia potrebných dát

Z takto upravených dát si môžeme skonštruovať nové, odvodené atribúty – napríklad výšku a šírku môžeme použiť na vypočítanie plochy. V prípade potreby, a ak to umožnuje problém, ktorý riešime  si môžeme vygenerovať doplňujúce dáta.

 

3.4 Integrácia dát

Spájanie viacerých zdrojov dát – časť môže byť vyexportované CSV, časť si spracujeme z webu, časť datasetu zasa môže byť prístupná cez databázu a pod. Všetky tieto zdroje si spracujeme do jedného formátu, aby sa nám s dátami neskôr dobre pracovalo.

Pre obohatenie datasetu si ešte vytvoríme agregáty – a teda vypočítavanie sumarizujúcich hodnôt z väčšieho množstva záznamov.

 

4. Modelovanie

4.1 Výber modelovacej techniky

V prvom kroku, ak sme tak ešte neurobili, si vyberieme modelovaciu metódu alebo metódy. Ak si vyberieme viacero metód, pre každú z nich vykonáme nasledovné samostatne:

a) modelovacia technika – zdokumentovanie vybranej modelovacej techniky

b) modelovacie predpoklady – mnoho modelovacích techník má rôzne predpoklady pre správne fungovanie, napr. všetky atribúty majú uniformnú distribúciu hodnôt, nemáme v dátach žiadne chýbajúce hodnoty, labels sú zapísané symbolicky. Všetky predpoklady pre daný model si zaznamenáme.

 

4.2 Vytvorenie dizajnu testov

Predtým ako začneme budovať model si vytvoríme mechanizmus na hodnotenie kvality modelu. Napríklad, v supervised (viď druhú čast tohto blogu) klasifikačných úlohach sa ako kvalitatívna metrika bežne používa miera chybných klasifikácií. Výstupom tejto časti je test design – zamýšľaný plán pre trénovanie, testovanie a hodnotenie kvality modelov. Hlavnou časťou plánu je rozhodnutie ako rozdeliť náš dataset na trénovaciu, testovaciu a vyhodnocovaciu podmnožinu.

 

4.3 Tvorba modelu

Hľadanie vhodného modelu prebieha formou kontrolovaných experimentov. Pre každú verziou modelu si zaznačíme nastavenia parametrov, s ktorými sme model trénovali spolu s logickým odôvodnením pre voľbu daných parametrov. Výstupom z tejto časti sú aj samotné modely, nie len reporty o ich kvalite a výkonnosti spolu s popisom výsledných modelov, reportom ohľadom interpretovateľnosti modelov a zdokumentovanými akýmikoľvek tažkosťami, ktoré z toho môžu vyplývať. Na záver zosumarizujeme výsledky tejto úlohy, vypíšeme kvality naších modelov a zoradíme modely podľa celkovej kvality alebo jednotlivých kritérií. Vzhľadom na zhodetenie našich modelov a nastavení ich parametrov môžme preskúmať ďalšie nastavenie parametrov v ďalšom kole modelovania. Opakujeme, kým nie sme presvedčení, že sme našli najlepší model. Všetky revízie a predpoklady dokumentujeme.

 

5. Vyhodnotenie výsledkov

5.1 Vyhodnotenie vzhľadom na business ciele

Predošlé vyhodnocovacie kroky sa zaoberali faktormi ako presnosť alebo všeobecnosť modelu. V tomto kroku sa ale budeme zaoberať do akej miery náš model napĺňa naše business ciele a skúšame či existuje dôvod, pre ktorý by mohol tento model nevhodný pre náš business problém. Ak to čas a rozpočet dovoľuje, môžeme nasadiť náš model do testovacieho prostredia v reálnej aplikácií a sledovať ako bude fungovať v reálnom nasadení. Vyhodnotenie výsledkov zahŕňa všetky relevatné nálezy z našich experimentov a data mining aktivít, ktoré sa nemusia týkať pôvodných business cieľov, ale môžu poukázať na ďalšie nutné kroky alebo určovať budúce smerovanie projektu. Výstupom je teda sumár výsledkov so zhodnotením vhľadom na pôvodné business ciele a zhodnotenie či už projekt naplnil všetky požiadavky. Súčasťou sú tiež finálne, schválené modely spĺňajúce všetky kritériá.

 

5.2 Review vykonaných aktivít a návrh ďalších krokov

Teraz sa môžeme bližšie pozrieť na naše data mining aktivity a zamýšľať sa či sme zhodnotili všetky dôležité faktory. Výstupom bude zoznam potenciálnych akcií spolu s dôvodmi pre a proti danej možnosti a rozhodnutie ako pokračovať spolu s príslušným odôvodnením.

 

6. Nasadenie do produkcie

6.1 Plánovanie nasadenia

V poslednej fáze vezmeme výsledky našej evaluácie a vytvoríme stratégiu pre nasadenie modelu do produkcie. Ak máme všeobecný postup ako vygenerovať relevantný model(y), tento postup zdokumentujeme pre budúceho deploye. Výstupom je stratégia nasadzovania do produkcie zahŕňajúca všetky potrebné kroky aj postupom ako ich vykonať.

 

6.2 Plánovanie údržby a monitoringu

Je dôležité nezabúdať na vytvorenie dôslednej stratégie pre údržbu a monitoring systému. Vyhneme sa tak dlhým obdobiam nesprávnych data mining výsledkov a maximalizujeme tak pozitívny business impact.

 

6.3 Final report

Na záver napíšeme finálny report sumarizujúci celý proces obsahujúci všetky deliverables a sumár našich výsledkov. Zhodnotíme čo išlo dobre a čo nie, čo fungovalo a čo treba naopak zlepšiť. Všetky nazbierané skúsenosti zdokumentujeme. Zahrnieme tu aj reporty jednotlivých členov projektu z vývojovej fázy.

Pre budovanie kvalitných machine learning modelov si vyžaduje správnu kombináciu skúseností a schopností. Potrebujeme človeka s vedomosťami z matematiky, štatistiky, pravdepodobnosti, ale tiež schopného programátora s dobrými komunikačnými schopnosťami a porozumením pre business.


zdroj: https://www.techiexpert.com/close-look-data-scientist-vs-data-engineer/

 

“Data Scientist (n.): Person who is better at statistics than any software engineer and better at software engineering than any statistician.”

 

Náš star team potrebuje ešte data engineera, ktorý sa bude starať o zber a ukladanie dát a zabezpečuje ich spracovanie. Úzko spolupracuje s data scientistami a machine learning inžiniermi, ktorý vytvára produkčné verzie modelov a procesov navrhnutých data science tímom.