Vienetas 7 / 11

Modelio įvertinimas: metrika, kryžminis patvirtinimas ir ekstremalus mokymasis

Pelnas:

  • Gebėjimas pasirinkti ir interpretuoti klasifikavimo ir regresijos metrikas (painios matricą, tikslumą/atsišaukimą/F1, MAE/RMSE/R²) pagal darbo tikslą
  • Gebėjimas aptikti persimokymą lyginant mokymo ir testų rezultatus ir gauti patikimą našumą naudojant kryžminį patvirtinimą
  • Gebėjimas įvertinti, ar kiekvienas modelis suteikia tikrosios vertės, lyginant jį su baziniu lygiu

Lengva nustatyti modelį; Sunku sąžiningai įvertinti, ar tai iš tikrųjų veikia. Šio skyriaus objektas yra svarbiausi duomenų mokslininko įgūdžiai: modelio įvertinimas naudojant tinkamą metriką, patikimas nuspėjamasis veikimas ir klastingiausių spąstų gaudymas: per didelis mokymasis (įsiminti). AI skaičiuoja, interpretuoja ir lygina metrikas; bet žmogus turi nuspręsti, kuri metrika tinka jūsų verslui ir ar modelis yra „pakankamai geras“. Komanda, žiūrinti į netinkamą metriką, gali kelis mėnesius klaidingai laikyti blogą modelį „sėkme“.

Kodėl tikslumo neužtenka: painiavos matrica

Pirmoji metrika, kuri ateina į galvą klasifikuojant, yra tikslumas (tikslumas – bendras teisingų prognozių santykis). Tačiau, kaip matėme 6 skyriuje, tikslumas yra klaidinantis dėl nesubalansuotų duomenų. Geresnė pradžia yra painiavos matrica – lentelė, padalijanti prognozes į keturias dėžutes:

  • Tikras teigiamas (TP): netikru vadinome tai, kas iš tikrųjų yra netikra. (gerai)
  • Tikras neigiamas (TN): sakėme, kad tikrai švaru. (gerai)
  • Klaidingai teigiamas (FP): klaidingai pasakėme, kad švarus buvo netikras. (Klaidingas pavojaus signalas)
  • Klaidingas neigiamas (FN): mes praleidome netikrą ir pavadinome jį švariu. (Praleido grasinimą)

Iš šių keturių langelių gaunamos dvi pagrindinės metrikos. Tikslumas: „Kiek to, ką aš vadinu netikra, iš tikrųjų yra netikra? — svarbu, jei klaidingo įspėjimo išlaidos yra didelės. Jautrumas (priminkite anglų k.): "Kiek tikrų padirbinių sugavau?" — svarbu, kai praleisti grėsmę yra brangu. Jie dažnai prieštarauja vienas kitam: jei sumažinate slenkstį ir daugiau sakote „netikras“, atsiminimai padidėja, bet sumažėja tikslumas. F1 balas yra šių dviejų subalansuotas vidurkis (harmoninis vidurkis).

Dėmesio: atsakymas į klausimą „kuris rodiklis yra svarbus“ yra verslo, o ne techninis sprendimas. Atvejo praleidimas (mažas prisiminimas) atliekant vėžio patikrą yra pražūtinga; Nemalonu siųsti svarbius el. laiškus į šlamštą (mažo tikslumo) šiukšlių filtre. Kaina nustato metriką.

Regresijos metrika

Jei išvestis yra skaičiai, naudojama skirtinga metrika. MAE (Mean Absolute Error): kiek įverčiai nukrypsta nuo tikrojo vidurkio tame pačiame vienete (pvz., „mes klystame vidutiniškai 4200 TL“). RMSE (Root Mean Squared Error): už dideles klaidas baudžiama griežčiau ir jautriai reaguoja į nuokrypius. R² (R kvadratas – determinacijos koeficientas): kiek taikinio kintamumo paaiškina modelis (artimas 1 yra geras, 0 yra toks pat blogas kaip vidurkio prognozavimas, neigiamas dar blogesnis).

Patys klastingiausi spąstai: per didelis mokymasis

Per didelis pritaikymas – kai modelis įsimena mokymo duomenis, bet nepavyksta gauti naujų duomenų – yra dažniausia duomenų mokslo klaida. Požymis aiškus: modelis puikus treniruočių rinkinyje (98%), blogas bandymo rinkinyje (72%). Modelis įsiminė to konkretaus pavyzdžio triukšmą, o ne tikrąjį duomenų šabloną. Taip pat yra ir priešingai: nepakankamas pritaikymas – modelis yra blogas ir treniruojantis, ir testuojant, nes per paprasta užfiksuoti modelį.

Kovos su perdėtu mokymusi būdai: modelio supaprastinimas, daugiau duomenų, reguliavimas – matematinis stabdys, neleidžiantis modeliui tapti pernelyg sudėtingu – ir, svarbiausia, kryžminis patvirtinimas.

Kryžminis patvirtinimas: nepasitikėkite viena sritimi

Vienintelis treniruočių/bandymo blokas gali būti sėkmingas arba nepasisekęs; Už testo rinkinį galite gauti aukštus balus vien todėl, kad šis pavyzdys yra lengvas. Kryžminis patvirtinimas (sutrumpintai CV) išsprendžia tai. Dažniausia forma yra k-karto CV: duomenys skirstomi į k dalis (pvz., 5); Kiekviename ture viena dalis yra testavimas, o likusi dalis – treniruotės; tai ridena 5 kartus, o 5 balų vidurkis. Taigi pamatysite, kad našumas pagrįstas kelių padalijimų vidurkiu, o ne vienu sėkmingu padalijimu. Informatyvus yra ir balų pasiskirstymas: labai nepastovūs balai (85 % viename aukšte, 62 % kitame) rodo, kad modelis yra nestabilus.

Įprastas k kartus nenaudojamas laiko eilutėse (nutekėjo ateitis); Vietoj to, jūs darote „prijungimą į priekį“ (laiko eilučių padalijimą): visada treniruojatės su praeitimi ir išbandote ateitį.

metrinė

Problemos tipas

Kada tai svarbu?

Tikslumas

Klasifikacija

Jei klasės subalansuotos

Tikslumas

Klasifikacija

Klaidingas pavojaus signalas yra brangus

Jautrumas (prisiminti)

Klasifikacija

Jei praleisti brangu

F1

Klasifikacija

Jei reikia pusiausvyros

MAE

regresija

Interpretuojama klaida

RMSE

regresija

Jei didelės klaidos yra kritinės

regresija

aiškinamoji galia

trys mini dėklai

1 atvejis – didelio tikslumo iliuzija. Vienas sukčiavimo modelis parodė 99,2% tikslumą ir komanda šventė. Žvelgiant į painiavos matricą, tikroji: padirbtų duomenų rodiklis buvo 0,8%; modelis beveik nepagavo padirbinių, tik pasakė „viskas aišku“. Atsiminimas buvo 6%. Pamoka: žiūrėkite į metrikas, o ne į tikslumą.

2 atvejis – latentinis mokymasis. Viena komanda treniruočių rinkinyje pristatė ir padidino XGBoost iki 97%. Bandymų rinkinys buvo 69%, bet niekas nežiūrėjo. Modelis žlugo gamyboje. Jei būtų atliktas kryžminis patvirtinimas, didelis skirtumas tarp sulenkimų (permokymas) būtų buvęs matomas nuo pat pradžių. Pamoka: pasitikėkite CV ir testo balu, o ne išsilavinimo balu.

3 atvejis – laimingas padalijimas. Vienas analitikas džiaugėsi, kad per vieną padalijimą gavo 88 proc. Kai jo kolega sudarė 5 kartus CV, balai buvo 88%, 71%, 83%, 64%, 79% – vidurkis yra 77%, bet jis labai nepastovus. Modelis buvo nestabilus; Vienas skyrius buvo klaidinantis. Pamoka: žiūrėkite į CV vidurkį ir pasiskirstymą, o ne į atskirą šiukšliadėžę.

Keturi kopijuojami šablonai

1) Visa klasifikavimo ataskaita:

Turiu apmokytą modelį ir testų rinkinį. Sukurkite: painiavos matricą, tikslumą, atšaukimą, F1 (kiekvienai klasei) ir palaikymo skaičių. Darau išvadą, bet tai priklauso nuo manęs: aš jums pasakysiu, kuri metrika yra svarbi. Atminkite, kad dėl nesubalansuotų duomenų tikslumas gali būti klaidinantis.

2) Over-Learning kontrolė:

Spausdinkite mano modelio balus tiek MOKYMO, tiek TEST rinkiniuose greta. Apskaičiuokite skirtumą tarp jų ir perspėkite, nes didelis skirtumas yra persimokymo požymis. Jei skirtumas didelis, pasiūlykite sureguliavimą arba supaprastinimą.

3) Kryžminis patvirtinimas:

Atlikite 5 kartus kryžminį patvirtinimą (sluoksniuotam, klasifikavimui). Atspausdinkite kiekvieno sulenkimo rezultatą, vidurkį ir standartinį nuokrypį. Jei balai labai nepastovi (aukštas std), nurodykite, kad modelis yra nestabilus. Naudokite konvejerius, kad transformacijos būtų išmoktos tik iš kiekvieno sluoksnio treniruotės.

4) Pradinis palyginimas:

Padėkite mano modelio metriką šalia „DummyClassifier“ bazinės linijos. Ar modelis gerokai viršija bazinę liniją? Jei nepavyksta, paaiškinkite, kad modelis neprideda jokios tikrosios vertės.

Silpnas raginimas / Stiprus raginimas

Silpnas raginimas:

Ar mano modelis geras?

„Geras“ yra neapibrėžtas; Neaišku, kuri metrika, kuri riba, kuri bazinė linija. AI gali pateikti vieną tikslumo skaičių ir suklaidinti.

Galingas raginimas:

Jūsų vaidmuo: vertinimo asistentas. Klasifikacija, nesubalansuoti duomenys (12% teigiami). Prioritetas: prisiminimas (nepraleiskite teigiamų dalykų). Užduotis: (1) painiavos matrica, (2) tikslumas/atsišaukimas/F1, (3) 5 kartus stratifikuotas CV vidurkis ir std, (4) DummyClassifier bazinės linijos palyginimas. Sutelkite dėmesį į prisiminimą ir pradinį skirtumą, o ne į tikslumą. Komentuokite, bet galutinį sprendimą priimu aš.

Čia aiškūs metrikos prioritetai, CV ir pradinė būklė.

Dažnos klaidos

  • Pasitikėjimas nesubalansuotų duomenų tikslumu. 99 % tikslumas gali išvis neaprėpti mažumos klasės; Pažvelkite į painiavos matricą.
  • Tiesiog pažiūrėjus į tavo išsilavinimo balą. Aukštas išsilavinimas, žemas testo balas yra permokomasis; Visada palyginkite du balus.
  • Remdamiesi vienu skyriumi. Laimingas padalijimas yra klaidinantis; Pažiūrėkite į vidurkį ir pasiskirstymą naudodami kryžminį patvirtinimą.
  • Nelyginant su bazine linija. Negalite pasakyti „gerai“, jei nežinote, ar modelis pranoksta kvailą prognozuotoją.
  • Naudojant įprastą k-kartą laiko eilutėse. Tai nutekina ateitį; reikalingas laiko eilučių padalijimas.
Patarimas: šalia kiekvieno modelio parašykite tris skaičius: mokymo balą, kryžminio patvirtinimo vidurkį ir pradinį balą. Ši trijulė iš pirmo žvilgsnio atskleidžia persimokymą (mokymas >> CV) ir nuvertinimą (CV ≈ pradinis lygis).

Apibendrinant

Sukurti modelį lengva, tačiau sunku jį sąžiningai įvertinti. Klasifikuojant painiavos matrica, tikslumas ir prisiminimas yra daug informatyvesni nei tikslumas; Darbo kaina lemia, kuris iš jų yra svarbus. MAE, RMSE ir R² naudojami regresijoje. Patys klastingiausi spąstai yra per didelis mokymasis: visada palyginkite mokymą ir testo rezultatą. Pasikliaukite kryžminio patvirtinimo vidurkiu ir pasiskirstymu, o ne vienu padalijimu; Palyginkite viską su pradine padėtimi. AI apskaičiuoja visa tai, bet žmogus turi nuspręsti, kurią metriką naudoti.

Taikymo užduotis

Klasifikavimo modelio klaidinimo matricos, tikslumo, atšaukimo ir F1 ištraukimas; Tada atlikite 5 kartus kryžminį patvirtinimą ir pažiūrėkite į balų pasiskirstymą per raukšles. Galiausiai greta užsirašykite mokymo rezultatą, CV vidurkį ir pradinį balą. Vienu sakiniu pakomentuokite, ar jūsų modelis per daug mokosi ir peržengia pradinę liniją.

kontrolinis sąrašas

  • [ ] Ar pažiūrėjau į tikrąją darbo metriką (tikslumas/atsišaukimas/F1 ir t. t.), o ne tikslumas?
  • [ ] Ar aš išnagrinėjau painiavos matricą?
  • [ ] Ar palyginau mokymo ir testo rezultatą ir patikrinau, ar nėra mokymosi?
  • [ ] Ar pažvelgiau į vidurkį ir pasiskirstymą su kryžminiu patvirtinimu?
  • [ ] Ar palyginau modelį su pradiniu?