Obravnavanje uhajanja podatkov

Izvorno vozlišče: 1124030

Obravnavanje uhajanja podatkov

Uhajanje ciljev in uhajanje podatkov predstavljata zahtevne težave pri strojnem učenju. Bodite pripravljeni prepoznati te potencialno neurejene težave in se jim izogniti.


By Susan Currie Sivek, dr., višja novinarka podatkovne znanosti

Slika

Še vedno ujet preko GIPHY

Učite se za prihajajoči izpit. Izpit je odprta knjiga, zato pri pregledu uporabljate svoje referenčno gradivo in vam gre odlično.

Toda ko se pojaviš na dan izpita, ti nenadoma povedo, da izpit ni več odprta knjiga. Ne gre tako dobro.

preko GIPHY

To zveni kot anksiozne sanje akademskega presežka, vendar je podobno temu, kar se dogaja, ko pride do uhajanja cilja v modelu strojnega učenja. Recimo, da zgradite model, ki je namenjen napovedovanju določenega izida, in ga usposobite z informacijami, ki modelu pomagajo pri napovedi. Ta model se lahko dobro obnese … morda sumljivo dobro. Toda če nekatere od teh informacij ne bodo na voljo modelu v dejanskem času, ko mora izvesti svojo napoved, bo njegova dejanska zmogljivost nižja. To je rezultat uhajanja ciljev – anksiozne sanje podatkovnega znanstvenika!

Pred kratkim sem slišal, da je eden od naših notranjih strokovnjakov za Alteryx uhajanje ciljev označil za najtežji problem strojnega učenja. Toda kako se to zgodi in kako se lahko tej težavi izognete s svojimi modeli? In kako je na splošno povezano z "uhajanjem podatkov"?

preko GIPHY

Ciljno puščanje

 
Do uhajanja cilja pride, ko se model uri s podatki, ki jih v času napovedovanja ne bo imel na voljo. Model deluje dobro, ko je na začetku usposobljen in preizkušen, ko pa je dan v proizvodnjo, pomanjkanje teh zdaj manjkajočih podatkov povzroči, da model deluje slabo. Tako kot se vi učite s svojimi knjigami in nato opravljate izpit brez njih, modelu manjkajo koristne informacije, ki so izboljšale njegovo delovanje med usposabljanjem.

Tukaj je nekaj scenarijev, ki predstavljajo ciljno uhajanje:

  • Vključitev rezultata, ki ga je treba napovedati, kot funkcije v naboru podatkov, ki se uporablja za usposabljanje modela (to se morda sliši neumno, vendar se lahko zgodi; če na primer podvojite in preimenujete ciljno polje spremenljivke, nato pa pozabite na to podvajanje, vas lahko nenamerno pripelje do uporabite dodatno različico tarče kot napovedovalec);
  • Vključuje funkcijo, ki predstavlja število let, ki jih je študent obiskoval fakulteto v modelu, ki napoveduje, ali bo študent sprejel ponudbo za sprejem na to fakulteto;
  • Vključitev funkcije, ki predstavlja število mesecev naročnine v modelu, ki predvideva, ali bi se potencialna stranka naročila ali ne;
  • Vključuje funkcijo, ki predstavlja, ali je bil zavarovalni zahtevek v zvezi s požarom odobren v modelu, ki napoveduje požare v domovih z določeno vrsto obloge; in
  • Vključno z informacijami iz drugih naborov podatkov, ki predstavljajo podrobnosti, ki sicer niso na voljo modelu v času predvidevanja.

V vseh teh primerih so bile ob izdelavi modela vključene informacije, ki jih v času napovedovanja ni bilo mogoče poznati. Ne moremo vedeti, za koliko mesecev se bo stranka naročila, medtem ko še vedno poskušamo ugotoviti, ali se bo sploh naročila. (Ali lahko zgradimo model, ki bi lahko poskusil napovedati, koliko mesecev se bo naročnik naročil? Seveda. Vendar bi to utemeljili na naših podatkih o znanih naročnikih, ne pa na celotnem naboru tistih, ki se lahko naročijo ali ne.) Podobno če smo modelu povedali, da so ljudje v domovih, zgrajenih z določenimi materiali, vložili odškodninske zahtevke za požarno zavarovanje, v naš model uvajamo znanje po tem, ko so se požari zgodili, in poskušamo napovedati požare.

Celo navidez nedolžne podrobnosti, kot so velikost datoteke ali časovni žigi, so lahko nenamerno posredniki za ciljno spremenljivko. Na primer tekmovanje Kaggle leta 2013 je bilo treba prekiniti in nabor podatkov prenovljen zaradi te vrste težave. Ekipa, ki je odkrila (in vestno poročala) uhajanje, je uživala v kratkem času na vrhu lestvice!

Kar je posledica uhajanja podatkov, je preveliko prileganje vašim podatkom o vadbi. Vaš model je lahko zelo dober pri napovedovanju s tem dodatnim znanjem – blesti na izpitu z odprto knjigo – vendar ne tako dober, če te informacije niso zagotovljene ob času napovedovanja.

preko GIPHY

Kontaminacija preskusa vlaka

 
Druga oblika uhajanja podatkov se včasih imenuje "kontaminacija med preskusom vlaka". Ta težava morda ne vključuje posebej vaše ciljne spremenljivke, vendar vpliva na zmogljivost modela. To je še en način, na katerega lahko nenamerno dodamo znanje o prihodnjih podatkih v naše podatke o usposabljanju, kar ima za posledico meritve uspešnosti, ki so videti boljše, kot bi bile v proizvodnji. (Mimogrede, če iščete več branja o tej temi, bodite opozorjeni, da je "uhajanje podatkov" tudi izraz, ki ga včasih uporabljajo strokovnjaki za kibernetsko varnost kršitve podatkov.)

Običajen način, kako pride do kontaminacije med preizkusom vlaka, je predhodna obdelava vašega nabora podatkov v celoti, preden ga razdelite na nize za usposabljanje in teste ali pred uporabo navzkrižnega preverjanja.

Na primer, normalizacijo podatkov zahteva uporabo številskega obsega vsake spremenljivke v naboru podatkov. Normalizacija celotnega nabora podatkov kot celote zagotavlja to »znanje« modelu, ko je ocenjen. Vendar pa model, ki je dan v proizvodnjo, ne bo imel tega znanja in zato ne bo deloval tako dobro, ko bo uporabljen za napovedovanje. Podobno bi standardizacija celotnega nabora podatkov neustrezno obvestila model o srednji vrednosti in standardnem odklonu celotnega nabora podatkov. Pripisovanje manjkajočih vrednosti uporablja tudi povzetek statističnih podatkov o vašem naboru podatkov (npr. mediana, povprečje).

Vsi ti namigi lahko pomagajo modelu, da deluje bolje na vaših podatkih o usposabljanju in testiranju, kot bo, ko bo na koncu uveden v popolnoma nove podatke. Ta članek ponuja poglobljeno raziskovanje te vrste uhajanja podatkov, vključno s kodo za prikaz.

Če uporabljate, se lahko pojavi še ena težava k-krat navzkrižna validacija za oceno vašega modela. Dokler vaš nabor podatkov vključuje le eno opazovanje vsake posamezne osebe/vira, ta vrsta uhajanja ne bi smela biti težava za vas. Vendar, če imate več opazovanj (tj. vrstic podatkov) od vsake osebe ali vira v vašem naboru podatkov, je treba vsa ta opažanja iz istega vira združiti skupaj, ko so podnabori ali »zgibi« vaših podatkov ustvarjeni za usposabljanje. in testiranje modela.

Na primer, lahko na koncu uporabite podatke o usposabljanju osebe A za napovedovanje izida za podatke o testu osebe A, če so opažanja osebe A vključena tako v skupino za usposabljanje kot v skupino za testiranje. Zdi se, da se bo model bolje obnesel na testnem nizu - ki spet vključuje osebo A -, ker že ve nekaj o osebi A iz učnega niza. Toda v proizvodnji ne bo imel te prednosti predhodne izpostavljenosti. Za več podrobnosti o tem vprašanju (včasih imenovanem "skupinsko uhajanje") si oglejte ta članek.

preko GIPHY

Obravnavanje uhajanja podatkov

 
Ko vam doma kaplja iz pipe, to spoznate po zvoku in lužah. Toda te vrste uhajanja je težko odkriti. Še vedno lahko izvajate preventivno vzdrževanje in popravila, da se spopadete s tem izzivom.

Nenavadno dobro delovanje modela je lahko znak puščanja. Če vaš model deluje osupljivo, neverjetno dobro, se uprite skušnjavi, da bi se potrepljali po rami in ga poslali. Ta zmogljivost je lahko posledica pretiranega opremljanja različnih vrtov, lahko pa tudi odraža cilj ali uhajanje podatkov.

Če želite najprej preprečiti uhajanje podatkov, lahko to storite temeljito raziskovalne analize podatkov (EDA) in poiščite funkcije, ki imajo še posebej visoke korelacije z vašo spremenljivko izida. Vredno je natančno preučiti ta razmerja, da se prepričate, da ni možnosti za uhajanje, če se visoko korelirane funkcije uporabljajo skupaj v modelu. Ta pregled je lahko izziv, če imate visokodimenzionalni nabor podatkov s številnimi funkcijami, zato uporaba orodja, kot je Pearsonovo korelacijsko orodje v Alteryx Designer in filtriranje in/ali vizualizacija njegovega rezultata bi lahko bila v pomoč.

Da bi se izognili kontaminaciji s preizkusom usposabljanja, se prepričajte, da razdelite svoje podatke na nize za usposabljanje/preizkus/zadrževanje, preden uporabite kakršne koli transformacije, kot je normalizacija, nato pa usposobite model na nizu za usposabljanje. Nadaljujte z uporabo transformacij za preskusne/zadrževalne nize z enakimi parametri, uporabljenimi za vadbeni niz, nato pa preizkusite zmogljivost svojega modela.

preko GIPHY

Poleg tega se prepričajte, da popolnoma razumete vse funkcije v svojem naboru podatkov. Ta primer Kaggle prikazuje, kako lahko funkcija z imenom »izdatki« v naboru podatkov o odobritvi vloge za kreditno kartico povzroči uhajanje ciljev, če se uporablja v modelu za predvidevanje odobrenih vlog. »Izdatki« kot ime funkcije bi lahko pomenilo veliko stvari, vendar se je v tem primeru nanašalo na to, koliko so uporabniki kreditnih kartic porabili na svojih karticah. Ta funkcija je nakazovala, da so bili za kartice res odobreni, in je neustrezno posredovala napoved modela o odobritvah, saj informacije o izdatkih v času napovedi ne bi bile na voljo.

Nazadnje, preverjanje relativne pomembnosti vaših funkcij in pregledovanje drugih orodij za interpretacijo vam lahko pomagata ujeti uhajanje. V zgornjem primeru odobritve vloge za kreditno kartico so bili »izdatki« morda videti kot res pomembna značilnost pri napovedi odobritve kreditne kartice. Če ste v dvomih, lahko poskusite odstraniti funkcijo, da vidite, kako se spreminja zmogljivost vašega modela, in nato ugotovite, ali model nenadoma deluje na bolj realistični ravni.

preko GIPHY

Zaščita pred puščanjem vaših modelov

 
Upam, da vam je ta pregled prinesel nekaj novih vodovodarskih veščin, s katerimi se boste lažje izognili tem puščajočim situacijam! S skrbnim EDA in temeljitim poznavanjem vašega nabora podatkov, kot tudi s pravilno nastavitvijo predprocesiranja in navzkrižnega preverjanja, bi morali biti sposobni ohranjati svoje cilje lepo zaprte in nabore podatkov brez kontaminacije.

Priporočena Reading

  • Vprašajte podatkovnega znanstvenika: uhajanje podatkov
  • Uhajanje podatkov v strojnem učenju
  • Ciljno uhajanje v ML

Prvotno objavljeno v Spletni dnevnik o podatkovni znanosti skupnosti Alteryx.

 
Bio: Susan Currie Sivek, dr. je višja novinarka podatkovne znanosti za skupnost Alteryx, kjer z globalnim občinstvom raziskuje koncepte podatkovne znanosti. Je tudi voditeljica Mešalnik podatkovne znanosti podcast. Njeno znanje iz akademskih krogov in družboslovja predstavlja njen pristop k raziskovanju podatkov in sporočanju zapletenih idej - z malo kreativnosti iz njenega novinarskega usposabljanja.

prvotni. Poročeno z dovoljenjem.

Povezano:

Vir: https://www.kdnuggets.com/2021/10/dealing-data-leakage.html

Časovni žig:

Več od KDnuggets