Oppikaa tekoälyä Pythonilla · Oppitunti

LIME: paikalliset tulkittavat selitykset

lime.tabular.LimeTabularExplainer, syötteen perturbointi, paikallinen lineaarinen approksimaatio.

Oppitunti 3/413 vaihetta

LIME: paikalliset tulkittavat selitykset on ilmainen Oppikaa tekoälyä Pythonilla-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Oppikaa tekoälyä Pythonilla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Oppikaa tekoälyä Pythonilla-kurssilla on yhteensä 4 oppituntia.

Mikä LIME on

LIME (Local Interpretable Model-agnostic Explanations) selittää yksittäisen ennusteen sovittamalla yksinkertaisen, tulkittavan mallin (kuten lineaarisen regression) monimutkaisen mallin toimintaan kyseisen tapauksen ympärille muodostetussa pienessä lähialueessa.

Paikallinen, ei kokonaisvaltainen

Musta laatikko -malli voi olla kokonaisuutena erittäin epälineaarinen, mutta yhden pisteen lähellä se on likimäärin lineaarinen. LIME hyödyntää tätä: se ei selitä koko mallia, vaan ainoastaan sen toimintaa paikallisesti tarkasteltavan tapauksen ympärillä.

Miten LIME toimii

LIME muuttaa tapausta hieman luodakseen monia lähialueen näytteitä, pyytää mustaa laatikkoa luokittelemaan ne, painottaa näytteitä niiden alkuperäiseen tapaukseen olevan etäisyyden perusteella ja sovittaa sitten tulkittavan korvaavan mallin. Korvaavan mallin kertoimista muodostetaan selitys.

Malliriippumaton

Koska LIME kutsuu vain mallin ennustefunktiota, se toimii minkä tahansa luokittimen tai regressiomallin kanssa: neuroverkkojen, gradienttitehostuksen ja jopa ulkoisen API:n kanssa. Se käsittelee mallia mustana laatikkona.

LimeTabularExplainer

Taulukkomuotoista dataa varten LimeTabularExplainer rakennetaan opetusaineistosta ja piirteiden nimistä. Se käyttää opetusaineiston jakaumaa realististen muunnelmien luomiseen.

from lime.lime_tabular import LimeTabularExplainer

explainer = LimeTabularExplainer(
    training_data=X_train.values,
    feature_names=X_train.columns.tolist(),
    class_names=["denied", "approved"],
    mode="classification",
)

explain_instance

Yhden rivin selittämiseksi kutsukaa explain_instance-metodia rivin ja mallin predict_proba-funktion kanssa. LIME tekee muunnelmia kyseisen rivin ympärillä ja sovittaa paikallisen korvaavan mallin.

exp = explainer.explain_instance(
    data_row=X_test.values[0],
    predict_fn=model.predict_proba,
    num_features=5,
)

predict_proba, ei predict

Luokittelussa LIME tarvitsee todennäköisyyksiä, ei kovia luokkia, koska korvaava malli sovitetaan todennäköisyyspintaan. Välittäkää aina model.predict_proba (tai mikä tahansa funktio, joka palauttaa luokkien todennäköisyydet).

num_features-parametri

num_features rajoittaa selityksessä näkyvien piirteiden määrää. Pienempi määrä tuottaa yksinkertaisemman ja helpommin ymmärrettävän selityksen, joka korostaa vain vahvimpia paikallisia vaikuttajia.

Piirteiden painojen tulkitseminen

exp.as_list() palauttaa selityksen (piirteen ehto, paino) -pareina. Positiivinen paino ohjasi ennustetta kohti ennustettua luokkaa, kun taas negatiivinen paino ohjasi sitä poispäin.

for feature, weight in exp.as_list():
    print(feature, round(weight, 3))
# income > 50000     0.21
# debt_ratio > 0.4  -0.18

Selityksen visualisointi

LIME voi esittää selityksen vuorovaikutteisena kaaviona tai muistikirjanäkymänä, jossa vaikutuspalkit ja ennustetut todennäköisyydet näkyvät rinnakkain.

exp.show_in_notebook(show_table=True)
# or
fig = exp.as_pyplot_figure()

LIME ja SHAP

Molemmat selittävät yksittäisiä ennusteita, mutta niiden välillä on eroja:

  • SHAP tarjoaa vahvat teoreettiset takuut (additiivisuus ja yhdenmukaisuus) sekä kokonaisnäkymän
  • LIME on nopeampi omaksua, malliriippumaton ja intuitiivinen, mutta sen paikallinen korvaava malli on likimääräinen ja voi vaihdella muunnelmien satunnaisuuden mukaan

Pikatesti

Testaa tietosi LIMEsta.

Kertaus

Opitte paikallisia selityksiä LIMEn avulla:

  • LimeTabularExplainer rakennetaan opetusaineistosta ja piirteiden nimistä
  • explain_instance käyttää model.predict_proba-funktiota paikallisen korvaavan mallin sovittamiseen
  • num_features määrittää selityksen koon
  • as_list() palauttaa piirteiden etumerkilliset painot
  • LIME on malliriippumaton ja paikallinen, joten se täydentää SHAPia
Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
53
Oppitunnit
225

Usein kysytyt kysymykset

Onko oppitunti ”LIME: paikalliset tulkittavat selitykset” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Oppikaa tekoälyä Pythonilla-oppimispolun 3 oppituntia, myös oppitunnin “LIME: paikalliset tulkittavat selitykset”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppikaa tekoälyä Pythonilla-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”LIME: paikalliset tulkittavat selitykset”?

lime.tabular.LimeTabularExplainer, syötteen perturbointi, paikallinen lineaarinen approksimaatio. Harjoittelet Oppikaa tekoälyä Pythonilla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Oppikaa tekoälyä Pythonilla-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Oppikaa tekoälyä Pythonilla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”LIME: paikalliset tulkittavat selitykset”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Oppikaa tekoälyä Pythonilla-oppitunnilla?

Kyllä. Jokainen Oppikaa tekoälyä Pythonilla-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Vinoumien tunnistaminen ML-malleissa
  2. SHAP-arvot mallien selitettävyyteen
  3. LIME: paikalliset tulkittavat selitykset
  4. Tekoälyn etiikka ja hallintakehykset
← Takaisin: Oppikaa tekoälyä Pythonilla