Kovariansskift

Kovariansskift
Endring av distribusjoner av forskjellige variabler fra tog til test kalles datasettskifting. Dette kan føre til forskjellige problemer når du spår verdier i den distribuerte modellen. Skiftende kommer i en rekke former. Et av skiftene er skiftende samvariasjon, som skjer inne i de uavhengige variablene i tog- og testdata. Vi vil se på datasettskiftende i detalj, inkludert forklaring, årsaker, identifikasjon og samvariant skifting.

Hva er varians og samvariasjon?

Spredning av data måles ved varians. Den forteller oss hvor distribuert dataene er rundt et visst 'sant' eller 'riktig' antall (sentral tendens - ett mål er gjennomsnittet av dataene. I univariat analyse brukes begrepet varians for å beskrive oppførselen til en enkelt variabel. Kovarianse brukes i multivariat analyse for å undersøke leddoppførselen til to variabler. Når to variabler beveger seg i samme retning, er samvariasjonen deres positiv; Det er negativt når de beveger seg i motstridende retninger.

Hva skifter datasett?

Når distribusjonen av toget og testdataene er forskjellig, er dette kjent som datasettskifting. Fordi modellen ble trent på en distribusjon og nå brukes til å forutsi forskjellige datafordelinger, noe.

Typer dataforskyvning

  1. Endringer i de uavhengige variablene eller funksjonene i datasettet: Kovariatskift
  2. Endringer i målvariabelen eller den avhengige variabelen i datasettet:
    I forkant Sannsynlighetsskift
  3. Endring i forbindelsen mellom det uavhengige og målvariabelen på tvers av datasett: Konseptskift

Hvorfor skjer datasettskift?

Eksempel på valg av skjevhet: Variasjonen i distribusjon kan tilskrives det faktum at treningsdata ble oppnådd via en partisk metode og ikke representerer det operative miljøet som testdata ble oppnådd nøyaktig.

Ikke-stasjonære miljøer: Treningsmiljøet skiller seg fra testmiljøet, enten tid eller rom.

Hva er kovariatskift i maskinlæring?

Forskjellen mellom trenings- og testdatasettfordelinger er kjent som kovariatskift. Dette betyr at opplæringen av datasettet utføres på en slags distribusjon, og modellen brukes til å forutsi dataene for en annen distribusjon. Kovariatskift kan indikere at modellen ikke kan generalisere godt nok. Evnen til en modell til å bruke seg selv på nye data ved å bruke funksjoner som er anskaffet fra treningsdata er kjent som generalisering. Du skulle tro at de ville komme fra samme distribusjon, men det er nesten aldri tilfelle. Som et resultat må du holde modellene dine oppdatert med det siste togsettet. Dette er vanligvis forårsaket av endringer i tilstanden til latente variabler, som kan være tidsmessige (inkludert endringer i stasjonariteten til en tidsmessig prosess), romlig eller mindre tydelig. Det er også mulig å tenke på det som å se inn i en ukjent "region" av datauniverset. Det er et fascinerende forskningsfelt fordi det kan observeres på forskjellige måter i naturen. Vi kan takle det i datarommet ved kreativ ekstrapolering, men dette fungerer sjelden, og alternativer som å estimere latente variabler eller forsøke å gjøre en prediksjonsfunksjon tilpasningsdyktig til domenet. Spesielle omstendigheter, for eksempel stasjonære tidsvariabler og, av og til, rene numeriske data, er pålagt å se om vi virkelig har gått utenfor vårt originale kovariate rom. I dette scenariet kan vi beregne det konvekse skrogets datarom og se om vårt nye datapunkt faller utenfor det. Selvfølgelig er dette beregningsdyktige, så det er sjelden gjort til prognosene våre er feil. Det er selvfølgelig applikasjonsavhengig.

Eksempler på kovariant skift

Deteksjonen av kovariatdrift og andre typer modelldrift er et sentralt trinn for å forbedre modellens testnøyaktighet. Følgende er noen eksempler på kovariatskift i vanlige tilfeller av maskinlæring:

Bildeklassifisering og ansiktsgjenkjenning: En modell kan ha blitt opplært på bilder av bare noen få hunderaser, men den vil prestere dårlig når den brukes til å forutsi raser som ikke var til stede i treningsdataene.

Taldeteksjon og oversettelse: En modell kan trenes på høyttalere med en bestemt aksent. Når den brukes med tale med nye dialekter eller aksenter, kan modellen oppnå et høyt nøyaktighetsnivå med treningsdataene, men den vil bli unøyaktig når den brukes med nye dialekter eller aksenter.

Helsevesen: En modell som er trent på tilgjengelige treningsdata fra pasienter i 20 -årene, vil være mindre nøyaktige når man screening av data fra pasienter fra 60 år og oppover.

Håndtering av samvariasjonsskift

Vi slipper funksjonene som er kategorisert som drifting i vår strategi for å håndtere datasettskift. Imidlertid kan bare fjerning av funksjoner føre til noe tap av data. Senere kan vi ganske enkelt slippe de mindre viktige funksjonene. Som et resultat fjernes funksjoner med en drivverdi større enn en viss terskel. Nedenfor er koden som beregner og viser funksjonens viktighet for en lineær regresjonsmodell.

Fra Sklearn.Datasett importerer make_regresjon
fra SKL
tjene.linear_model import linearregresjon
fra matplotlib import pyplot
X, y = make_regression (n_samples = 2000, n_features = 15, n_informative = 5, random_state = 1)
Model = LinearRegression ()
modell.passform (x, y)
coef_array = modell.Coef_
for i, v i enumerate (coef_array):
Print ('Funksjon: %0D, poengsum: %.5f ' % (i, v))
Pyplot.Bar ([x for x i rekkevidde (len (coef_array))], coef_array)
Pyplot.forestilling()

Produksjon

Funksjon: 0, poengsum: 0.00000
Funksjon: 1, poengsum: 0.00000
Funksjon: 2, poengsum: 51.76768
Funksjon: 3, poengsum: 0.00000
Funksjon: 4, poengsum: 0.00000
Funksjon: 5, poengsum: 0.00000
Funksjon: 6, poengsum: 77.69109
Funksjon: 7, poengsum: 0.00000
Funksjon: 8, poengsum: 41.53725
Funksjon: 9, poengsum: 0.00000
Funksjon: 10, poengsum: 14.19662
Funksjon: 11, poengsum: 80.91086
Funksjon: 12, poengsum: -0.00000
Funksjon: 13, poengsum: -0.00000
Funksjon: 14, poengsum: -0.00000

Konklusjon

Denne artikkelen så gjennom mange konsepter, årsaker og rettsmidler koblet til datasettskifting. Skiftende datafordelinger fra trening til testdata kalles datasettskifting. Ulike trenings- og testforhold kan forskyve samvariasjon mellom de uavhengige variablene. Etter å ha estimert funksjonsviktighet, kan vi bruke funksjoner å slippe for å eliminere datasettskifting.