What’s new in DALEX v 0.4.9?

Few days ago a new version of DALEX was accepted by CRAN (v 0.4.9). Here you will find short overview what was added/changed.

DALEX is an R package with methods for visual explanation and exploration of predictive models.
Here you will find short overview with examples based on Titanic data.
For real world use cases:
Here you will find a conference talk related to credit scoring based on FICO data.
Here you will find an example use case for insurance pricing.

Major changes in the last version

Verbose model wrapping

Function explain() is now more verbose. During the model wrapping it checks the consistency of arguments. This works as unit tests for a model. This way most common problems with model exploration can be identified early during the exploration.

Support for new families of models

We have added more convenient support for gbm models. The ntrees argument for predict_function is guessed from the model structure.
Support for mlr, scikit-learn, h2o and mljar was moved to DALEXtra in order to limit number of dependencies.

Integration with other packages

DALEX has now better integration with the auditor package. DALEX explainers can be used with any function form the auditor package. So, now you can easily create an ROC plot, LIFT chart or perform analysis of residuals. This way we have access to a large number of loss functions.

Richer explainers

Explainers have now new elements. Explainers store information about packages that were used for model development along with their versions.
Latest version of explainers stores also sampling weights for the data argument.

A bit of philosophy

Cross-comparisons of models is tricky because predictive models may have very different structures and interfaces. DALEX is based on an idea of an universal adapter that can transform any model into a wrapper with unified interface that can be digest by any model agnostic tools.

In this medium article you will find a longer overview of this philosophy.

Bank będzie musiał wyjaśnić… czyli o wyjaśnialnych modelach predykcyjnych

Czym są wyjaśnialne modele predykcyjne?

Interpretowalne uczenie maszynowe (IML od Interpretable Machine Learning) czy wyjaśnialna syntetyczna inteligencja (XAI od eXplainable Artificial Intelligence) to względnie nowa, a ostatnio bardzo szybko rozwijająca się, gałąź uczenia maszynowego.

W skrócie chodzi o to, by konstruować takie modele, dla których człowiek możne zrozumieć skąd biorą się decyzje modelu. Złożone modele typu lasy losowe czy głębokie sieci są ok, o ile potrafimy w jakiś sposób wyjaśnić co wpłynęło na konkretną decyzję modelu.

Po co?

W ostatnich latach często uczenie maszynowe było uprawiane ,,w stylu Kaggle”. Jedynym kryterium oceny modelu była skuteczność modelu na jakimś ustalonym zbiorze testowym. Takie postawienie sprawie często zamienia się w bezsensowne żyłowanie ostatnich 0.00001% accuracy na zbiorze testowym.

Tak wyżyłowane modele najczęściej epicko upadają w zderzeniu z rzeczywistością. Ja na prezentacjach lubię wymieniać przykłady Google Flu, Watson for Oncology, Amazon CV, COMPAS i recydywizm czy przykłady z książki ,,Broń matematycznej zagłady”. Ale lista jest znacznie dłuższa.

Dlaczego to takie ważne?

W lutym fundacja Panoptykon pisała Koniec z „czarną skrzynką” przy udzielaniu kredytów. W ostatni czwartek (21 marca) w gazecie Bankier można było znaleźć ciekawy artykuł Bank będzie musiał wyjaśnić, dlaczego odmówił kredytu, w której opisuje niektóre konsekwencje ustawy przyjętej przez Senat.

Przykładowy cytat:
,,Ustawa wprowadza także m.in. przepis nakazujący bankom przedstawienie klientowi wyjaśnienia dotyczącego tego, które dane osobowe miały wpływ na ostatecznie dokonaną ocenę zdolności kredytowej. Obowiązek ten będzie dotyczył zarówno sytuacji, w której decyzja ta została podjęta w pełni zautomatyzowanym procesie, na podstawie tzw. algorytmów, jak i sytuacji, w której w podejmowaniu decyzji brał udział także człowiek”.

Wygląda więc na to, że niedługo wyjaśnialne uczenie maszynowe spotka nas w okienkach bankowych przy okazji decyzji kredytowych.

Nie tylko banki

Okazuje się, że temat wyjaśnialności w czwartek omawiany był nie tylko w Senacie. Akurat byłem tego dnia na bardzo ciekawej konferencji Polish Business Analytics Summit, na której dr Andrey Sharapov opowiadał o tym jak Lidl wykorzystuje techniki XAI i IML do lepszego wspomagania decyzji.

Zbudować model jest prosto, ale pokazać wyniki modelu biznesowi, tak by ten wiedział jak na ich podstawie podejmować lepsze decyzje – to jest wyzwanie dla XAI. Andrey Sharapov prowadzi na LinkedIn ciekawą grupę na którą wrzuca materiały o wyjaśnialnym uczeniu maszynowym. Sporo pozycji można też naleźć na tej liście.

Na poniższym zdjęciu jest akurat przykład wykorzystania techniki Break Down (made in MI2 Data Lab!!!) do wspomagania decyzji dotyczących kampanii marketingowych.

Warszawa po raz trzeci

Aż trudno uwierzyć w ten zbieg okoliczności, ale tego samego dnia (tak, wciąż piszę o 21 marca) na Spotkaniach Entuzjastów R profesor Marco Robnik omawiał różne techniki wyjaśnialności opartej o permutacje.

Skupił się na technika EXPLAIN i IME, ale było też o LIME i SHAP a na niektórych slajdach pojawiał się nasz DALEX i live (choć pewnie my byśmy już reklamowani nowsze rozwiązanie Mateusza Staniaka, czyli pakiet localModels).

Btw, spotkanie było nagrywane, więc niedługo powinno być dostępne na youtube.

Gdzie mogę dowiedzieć się więcej?

Wyjaśnialne uczenie maszynowe to przedmiot badań znacznej części osób z MI2DataLab. Rozwijamy platformę do automatycznej analizy, eksploracji i wyjaśnień dla modeli predykcyjnych DrWhy.AI.

Niedługo napisze więcej o materiałach i okazjach podczas których można dowiedzieć się więcej o ciekawych zastosowaniach technik wyjaśnialnego uczenia maszynowego w finansach, medycynie spersonalizowanej czy innych ciekawych miejscach.

Dlaczego boimy się sztucznej inteligencji, dlaczego to przerażające i co możemy z tym zrobić?

W ostatnich miesiącach brałem udział w kilku panelach poświęconych SI, między innymi w Dysputach Pitagorejskich na PW. Przyznam, że przebieg dyskusji był często dla mnie zaskakujący, a może nawet przerażający. Dlaczego? O tym poniżej.

Mówi się sporo o gospodarce opartej o dane, rewolucji informacyjnej, przemyśle 4.0 itp. Spodziewałem się więc, że panele poświęcone Sztucznej Inteligencji będą krążyły wokół tego tematu. Co zrobić, by nasza gospodarka wykorzystała tę zmianę zyskując na konkurencyjności? Jak wykorzystać nowe technologie w jak największej części gospodarki? Jednak z jakiegoś powodu, dyskusja z publicznością zbiega na wątki typu ,,czy roboty zabiorą nam pracę’’ lub ,,czy sztuczna inteligencja się zbuntuje’’. Miała być nadzieja na lepsze jutro, a jest głównie strach i obawy.

Cóż, pewnie po prostu lubimy się bać, tym bardziej, że ten strach podsycają niektóre media czy filmy. Baliśmy się kosmitów, baliśmy się zmutowanych pomidorów, możemy się bać i SI. Obecny stan SI jest tak daleki od jakiejkolwiek samoświadomości, że strach przed SI jest równie irracjonalny jak strach przed tym, że lokomotywy parowe przerażą krowy tak, że przestaną dawać mleko a kury jajka (takich rzeczy obawiano się kiedyś).

Niestety strach przed SI, jest barierą rozwoju dla polskich firm, obawą przed wdrażaniem rozwiązań opartych o uczenie maszynowe. Mamy w Polsce sporo osób tworzących rozwiązania w obszarze uczenia maszynowego czy sztucznej inteligencji, ale zazwyczaj jest to outsourcing dla zachodnich firm, bardziej zaawansowanych technologicznie. Firmy szukające klientów na rodzimym rynku często borykają się z bardzo niskim zrozumieniem możliwości, ograniczeń i potencjału jaki daje uczenie maszynowe.

Sprawa jest poważna. Trafiłem ostatnio na raport ,,SZANSE I WYZWANIA POLSKIEGO PRZEMYSŁU 4.0” opracowany przez ARP, który pokazuje jak mizernie wygląda zaawansowanie robotyzacji i automatyzacji w Polsce. Dwa przykładowe wykresy z tego raportu poniżej.

Stwierdzenie z raportu: ,,Obok niskich kosztów pracy, to brak wiedzy i gotowości polskiej kadry kierowniczej do zmian jest główną barierą w rozwoju Przemysłu 4.0 w Polsce’’. Dodałbym jeszcze do tego zdania ukryty strach przed SI, które z jakiegoś powodu kojarzone jest częściej z robotami wyglądającymi jak człowiek zamiast z rozwiązaniami typu system rekomendacyjny Amazona czy wyszukiwarka Googla.

Co możemy zrobić by nie przegapić kolejnej rewolucji? Potrzebna jest szeroko zakrojona edukacja przedsiębiorców/społeczeństwa dot możliwości jakie daje analiza danych. Nie tylko edukacja kadr (programy studiów, też doktoranckich, to zwiększy podaż umiejętności) ale również edukacja przedsiębiorców (aby zwiększyć podaż). Zamiast straszyć w gazetach robotami, można pokazać mniejsze i większe sukcesy AI (i nie chodzi mi o granie w Go).

Microsoft w tym roku zorganizował ciekawe warsztaty/burzę mózgów na ten temat. Grupa z którą miałem przyjemność pracować zaproponowała opracowanie programu edukacyjnego/popularyzacyjnego pod hasłem ,,Zrozum syntetyczny rozum’’. Program (może prelekcje, może youtube, może artykuły w mediach lub TV), w ramach którego można by skupić się na popularyzacji użytecznych zastosowań SI i ML w gospodarce. Zarówno przez pokazywanie gdzie ML podniósł konkurencyjność firmy jak i przez zwalczanie absurdów w stylu samoświadome komputery walczące z ludzkością.

Łatwiej opracować takie materiały mając szerszą perspektywę wielu par oczu.
Jeżeli byłbyś zainteresowany/zainteresowana pomocą w opracowaniu takich materiałów (czy to przez wkład merytoryczny, techniczny czy jakikolwiek inny) to zobowiązany będę za kontakt. Jeżeli się zbierze kilka osób to z pewnością też znajdzie się sposób na realizacje tej inicjatywy.

PS: Ciekawy artykuł o trendach w postrzeganiu SI.

PS2: Z rozwojem SI są oczywiście związane różne zagrożenia (patrz moja ulubiona XAI), ale nie powinny być one stosowane jako wymówka do nie używania SI.