Data Drift vs Concept Drift: Vad är skillnaden?

Data Drift vs Concept Drift: Vad är skillnaden?

Källnod: 1936845

Modelldrift hänvisar till det fenomen som uppstår när prestandan hos en maskininlärningsmodell försämras med tiden. Detta händer av olika anledningar, inklusive förändringar av datadistribution, förändringar i målen eller målen för modellen eller förändringar i miljön där modellen fungerar. Det finns två huvudsakliga typer av modelldrift som kan uppstå: datadrift och konceptdrift.

Datadrift avser den förändrade fördelningen av de data som modellen tillämpas på. Begreppsdrift hänvisar till ett förändrat underliggande mål eller mål för modellen. Både datadrift och konceptdrift kan leda till en nedgång i prestanda för en maskininlärning modell.

Modelldrift kan vara ett betydande problem för maskininlärningssystem som används i verkliga miljöer, eftersom det kan leda till felaktiga eller opålitliga förutsägelser eller beslut. För att komma till rätta med modelldrift är det viktigt att ständigt övervaka prestanda för maskininlärningsmodeller över tid och vidta åtgärder för att förhindra eller mildra den, som att träna om modellen på ny data eller justera modellens parametrar. Dessa övervaknings- och justeringssystem måste vara en integrerad del av en programvarudistributionssystem för ML-modeller.

Concept Drift vs Data Drift: Vad är skillnaden?

Datadrift

Datadrift, eller kovariatskifte, hänvisar till fenomenet där fördelningen av datainmatningar som en ML-modell utbildades på skiljer sig från fördelningen av de dataingångar som modellen tillämpas på. Detta kan resultera i att modellen blir mindre exakt eller effektiv när det gäller att göra förutsägelser eller beslut.

En matematisk representation av datadrift kan uttryckas på följande sätt:

P(x|y) ≠ P(x|y')

Där P(x|y) hänvisar till indatas sannolikhetsfördelning (x) givet utdata (y), och P(x|y') är sannolikhetsfördelningen av indata givet utdata för den nya datan till vilken modellen tillämpas (y').

Anta till exempel att en ML-modell tränades på en datauppsättning av kunddata från en viss butik, och modellen användes för att förutsäga om en kund skulle göra ett köp baserat på deras ålder, inkomst och plats. 

Om ingångsdatas fördelning (ålder, inkomst och plats) för de nya data som matas till modellen skiljer sig markant från fördelningen av indata i träningsdataset, kan detta leda till datadrift och resultera i att modellen blir mindre exakt.

Att övervinna datadrift

Ett sätt att övervinna datadrift är att använda tekniker som viktning eller sampling för att justera för skillnaderna i datafördelningarna. Du kan till exempel vikta exemplen i träningsdatauppsättningen för att bättre matcha distributionen av indata för de nya data som modellen kommer att tillämpas på. 

Alternativt kan du ta prov från de nya data och träningsdata för att skapa en balanserad datauppsättning för att träna modellen. Ett annat tillvägagångssätt är att använda domänanpassningstekniker, som syftar till att anpassa modellen till den nya datadistributionen genom att lära sig en mappning mellan källdomänen (utbildningsdatan) och måldomänen (den nya datan). Ett sätt att uppnå detta är att använda generering av syntetisk data algoritmer.

Konceptdrift

Begreppsdrift uppstår när det sker en förändring i det funktionella förhållandet mellan en modells in- och utdata. Modellen fortsätter att fungera likadant trots det förändrade sammanhanget, omedveten om förändringarna. Således är mönstren den har lärt sig under träningen inte längre korrekta.

Begreppsdrift kallas också ibland för klassdrift eller posterior sannolikhetsförskjutning. Detta beror på att det hänvisar till förändringarna i sannolikheter mellan olika situationer:

Pt1 (Y|X) ≠ Pt2 (Y|X)

Denna typ av drift orsakas av externa processer eller händelser. Till exempel kan du ha en modell som förutsäger levnadskostnaderna baserat på geografisk plats, med olika regioner som input. Utvecklingsnivån för varje region kan dock öka eller minska, vilket förändrar levnadskostnaderna i den verkliga världen. Därmed förlorar modellen förmågan att göra korrekta förutsägelser. 

Den ursprungliga betydelsen av "konceptdrift" är en förändring i hur vi förstår specifika etiketter. Ett exempel är vad vi kallar "spam" i e-postmeddelanden. Mönster som frekventa massmejl ansågs en gång i tiden som tecken på skräppost, men det är inte alltid fallet idag. Skräppostdetektorer som fortfarande använder dessa föråldrade attribut kommer att vara mindre effektiva när de identifierar skräppost eftersom de har konceptdrift och kräver omutbildning.

Här är fler exempel på konceptdrift:

  • Effekten av ändringar i skattelagstiftningen på en modell som förutsäger skatteefterlevnad
  • Effekten av utvecklande kundbeteende på en modell som förutsäger produktförsäljning
  • Effekten av en finanskris på förutsägelser om ett företags vinster

Concept Drift vs Data Drift

Med datadrift ändras inte beslutsgränsen; endast sannolikhetsfördelningen för ingångarna ändras – P(x). Med konceptdrift ändras beslutsgränsen, med både ingångs- och utgångsfördelningen ändras – P(x) och P(y). 

En annan viktig skillnad är att datadrift främst är resultatet av interna faktorer, såsom datainsamling, bearbetning och utbildning. Begreppsdrift beror vanligtvis på yttre faktorer, såsom situationen i den verkliga världen.

Strategier för att upptäcka och övervinna data och konceptdrift

Det finns flera strategier som kan hjälpa till att upptäcka och övervinna modelldrift i ett maskininlärningssystem:

  • Prestandaövervakning: Att regelbundet utvärdera ML-modellens prestanda på en datauppsättning eller i produktion kan hjälpa till att identifiera eventuella försämringar i noggrannhet eller andra mätvärden som kan indikera modelldrift.
  • Algoritmer för detektering av data och konceptdrift: Det finns algoritmer speciellt utformade för att upptäcka datadrift, såsom Page-Hinkley-testet eller Kolmogorov-Smirnov-testet, såväl som algoritmer som upptäcker konceptdrift, såsom ADWIN-algoritmen. Dessa algoritmer kan automatiskt identifiera förändringar i indata eller uppgift som kan indikera modelldrift.
  • Förebyggande tekniker för data- och konceptavdrift: Dessa tekniker kan hjälpa till att förhindra data- eller konceptdrift från att inträffa i första hand. Till exempel kan användning av dataförstärkning eller syntetisk datagenerering bidra till att säkerställa att en ML-modell exponeras för ett brett, representativt utbud av data, vilket kan göra den mer motståndskraftig mot förändringar i datadistributionen. På liknande sätt kan användning av överföringsinlärning eller multitask-inlärning hjälpa modellen att anpassa sig till en föränderlig uppgift eller mål.
  • Omskolning och finjustering: Om modellavvikelse upptäcks kan omträning eller finjustering av modellen på nya data hjälpa till att övervinna det. Detta kan göras med jämna mellanrum, eller som svar på betydande förändringar i data eller uppgift.

Genom att regelbundet övervaka modelldrift och vidta proaktiva åtgärder för att förhindra eller mildra den, är det möjligt att bibehålla noggrannheten och tillförlitligheten hos maskininlärningsmodeller över tid.

Slutsats

Sammanfattningsvis är datadrift och modelldrift två viktiga fenomen som kan påverka prestandan hos modeller för maskininlärning (ML). 

Datadrift, även känd som kovariatskifte, uppstår när fördelningen av indata som en ML-modell tränades på skiljer sig från fördelningen av indata som modellen tillämpas på. Modelldrift, även känd som konceptdrift, uppstår när de statistiska egenskaperna hos data som en ML-modell tränades på förändras över tiden. 

Både datadrift och modelldrift kan leda till att modellen blir mindre exakt eller effektiv när det gäller att göra förutsägelser eller beslut, och det är viktigt att förstå och ta itu med dessa fenomen för att bibehålla prestandan hos en ML-modell över tid. 

Det finns olika tekniker som kan användas för att övervinna datadrift och modelldrift, inklusive omskolning av modellen på uppdaterad data, användning av onlineinlärning eller adaptiv inlärning och övervakning av modellens prestanda över tid.

Tidsstämpel:

Mer från DATAVERSITET