Seuraava artikkeli auttaa sinua: Parhaat koneoppimismallien tulkintatyökalut
Yhtä tärkeää kuin koneoppimismallien tekeminen on, kyky tulkita ja selittää ML-mallin tekemiä päätöksiä on ratkaisevan tärkeää ennusteiden oikeudenmukaisuuden, vastuullisuuden ja luotettavuuden varmistamiseksi. Puhumattakaan, se auttaa myös saamaan sen näyttämään vähemmän mustalta laatikolta.
Mahdollisuus tulkita mallia antaa kehittäjille mahdollisuuden siirtyä kysymyksestä “mitä malli ennusti?” kysymykseen “miten malli ennusti tämän?” Tämän saavuttamiseksi on vuosien aikana kehitetty monia tekniikoita, jotka vaihtelevat hieman toisistaan ja joita käytetään eri malleissa eri lähestymistapojen kautta.
Tässä on joitain parhaita työkaluja ja tekniikoita, joita kehittäjät käyttävät koneoppimismallien tulkinnassa!
ELI5
Lyhenne sanoista “Explain like I’m 5”, ELI5 on Python-kirjasto, ja sitä on melko helppo käyttää ML-mallien selittämiseen ja tulkintaan. Tekniikka tulkitsee malleja paikallisella/globaalilla tavalla pikemminkin kuin spesifisellä/agnostisella tavalla. Tällä hetkellä se vaatii scikit-learn 0.18+ toimiakseen.
Kirjasto mahdollistaa lineaaristen luokittimien ja regressorien painojen selityksen ja ennustamisen, ja se tulostaa päätöspuut tekstinä tai SVG-muodossa. Se näyttää myös ominaisuuksien tärkeyden sekä selittää päätöspuiden ja puupohjaisten kokoonpanojen ennusteet.
Tämän ensisijaisena käyttötarkoituksena on tarkastaa mallin parametreja ja selvittää, miten malli toimii globaalisti, tai tarkastella mallin yksittäisiä ennusteita ja yhdistää ne mallin päätöksentekoprosessiin. Malli on tällä hetkellä saatavana vain Keras-, XGBoost-, LightGBM-, CatBoost-, lightning- ja sklearn-crfsuite-malleille.
SHAP
Lyhenne sanoista SHapley Additive ExPlanations, SHAP käyttää erilaista lähestymistapaa minkä tahansa ML-mallin tulosten selittämiseen peliteorian avulla. Se selittää esiintymän ennusteen laskemalla kunkin ominaisuuden vaikutuksen suhteessa kyseiseen ennusteeseen Shapley-arvojen avulla.
Shapley-arvot on koalitiopeliteoriasta johdettu menetelmä, joka toistaa, kuinka voitto voidaan jakaa ominaisuuksien kesken. Nämä arvot ovat jokaisen yksittäisen ominaisuuden arvon keskimääräinen marginaalinen osuus kaikissa mahdollisissa koalitioissa. Sitä pidetään intuitiivisimpana lähestymistavana mallien tulkittavuuteen, vaikka se voi usein olla monimutkaista ja ylivoimaista aloittelijoille.
SHAP-selitys ilmaistaan matemaattisesti seuraavasti:
LIME
Local Interpretable Model-agnostic Explanations (LIME), mikä tarkoittaa, että viitekehys analysoi yksittäisiä ennusteita ja antaa laajan näkemyksen minkä tahansa ML-luokittimen ennusteista. Arkistoa käyttävät enimmäkseen Javascript ja osittain Python-kehittäjät.
Malliagnostikkona LIME kohtelee jokaista mallia mustana laatikkona. Tämä tarkoittaa, että se tekee tulkintoja mallin ulkopuolella ja toimii siten laajalla valikoimalla malleja. LIME tarjoaa kolme erilaista tulkintamenetelmää, jotka käsittelevät erilaisia tietoja:
- Tekstin tulkinta
- Taulukkotulkinta
- Kuvan tulkinta
Ankkurit
Ankkurit ovat samankaltaisia kuin SHAP ja LIME paikallisten selitysten luomiseksi, mutta tulkittavien mallien sijaan tämä työkalu ilmaisee selitykset yksinkertaisina ja helposti ymmärrettävinä “jos–niin” -säännöinä. Kuten nimestä voi päätellä, sääntö ankkurit ennuste, jotta muiden arvojen muutokset eivät vaikuta ennusteeseen.
Tätä tekniikkaa käytetään ihanteellisesti kuvien luokittelumalleissa, koska se tunnistaa kuva-alueiden vähimmäisjoukon ja merkitsee ne ankkureiksi, joiden avulla se voi tehdä päätöksiä. Nämä ankkurit luodaan tunnistamalla alueet, joilla on korkealuokkaiset aktivointiarvot, eli alue, jolla malli tekee ennusteen.
Yksi ankkuritekniikan tärkeimmistä eduista on, että se mahdollistaa ihmisen tulkittavissa olevien selitysten luomisen, mikä voi olla hyödyllistä ymmärtääkseen, kuinka malli tekee päätöksensä, ja tunnistamaan mahdollisia harhalähteitä.
MLxtend
MLxtend, joka tunnetaan myös nimellä Machine Learning Extensions, on Python-kirjasto tietojen analysointiin. Kirjasto tarjoaa ominaisuuksia, kuten:
- PCA-korrelaatioympyrä: Kirjastossa voit tarkastella tuloksia piirtämällä PCA-korrelaatioympyrän ja sitten korreloida ominaisuuksia ja pääkomponenttia. Nämä piirretään sitten vektoreina yksikköympyrään, jonka akseleina ovat pääkomponentit. Nämä akselit osoittavat tiettyjen pääkomponenttien varianssin.
- Puolueellisuus–Varianssihajotus: MLxtend saa ennustemalleille bias-varianssi-pisteen ja jakaa yleistysvirheen harhaan, varianssiin ja virhepisteisiin.
- Mallin päätösrajojen ja alueiden piirtäminen: MLxtend mahdollistaa myös mallin päätösrajan tarkastelun kahdessa ulottuvuudessa, jotta saadaan selville, kuinka malli eroaa eri luokkien datapisteiden välillä. Tämä voidaan kuitenkin tehdä vain kahdelle ominaisuudelle visualisoinnin aikana.
Johtopäätös
Kun malleista tulee yhä monimutkaisempia, niiden tulkitseminen on tärkein näkökohta niiden käyttöönotossa. Sitä varten kehitetään lisää tekniikoita ja työkaluja, ja tässä käsitellyt työkalut eivät ole ainoita saatavilla, vaan ne ovat näkyvimmin käytettyjä.