Association rule learning , eller association rule search, är en regelbaserad metod för inlärningsmaskiner för att upptäcka intresserelationer mellan variabler i en databas . En metod föreslås för att etablera starka regler som finns i en databas med hjälp av några mått på intressanta [1] . Detta regelbaserade tillvägagångssätt genererar också nya regler när mer data analyseras. Det slutliga målet, givet en tillräckligt stor uppsättning data, är att hjälpa maskinen att efterlikna mänskliga egenskapersextraktion och skapa förmågan att hitta abstrakta associationer från nya oklassificerade data [2] .
Baserat på konceptet med strikta regler, lade Rakesh Agrawal, Tomasz Imelinsky och Arun Swami [3] fram associationsregler för att upptäcka mönster mellan produkter i stora transaktioner för data som registreras av POS- system i stormarknader. Till exempel kan regeln {lök, potatis} => { hamburgare } som finns i försäljningsdata från snabbköp innebära att om en kund köper lök och potatis tillsammans, är det mer sannolikt att de köper en hamburgare också. Den här typen av information kan användas som grund för beslut om marknadsföringsåtgärder, till exempel kampanjpriser eller produktplacering .
Utöver exemplet på marknadskorganalys ovan , används nu associationsregler inom många andra områden, inklusive webbbrytning , intrångsdetektering , kontinuerlig och . Till skillnad från sekventiell mönsterdetektering tar inlärning av associationsregel vanligtvis inte hänsyn till ordningen på element inom en transaktion eller över transaktioner.
Transaktions ID | mjölk | bröd | olja | öl | blöjor |
---|---|---|---|---|---|
ett | ett | ett | 0 | 0 | 0 |
2 | 0 | 0 | ett | 0 | 0 |
3 | 0 | 0 | 0 | ett | ett |
fyra | ett | ett | ett | 0 | 0 |
5 | 0 | ett | 0 | 0 | 0 |
Efter den ursprungliga definitionen av Agrawal, Imelinsky och Swami [4] ställs problemet med att hitta föreningsregler som följer:
Låt en uppsättning binära attribut som kallas objekt ges .
Låt en uppsättning transaktioner, som kallas en databas, ges .
Varje transaktion i har ett unikt transaktions-ID (nummer) och består av en delmängd av objekt från .
En regel definieras som en implikation av formuläret:
, var .
I artikeln av Agrawal, Imelinsky, Swami [4] definieras regeln endast mellan en uppsättning och ett enda objekt för .
Varje regel består av två olika uppsättningar av objekt, även känd som objektuppsättningar , och , där kallas den första operanden eller vänster sida , och är den andra operanden eller höger sida .
För att illustrera konceptet, låt oss använda ett litet exempel från stormarknadsområdet. Uppsättningen av objekt I är mjölk, bröd, smör, öl, blöjor, och tabellen ovan visar en liten databas som innehåller objekt, där värdet 1 betyder närvaron av objektet i motsvarande transaktion och värdet 0 betyder frånvaron av objektet i transaktionen.
Ett exempel på en regel för en stormarknad skulle vara {smör, bröd} => {mjölk}, vilket innebär att om man köper smör och bröd kommer kunden också att köpa mjölk.
Obs: Det här exemplet är extremt litet. I praktiska tillämpningar måste en regel vara uppfylld i några hundra tusen transaktioner innan den anses statistiskt signifikant, och databaser innehåller ofta tusentals eller miljoner transaktioner.
För att välja en regel av intresse från uppsättningen av alla möjliga regler används begränsningar av olika mått på betydelse och meningsfullhet. De mest kända begränsningarna är minimigränsen för stöd och tillit.
Låt vara en uppsättning objekt, vara en associationsregel och vara en uppsättning transaktioner för den givna databasen.
Support är ett mått på hur ofta en uppsättning objekt finns i databasen.
Set support against to definieras som förhållandet mellan antalet transaktioner i databasen som innehåller uppsättningen och det totala antalet transaktioner.
I vårt exempel har datamängden X={öl, blöjor} stöd eftersom den finns i 20 % av alla transaktioner (1 av 5 transaktioner). Ett funktionsargument är en uppsättning förutsättningar och blir därför mer restriktiv när det expanderar (i motsats till mer inkluderande) [5] .
Förtroende är ett mått på hur ofta en regel är sann.
Förtroendevärdet för en regel mot en uppsättning transaktioner är förhållandet mellan antalet transaktioner som innehåller både uppsättning och uppsättning och antalet transaktioner som innehåller uppsättning .
Förtroende definieras som:
Till exempel har regeln {smör, bröd} => {mjölk} databasförtroende, vilket innebär att för 100 % av transaktionerna som involverar smör och bröd är regeln sann (i 100 % av fallen när smör och bröd köps, mjölk är också köpt).
Notera vad det innebär att stödja objekt i X och Y. Detta är något förvirrande eftersom vi vanligtvis tänker i termer av sannolikheten för händelser , inte i termer av en uppsättning objekt. Vi kan skriva om som sannolikheten , var och är de händelser som transaktionen innehåller uppsättningar och respektive. [6]
Tillit kan förstås som en uppskattning av den villkorade sannolikheten , sannolikheten att hitta den högra sidan av regeln i transaktioner, givet att transaktionerna innehåller den vänstra sidan av regeln [5] [7] .
Hiss regeln definieras som:
eller förhållandet mellan observerat stöd och det förväntade värdet av händelsen om X och Y var oberoende . Till exempel har regeln {mjölk, bröd} => {smör} en hiss .
Om regeln har en hiss på 1 betyder det att händelsen på vänster sida är oberoende av händelsen på höger sida. Om två händelser är oberoende, kan ingen regel dras från de två händelserna.
Om lyft > 1 låter detta oss veta i vilken utsträckning händelser är relaterade till varandra och gör dessa regler potentiellt användbara för att förutsäga resultatet i framtida datamängder.
Om lyftet < 1 betyder det att föremålen ersätter varandra. Detta innebär att närvaron av ett objekt har en negativ effekt på närvaron av ett andra objekt, och vice versa.
Värdet på lyftet tar hänsyn till både regelns tillförlitlighet och allmänna data [5] .
Säkerheten för en regel definieras som .
Till exempel har regeln {mjölk, bröd} => {smör} säkerhet och kan förstås som förhållandet mellan den förväntade frekvensen som X inträffar utan Y (med andra ord, frekvensen som regeln missförutsäger) om X och Y var oberoende och den observerade felförutsägelsefrekvensen. I det här exemplet indikerar ett konfidensvärde på 1,2 att regeln {mjölk, bröd} => {smör} kommer att vara fel 20 % oftare (1,2 gånger oftare) om sambandet mellan X och Y var en ren slump.
Föreningsregler krävs vanligtvis för att uppfylla ett användardefinierat minimistöd och ett användardefinierat minimiförtroende. Generering av associationsregel är vanligtvis uppdelad i två steg:
Det andra steget är enkelt och tydligt, medan det första steget kräver mer uppmärksamhet.
Att hitta alla frekventa uppsättningar i en databas är svårt eftersom det handlar om att hitta alla möjliga uppsättningar (kombinationer av objekt). Uppsättningen av möjliga uppsättningar är en boolesk över och har en storlek (förutom den tomma uppsättningen , som inte är en giltig uppsättning). Även om storleken på Boolean växer exponentiellt med antalet objekt i , är effektiv sökning möjlig med hjälp av top-down support closure-egenskapen [4] (även kallad antimonotonicitet [8] ), som säkerställer att för en ofta förekommande uppsättning, alla dess delmängder förekommer också ofta och kan därför inte vara sällsynta delmängder av en ofta förekommande uppsättning. Genom att använda denna egenskap kan effektiva algoritmer (t.ex. Apriori [9] och Eclat [10] ) hitta alla ofta förekommande uppsättningar.
Föreningsregelkonceptet blev populärt med en artikel från 1993 av Agrawal, Imelinsky, Swamy [3] , som enligt Google Scholar hade över 18 000 citeringar i augusti 2015, och är en av de mest citerade tidningarna inom området Data Mining ( söka efter mönster i databaser). Det som numera kallas "association rules" introducerades dock redan i en artikel från 1966 [11] om GUHA-systemet, en allmän dataanalysmetod utvecklad av Piotr Gajek et al. [12] .
I början av (ungefär) 1989, för att söka efter minsta stöd och förtroende för att söka efter alla associationsregler, användes Feature Based Modeling-systemet , som hittar alla regler med värden och som är större än användarspecificerade gränser [ 13] .
Förutom förtroende har andra mått av intresse för regler föreslagits. Några populära åtgärder:
Flera andra mått har presenterats och jämförts av Tan, Kumar och Srivasthana [19] samt Hasler [6] . Att hitta tekniker som kan modellera vad användaren vet (och använda det som ett mått på intresse) är för närvarande en aktiv forskningstrend som kallas "Subjective Interest".
En av begränsningarna med standardmetoden för associationsdetektering är att när man söker igenom ett stort antal möjliga associationer efter en uppsättning objekt som kan associeras, finns det en stor risk att hitta ett stort antal slumpmässiga associationer. Det är samlingar av objekt som dyker upp tillsammans med oväntad frekvens i datan, men rent av en slump. Anta till exempel att vi tittar på en uppsättning av 10 000 objekt och letar efter en regel som innehåller två objekt på vänster sida och ett objekt på höger sida. Det finns ungefär 1 000 000 000 000 sådana regler. Om vi tillämpar ett statistiskt oberoendetest med en nivå på 0,05 betyder det att det bara finns 5 % chans att acceptera regeln i frånvaro av en association. Om vi antar att det inte finns några föreningar bör vi ändå räkna med att hitta 50 000 000 000 regler. Statistiskt sund associationsdetektering [20] [21] kontrollerar denna risk, vilket i de flesta fall minskar risken för att hitta någon slumpmässig association för en användarspecificerad signifikansnivå .
Många algoritmer har föreslagits för att generera associationsregler.
Ett fåtal algoritmer är välkända, Apriori , Eclat och FP-Growth, men de gör bara halva jobbet eftersom de är designade för att hitta ofta förekommande uppsättningar av objekt. Ytterligare ett steg måste tas efter att de ofta förekommande uppsättningarna har hittats i databasen.
Apriori-algoritmen [9] använder en bredd-först sökstrategi för att räkna objekt och använder en kandidatgenereringsfunktion som är baserad på stängningsegenskapen för stöd uppifrån och ned.
Eclat [10] -algoritmen (eller ECLAT, från Equivalence Class Transformation ) är en djup-först-sökalgoritm baserad på uppsatt skärningspunkt. Algoritmen är lämplig för både seriell och parallell exekvering med lokala förbättringsegenskaper [22] [23] .
FP-algoritmen är utformad för att identifiera ofta förekommande mönster [24] .
I det första passet räknar algoritmen förekomsten av objekt (attribut-värdepar) i uppsättningarna och lagrar dem i "huvudtabellen". Vid det andra passet bygger algoritmen FP-trädstrukturen genom att infoga instanser. Objekten i varje instans måste ordnas i fallande ordning efter deras förekomstfrekvens i uppsättningen, så att trädet kan bearbetas snabbt. Objekt i varje instans som inte når minimigränsen kasseras. Om många instanser delar de objekt som oftast stöts på, ger ett FP-träd hög komprimering nära trädets rot.
Den rekursiva bearbetningen av denna version av huvuduppsättningens LOB-tillväxtkompression tilldelas direkt, snarare än att generera kandidater och sedan kontrollera mot hela basen. Tillväxten börjar från botten av rubriktabellen genom att hitta alla instanser som matchar de givna villkoren. Ett nytt träd skapas med antal härledda från det ursprungliga trädet och som motsvarar en uppsättning instanser som beror på attributet, och varje nod får summan av antalet underordnade. Den rekursiva tillväxten avbryts när det inte finns några objekt kvar som uppfyller minimistödtröskeln, och arbetet fortsätter med de återstående delarna av rubrikerna i det ursprungliga FP-trädet.
När den rekursiva processen är avslutad hittas alla stora uppsättningar av objekt med minsta täckning och skapandet av associationsregeln börjar [25] .
AprioriDP [26] använder dynamisk programmering i analysen av ofta förekommande uppsättningar av objekt. Funktionsprincipen är eliminering av kandidatgenerering som i ett FP-träd, men algoritmen kommer ihåg stödräknare inte i ett träd, utan i en specifik struktur.
Kontextbaserad associationsregelsökningsalgoritmCBPNARM är en algoritm som utvecklades 2013 för att upptäcka associerade regler baserat på sammanhang. Algoritmen använder en kontextvariabel, baserad på vilken objektuppsättningens stödvärde ändras och, baserat på denna regel, överförs till regeluppsättningen.
Algoritmer baserade på en uppsättning noderFIN [27] , PrePost [28] och PPV [29] är tre algoritmer baserade på noduppsättningar. De använder noderna i FP-trädets kodning för att representera uppsättningar av objekt och stöder en sökstrategi för djupet först för att upptäcka ofta förekommande uppsättningar av objekt genom att "korsa" noduppsättningarna.
ASSOC-proceduren för GUHA-metodenGUHA är en generell dataanalysteknik som har teoretiska grunder [30] .
ASSOC-proceduren [31] är en GUHA-metod som söker efter allmänna associationsregler med hjälp av snabba bitsträngsoperationer . Associationsreglerna som avslöjas med denna metod är mer generella än de som erhålls med Apriori-metoden, till exempel kan "objekt" kopplas samman med både konjunktion och disjunktion, och förhållandet mellan den vänstra sidan och den högra sidan av regeln är inte begränsad att sätta minimivärdena för stöd och förtroende som i Apriori-metoden. — en godtycklig kombination av mått av intresse kan användas.
Sök OPUSOPUS är en effektiv algoritm för regelupptäckt som, till skillnad från många alternativ, varken kräver monotonicitet eller antimonotonicitetsbegränsningar, såsom i stödminimum [32] . OPUS sök är kärntekniken i den populära Magnum Opus föreningssökmotor.
Det finns en berömd historia om upptäckten av föreningsregler, det här är historien om "öl och blöjor". Uppenbarligen har någon genomgång av shoppingbeteendet i en stormarknad visat att shoppare (förmodligen unga) som köper blöjor ofta också köper öl. Den här novellen har blivit populär som ett exempel på hur oväntade associationsregler kan hittas i vardagsdata. Det finns många åsikter om hur sann berättelsen är [33] . Daniel Powers sa: [33]
1992 förberedde Thomas Blishock, chef för detaljhandelskonsultgruppen på Teradata Corporation , en analys av 1,2 miljoner "marknadskorgar" (dvs inköp gjorda av en enskild kund) från cirka 25 Osco-apotek. Databasfrågor har utvecklats för att upptäcka egenskaperna hos korgar. Analysen "visade att i intervallet från 17:00 till 19:00 köper köpare öl och blöjor." Oscos apotekschefer använde INTE att placera produkter närmare varandra på hyllorna för att få öl och blöjbindning.
Multi-Relation Association Rules ( MRAR ) är associationsregler där varje objekt kan ha flera länkar . Dessa relationer visar indirekta relationer mellan enheter. Tänk på följande multiassociationsregel, där den första termen består av tre relationer bor i , nära och våt : "Två som bor på en plats som ligger nära en stad med fuktigt klimat och är under 20 år => deras hälsa är bra." Sådana associationsregler kan härledas från RDBMS-data eller semantiska internetdata [34] .
Kontextbaserade föreningsregler är ett slags föreningsregler. Det påstås att dessa regler är mer exakta i analysen av associationsregler och fungerar genom att överväga en latent variabel, kallad kontextvariabeln, som ändrar den slutliga uppsättningen av associationsregler beroende på kontextvariablernas värden. Till exempel speglar varukorgens orientering i marknadskorganalys udda resultat tidigt på månaden. Detta kan bero på sammanhang, som till exempel löner i början av månaden [35] .
Contrast set ären typ av associativ inlärning. Kontrastinlärninganvänder regler som skiljer sig markant i deras fördelning över delmängder [36] [37] .
Viktad klassinlärning är en annan typ av associativ inlärning där vikter kan tilldelas klasser för att fokusera på specifika frågor av betydelse för datautvinningsresultat.
High- order mönsterupptäckt underlättar extraktion av högordningsmönster eller associationshändelser som är inneboende i komplexa verkliga data [ 38] .
K-optimal mönsterdetektering tillhandahåller ett alternativ till standardinlärningsmetoden för associationsregel där varje mönster måste förekomma ofta i data.
Approximate Frequent Itemset mining är en svagare version av Frequent Itemset mining som låter några av objekten i vissa rader vara lika med 0 [39] .
Generalized Association Riles - hierarkisk klassificering
Kvantitativa associationsregler - kategoriska och kvantitativa data [ 40] [41] .
Intervalldataassociationsregler - innehåller data uppdelade i intervall, till exempel ålder med ett intervall på 5 år .
Sequence pattern mining hittar delsekvenser som ärminsup- sekvenser i databasen, där minsup-värdet ställs in av användaren. En sekvens är en ordnad lista över transaktioner [42] .
Subspace Clustering , en specifik typ av högdimensionell dataklustring, är i många fall också baserad på top-down closure-egenskapen för specifika klustermodeller [43] .
Warmr levereras som en del av ACE-dataanalyssviten. Systemet tillåter inlärningsregler för relationsregler av första ordningen [44] .
Deng ZH, Wang Z. En ny snabb vertikal metod för att bryta frekventa mönster // International Journal of Computational Intelligence Systems. - 2010. - Vol. 3 , nummer. 6 .
Maskininlärning och datautvinning | |
---|---|
Uppgifter | |
Att lära sig med en lärare | |
klusteranalys | |
Dimensionalitetsreduktion | |
Strukturell prognos | |
Anomali upptäckt | |
Grafisk probabilistiska modeller | |
Neurala nätverk | |
Förstärkningsinlärning |
|
Teori | |
Tidskrifter och konferenser |
|