GAMMA FACET: Nový přístup pro univerzální vysvětlení Modely strojového učení

(Konstantin Hemker)

Autoři: Jan Ittner, Konstantin Hemker & Malo Grisard

Rychlý pokrok v technologiích umělé inteligence (AI) nás vybavuje stále vyvíjející se sada nástrojů pro analýzu i těch nejsložitějších obchodních problémů a procesů v reálném světě. Nejmodernější algoritmy strojového učení umožňují osobám s rozhodovací pravomocí přesně předpovědět kritické obchodní výsledky, jako jsou náklady, rychlost, kvalita nebo výnos. Skutečná obchodní hodnota AI však často nespočívá pouze v předpovídání výsledků (u kterých zákazníků je pravděpodobné, že smlouvu zruší?), Ale v vysvětlení a optimalizace těchto výsledků (co musíme udělat, abychom si udrželi zákazníky s vysokou hodnotou?).

Navíc ochota manažera akceptovat používání strojového učení k častému každodennímu rozhodování závisí na jeho důvěře v algoritmus, což zase vyžaduje určité pochopení toho, jak model AI dělá předpovědi a rozhodnutí. Potřeba vysvětlit modely umělé inteligence bude ještě důležitější, protože společnosti rozvíjejí zvýšené povědomí o etické umělé inteligenci a snaží se navrhovat modely umělé inteligence schopné nezaujatého, bezpečného a odpovědného rozhodování.

Použití teorie kooperativní hry k vysvětlení příspěvků k funkcím

Lidem vysvětlitelná umělá inteligence zaznamenala v posledních letech obrovský pokrok, zejména s příchodem Shapley Additive Explanations (SHAP), sjednocující teorie a algoritmu aplikujícího teorii kooperativní hry vysvětlit jednotlivé předpovědi modelu strojového učení. Díky tomu je program SHAP tak atraktivní, že navzdory pokročilým matematickým základům jsou výsledky intuitivní i pro obecné publikum.

Program SHAP kvantifikuje příspěvky všech proměnných modelu k danému předpokládanému výsledku. Například bychom mohli použít model k předpovědi rizika vzniku cukrovky u pacienta na základě proměnných, jako je hmotnost, věk a pohybové návyky. Model by nám mohl říci, že riziko je 67%. SHAP půjde dále a řekne nám například, že věk pacientky zvyšuje riziko cukrovky o 5%, zatímco její váha ho snižuje o 2%.

Objasňující role inspekce modelu a virtuálních experimentů

SHAP nabízí velmi užitečný způsob vysvětlení jednotlivých předpovědí. Až donedávna však existovaly jen omezené prostředky k vysvětlení modelu jako celku – obecně vysvětlit, jak proměnné jednají a interagují, aby přišly s předpovědi. GAMMA FACET představuje nový, holistický přístup k vysvětlení modelů strojového učení. Dělá to ze dvou úhlů: Nejprve pomocí nově vyvinutého algoritmu inspekce modelu vysvětlí, jak proměnné prediktivního modelu spolupracují na předpovědi výsledků, a to identifikací vzorů ve vysvětlení mnoha individuálních předpovědí. Například GAMMA FACET může zjistit, že k posouzení rizika cukrovky je třeba brát v úvahu hmotnost a tělesnou hmotnost, zatímco index tělesné hmotnosti a poměr výška / pas mohou být zaměnitelné. Zadruhé, používá simulační přístup k určení „virtuálních experimentů“, jak systematické změny klíčových faktorů ovlivňují předpokládané výsledky, například to, jak zvýšení věku ovlivňuje riziko cukrovky u populace pacientů.

Případová studie: Předcházení poruchám při vodním vrtání

Nejlepší způsob, jak tyto koncepty prozkoumat, je příklad ze skutečného světa . Vrtání studny je velmi nebezpečné a nákladné. Náklady na takové vrtání jsou poháněny dobou potřebnou k dokončení studny, aby se z ní začalo čerpat voda. Aby se tyto náklady snížily, jsou vrtáci obvykle motivováni k vrtání rychlejším tempem – měřeno jako míra penetrace (ROP). V závislosti na vlastnostech půdy se denní sazby mohou pohybovat od 30 000 do 250 000 USD. Existuje však kompromis: Rychlejší vrtání zvyšuje riziko incidentů, jako je kolaps formace nebo infiltrace plynu. Proto vytvoříme model strojového učení, abychom pochopili dopad rychlosti vrtání na riziko incidentu v kontextu dalších rizikových faktorů.

V zájmu jasnosti používáme pro tento příklad zjednodušený soubor dat. . Datová sada obsahuje 500 pozorování, přičemž každý řádek představuje vrtnou operaci z minulosti, spolu s binárním indikátorem, zda k operaci došlo nebo nedošlo k vrtné studni.

Na základě současných a minulých provozních podmínek lze použít varovný operátor pro prediktivní algoritmus vysoké riziko incidentu. Obsluha by pak měla možnost upravit parametry vrtání. Vědět, kdy jednat, však často nestačí.Provozovatel musí také pochopit, proč existují incidenty, což jsou optimální podmínky pro vrtání, které vyvažují náklady na vrtání s náklady na potenciální incident. GAMMA FACET může pomoci poskytnout tyto užitečné statistiky.

scikit-learn and the Model Pipeline

Abychom vytvořili páteř našeho vysvětlitelného modelu strojového učení, musíme nejprve vytvořit modelový kanál, který nám umožní sledovat všechny výstupy modelu zpět k počátečním datovým vstupům napříč všemi transformačními a tréninkovými kroky.

GAMMA FACET je navržen kolem scikit-learn, de-facto průmyslového standardu pro strojové učení v Pythonu. Program scikit-learn nabízí širokou škálu regresních a klasifikačních algoritmů. Nabízí také univerzální přístup k budování kanálů strojového učení, který kombinuje předzpracování dat se skutečným modelem přizpůsobeným jednomu integrovanému pracovnímu postupu.

FACET vylepšuje scikit-learn třemi základními způsoby :

  1. Úplná sledovatelnost funkcí : Zatímco je vytvořen nativní scikit-learn kolem NumPy a produkuje všechny výstupy jako numerická pole, FACET poskytuje vylepšené verze více než 150 transformátorů, regresorů a klasifikátorů scikit-learn, které dodávají všechny výstupy jako datové rámce pandy. FACET navíc obsahuje atributy pro mapování názvů odvozených funkcí zpět na funkce, ze kterých pocházejí. Toto mapování je zásadní, pokud mají být funkce odkazovány podle názvu dále ve směru toku v kanálu strojového učení.
  2. Vylepšené pipelining : FACET zavádí další dvoustupňové třídy pipeline, které obsahují jeden krok předzpracování (což může být samo o sobě pipeline) a krok studenta. Naše zkušenosti jsou takové, že tento zdánlivě malý doplněk vede k podstatně výstižnějšímu a čitelnějšímu pipeline kódu.
  3. Vylepšené ověřování : FACET zavádí křížové validátory pro několik variant bootstrappingu, statistickou techniku, která je obzvláště důležitá v kontextu simulačních schopností FACETu.

S odkazem na příklad vrtání zde uvádíme, jak může vytvořit potrubí pomocí podpory sledovatelnosti funkcí FACET:

Jak vidíte v tomto fragmentu kódu, výše uvedený kanál vypadá téměř přesně stejně jako potrubí konstruované pomocí čistého scikit-učit se . Všimněte si však, že importujeme všechny kanály, transformátory a odhady z sklearndf balíčku FACET a že názvy známých tříd scikit-learn mají všechny Přípona „DF“. Všimněte si také speciální ClassifierPipelineDF, jednoho ze zdokonalených kanálů FACET zahrnujících jeden volitelný krok předzpracování spolu s dalším krokem, který je zaručeně klasifikátorem. Jak vidíte na výstupu, výsledkem předběžného zpracování je datový rámec, který zachovává všechny názvy funkcí.

Dále chceme vyladit hyperparametry našeho modelu pomocí FACET LearnerRanker. LeanerRanker funguje podobně jako vyhledávač mřížek scikit-learn , ale mnohem lépe usnadňuje konkurenci několika typů modelů než optimalizaci hyper- parametry jednoho modelu:

Vysvětlení modelu: Co způsobuje incidenty?

Nyní máme vyladěný a vyškolený model, který předpovídá riziko incidentů našich vrtných operací. Chceme však být proaktivnější než pouhé nasazení modelu a reakce ad hoc na předvídaná rizika. Místo toho chceme vědět, co se model dozvěděl o tom, proč a kdy k incidentům dojde. Chceme, aby nám model pomohl pochopit, jak můžeme systematicky měnit způsob, jakým provozujeme naše vrtací stroje, abychom snížili riziko incidentů.

FACET přistupuje k vysvětlení modelu jako kombinace dvou metod:

  1. Vysvětlení globálních interakcí funkcí : Tato metoda nám říká, co se model dozvěděl o tom, jak jednotlivé funkce přispívají jednotlivě i kolektivně k výsledkům. FACET zavádí nový algoritmus, který pro každou dvojici funkcí kvantifikuje synergii, redundanci a nezávislost (další podrobnosti viz níže). Tento algoritmus je založen na SHAP vector decomposition , matematickém rámci, který jsme vyvinuli pro vysvětlení globálního modelu a který budeme podrobněji popisovat v připravované publikaci.
  2. Modelové simulace : Tato metoda nám umožňuje zjistit, jak systematické změny funkcí pomohou dosáhnout požadovaný výsledek, v tomto případě minimalizovat riziko poruchy cvičení. Tohoto výsledku dosáhneme vytvořením syntetických vzorků pro řadu hodnot a poté pomocí modelu k vyhodnocení změn v predikovaném riziku. Jak uvidíte níže, porozumění globálním interakcím funkcí (tj. Metoda 1) je zásadním krokem k zajištění platnosti našich simulací v reálných podmínkách.

Při použití v našem příkladu vrtání , Třída LearnerInspector organizace FACET poskytuje přehled interakcí funkcí pomocí výpočtu párové synergie a redundance :

redundance a synergie matrix

Výsledkem jsou dvě matice, které nám pro každou dvojici funkcí řeknou jako procento stupeň synergie a redundance mezi těmito dvěma funkcemi.

Synergie

Synergie je míra, do jaké model kombinuje informace z jedné funkce s druhou k předpovědi cíle. Předpokládejme například, že předpovídáme kardiovaskulární zdraví pomocí věku a pohlaví a přizpůsobený model zahrnuje komplexní interakci mezi nimi. To znamená, že tyto dvě funkce jsou synergické pro předpovídání kardiovaskulárního zdraví. Dále jsou pro model důležité obě funkce a odebrání kterékoli z nich by významně ovlivnilo výkon. Předpokládejme, že věk je důležitější vlastnost než pohlaví, takže věk přispívá více ke kombinované predikci než pohlaví. Tento asymetrický příspěvek znamená, že synergie pro (věk, pohlaví) je menší než synergie pro (věk, pohlaví). Když o tom přemýšlíte jinak, představte si, že předpověď je souřadnice, které se snažíte dosáhnout. Od vašeho počátečního bodu vás věk dostane mnohem blíže k tomuto bodu než pohlaví, ale musíte se tam dostat oběma. Synergie odráží skutečnost, že pohlaví dosáhne předpovědi více věku (vyšší synergie z hlediska pohlaví) než věku z pohlaví (nižší synergie z hlediska věku).

To vede k důležitý bod: synergie je přirozeně asymetrická vlastnost globálních informací, které k předpovědím modelu přispívají dvě vzájemně se ovlivňující funkce. Synergie je vyjádřena jako procento v rozmezí od 0% (plná autonomie) do 100% (plná synergie). Všimněte si, že synergické funkce mohou být zcela nesouvislé a je obtížné je zjistit pomocí pravidelné průzkumné analýzy.

K interpretaci synergické matice je prvním prvkem v páru řádek („Perspektiva z“) a druhá představuje sloup. V našem příkladu vrtání FACET uvádí, že „z pohledu“ rychlosti otáčení je 67% informací kombinováno s váhou na bitu, aby bylo možné předpovědět selhání. To se v kontextu jeví jako rozumné, protože vrtání jak s vysokou bitovou hmotností, tak s vysokou rotací může mít nepřiměřeně velký dopad na opotřebení zařízení, a tak drasticky zvýšit riziko incidentu. Je pochopitelné, že synergie je také vysoká z pohledu váhy na bitu (61%). To nám říká, že bychom se měli podívat na rychlost a hmotnost rotace bitu společně, abychom porozuměli jejich příspěvkům k riziku incidentu.

Redundance

Redundance je míra, do jaké je rys v modelu. duplikuje informace o druhém prvku k předpovědi cíle. Předpokládejme například, že pro predikci ceny domu jsme měli velikost domu a počet pokojů. Tyto funkce zachycují podobné informace, protože čím více ložnic, tím větší dům a pravděpodobně vyšší průměrná cena. Redundance pro (počet pokojů, velikost domu) bude větší než redundance pro (velikost domu, počet pokojů). Je to proto, že velikost domu „ví“ více o tom, jaký počet ložnic dělá pro předpovídání ceny domu, než naopak. Z hlediska počtu ložnic je tedy větší redundance. Další způsob, jak o tom přemýšlet, je odstranění velikosti domu, bude pro výkon modelu škodlivější než odstranění počtu ložnic, protože velikost domu může lépe kompenzovat absenci počtu pokojů. To také znamená, že velikost domu by byla důležitější vlastností než počet pokojů v modelu.

Důležitým bodem je, že stejně jako synergie je redundance přirozeně asymetrickou vlastností globální informační funkce. páry musí předvídat výsledek. Redundance je vyjádřena jako procento v rozmezí od 0% (úplná jedinečnost) do 100% (úplná redundance). Redundance nemusí být nutně viditelná v průzkumné analýze, pokud jsou dva prvky nadbytečné, ale ne lineárně korelované.

Stejně jako u synergie je řádek matice funkcí „perspektiva od“ ve dvojici prvků řádek-sloupec.Pro náš příklad vrtání pozorujeme dva páry vysoce redundantních funkcí:

  • První dvojice redundantních funkcí jsou ROP a IROP. Redundance je podobná z pohledu kteréhokoli prvku (75%), protože jeden je inverzní k druhému, a proto mohou v modelu vzájemně nahradit riziko incidentu. Toto je dobrý příklad schopnosti FACETu zachytit nadbytečnost mezi prvky, i když nejsou lineárně korelované.
  • Druhou dvojicí redundantních funkcí je hloubka operace a průměr díry. Z hlediska průměru díry je 53% informací duplikováno s hloubkou operace, aby bylo možné předpovědět selhání. Intuitivně vidíme, proč jsou hloubka provozu a průměr díry velmi propojené, protože vrtáky používají tenčí vrtáky, které vrtají hlouběji do země. Důvod, proč je redundance (hloubka operace, průměr díry) o něco menší než (průměr díry, hloubka operace), je proto, že hloubka operace je v modelu o něco důležitějším rysem.

FACET může vytvořit druhý typ diagramu, který je velmi užitečný pro hodnocení synergických nebo redundantních vztahů jako hierarchický klastrový dendrogram. Všimněte si, že tento přístup se opírá o symetrickou variantu redundance (nebo synergie), která poskytuje nejen zjednodušenou perspektivu, ale také vzdálenost funkcí (1 – metrická) pro shlukování. V našem příkladu nás zajímá redundantní dendrogram:

Dendrogram redundance funkcí Facet

Dendrogram redundance odhaluje shluky nadbytečných funkcí, označuje míra vzájemné redundance mezi funkcemi v klastru (čím více jsou v dendrogramu sloučeny funkce vlevo, tím silnější je jejich redundance) a pomocí barevné škály ukazuje důležitost funkcí pro jednotlivé funkce a klastry funkcí.

Naše dva páry nadbytečných funkcí jsou v dendrogramu jasně rozpoznatelné, včetně jejich společné důležitosti. Míra penetrace (ROP) je vysoce redundantní s inverzní funkcí (IROP) (redundance> 80%) a společný význam obou funkcí je 36%. Vzhledem k tomu, že chceme simulovat ROP, odstraníme IROP, abychom se ujistili, že funkce, kterou simulujeme, je jedinečným přispěvatelem k výsledku (podrobnější vysvětlení uvedeme v další části).

Existuje zajímavé pozorování, když generujeme nový redundantní dendrogram po odstranění IROP a rekvalifikaci modelu: ROP se významně zvýšil na 35%, což naznačuje, že ROP převzal roli bývalého klastru ROP / IROP při vysvětlování ROP související příspěvky k riziku incidentu.

Dendrogram propojení redundance po prořezání funkce

Simulace funkce Uplift

Po kontrole modelu jsme dospěli k dobrému pochopení toho, jak model vytváří predikci a jak prediktory vzájemně působí.

Tyto poznatky často vedou přímo k otázce „co kdyby“: H jak můžeme systematicky měnit ovlivnitelnou proměnnou, abychom zlepšili výsledek? V našem příkladu chceme pochopit, jak změny v míře penetrace ovlivňují riziko incidentu. Z ekonomického hlediska se operátoři vrtáků pokusí vrtat co nejrychleji při zachování bezpečnosti a snížení počtu poruch. Podobné otázky platí i pro jiné obchodní kontexty, kde je cílem snížit náklady, maximalizovat výnos, udržet si zákazníky nebo ve skutečnosti optimalizovat jakýkoli obchodní výsledek na základě dat.

Simulační přístup FACETu vyčleňuje jednu funkci a poté běží série „virtuálních experimentů“ pro celou řadu hodnot, které předstírají u každého experimentu, že simulovaný objekt vždy získal danou hodnotu pro každé historické pozorování.

U tohoto přístupu je zásadní, aby simulovaný prvek byl není nadbytečné u jiných funkcí modelu. Pokud tak učiníte, riskujete vytvoření neproveditelných scénářů úpravou hodnoty jedné funkce, ale nikoli jejího nadbytečného sourozence. Pokud bychom v našem příkladu simulovali ROP pro celou řadu hodnot, ale ponechali IROP v modelu, vytvořili bychom více než pravděpodobné neproveditelné scénáře.

Simulace se provádí ve dvou krocích: rozhodneme se pro prvek, který má být simulován, a vybereme jednu z tříd partitioner FACETu, abychom rozdělili rozsah dříve pozorovaných hodnot pro tento prvek na oddíly . Zadruhé spustíme jednu simulaci na každý oddíl a pokaždé fixujeme hodnotu simulovaného prvku na centrální hodnotu oddílu ve všech pozorováních.

Proto si v našem příkladu simulace klade otázku: „Co by moje průměrné riziko incidentu bylo, kdybych vždy vrtal s X m / s ROP?„ROP se měří jako reálné číslo, takže pomocí ContinuousRangePartitioner vytvoříme řadu stejně velkých oddílů v rozsahu hodnot, které byly pro ROP historicky pozorovány. Je důležité, abychom simulovali pouze v historicky sledovaném rozsahu hodnot, protože model byl trénován na hodnoty v tomto rozsahu a obvykle nebude schopen přijít s platnými extrapolacemi mimo rozsah.

Krok simulace – rozdělení pozorovaných hodnot pro funkci ROP na kbelíky stejné velikosti

Použití nejlepší model, který jsme dříve identifikovali z LearnerRanker, simulátor nyní určuje průměrné predikované riziko incidentu pro každý oddíl. FACET podporuje bootstrapping, což nám umožňuje opakovat každou simulaci mnohokrát na variantách modelu trénovaných na různých podmnožinách dat a pomocí distribuce výsledků simulace kvantifikovat úroveň spolehlivosti simulace.

Krok simulace 2 – Simulace výsledků pro různé hodnoty funkce ROP

Vizualizace výše ukazuje účinek ROP na riziko incidentu a zároveň poskytuje pocit důvěry v simulaci. Osa x ukazuje různé oddíly, pro které byla spuštěna simulace. Sloupce pod osou x ukazují počet pozorování v původním vzorku, která spadají do oddílu, což ukazuje podporu, kterou máme pro každou simulovanou hodnotu. (Všimněte si, jak se interval spolehlivosti rozšiřuje směrem k okrajům, protože u těchto oddílů vidíme méně skutečně pozorovaných hodnot.) Střední vzestupná čára představuje medián predikovaného rizika incidentu pro každý oddíl, zatímco vnější čáry ukazují 95% interval spolehlivosti validace se rozdělí od naší predikce.

Simulace potvrzuje, že pravděpodobnost incidentu se významně zvyšuje, jak zvyšujeme ROP. Poskytuje přehled o úrovních rizika provozu při rychlejším ROP. Vidíme také, že již několikrát bylo ROP provozováno na nebezpečně vysoké úrovni (> 30 stop / h), což vedlo k pravděpodobnosti incidentu nad 70%.

Co bude dál?

Z obchodního hlediska je odpověď na tyto otázky typu „co kdyby“ pro proces hodnocení rizika nesmírně cenná. a hledání způsobů, jak zlepšit současné procesy. V našem příkladu by tím cesta nekončila. Na základě výsledků simulace by dalším krokem mohlo být provedení analýzy nákladů a přínosů vrtání s pomalejším nebo rychlejším ROP k dosažení nejlepšího kompromisu mezi náklady na vrtání a finančním rizikem vrtacího incidentu.

GAMMA FACET můžete snadno roztočit. Jednoduše conda install gamma-facet -c bcg_gamma -c conda-forge a podívejte se na naše úložiště GitHub , kde najdete další dokumentaci a zpracované příklady.

Poděkování

Tento balíček by to nebylo možné bez dostupnosti dvou vynikajících balíčků Pythonu pro strojové učení a vysvětlení modelu:

1. scikit-learn poskytuje studenty a transformátory, které tvoří základní kanály strojového učení FACET. Navíc jsme FACET API navrhli v souladu se základním paradigmatem fit / transformace / předpovědi scikit-learns, abychom datovým vědcům poskytli snadný začátek s FACET.

2. Implementace SHAP od Scotta Lundberga se používá k odhadu vektorů SHAP rozložených na synergii , redundance a vektory nezávislosti.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *