Bayes teorem finner många användningsområden i sannolikhetsteorin och statistiken. Det finns en mikro chans att du aldrig har hört talas om detta teorem i ditt liv. Visar sig att denna sats har hittat sin väg in i en värld av maskininlärning, för att bilda en av de högt dekorerade algoritmer. I den här artikeln kommer vi att lära oss allt om naiva Bayes-algoritmen, tillsammans med dess variationer för olika ändamål i maskininlärning.
som du kanske gissat kräver detta att vi ser saker ur en probabilistisk synvinkel., Precis som i maskininlärning har vi attribut, svarvariabler och förutsägelser eller klassificeringar. Med hjälp av denna algoritm kommer vi att hantera sannolikhetsfördelningen av variablerna i datauppsättningen och förutsäga sannolikheten för svarsvariabeln som tillhör ett visst värde, med tanke på attributen för en ny instans. Låt oss börja med att granska Bayes teorem.
Bayes’ sats
detta gör det möjligt för oss att undersöka sannolikheten för en händelse baserat på förkunskap om alla händelser som relaterade till den tidigare händelsen., Så till exempel, sannolikheten att priset på ett hus är hög, kan bättre bedömas om vi känner till anläggningarna runt det, jämfört med den bedömning som gjorts utan kunskap om platsen för huset. Bayes teorem gör exakt det.
ovanstående ekvation ger den grundläggande representationen av Bayes teorem., Här är A och B två händelser och,
P(A|B) : den villkorliga sannolikheten att Händelse a inträffar , med tanke på att B har inträffat. Detta är också känt som den bakre sannolikheten.
p(a) och P(b) : Sannolikhet för A och B utan hänsyn till varandra.
P(B|A) : den villkorliga sannolikheten att Händelse B inträffar , med tanke på att A har inträffat.
nu ska vi se hur det passar bra för syftet med maskininlärning.,
ta ett enkelt maskininlärningsproblem, där vi behöver lära oss vår modell från en viss uppsättning attribut(i träningsexempel) och sedan bilda en hypotes eller en relation till en svarsvariabel. Då använder vi denna relation för att förutsäga ett svar, givna attribut för en ny instans. Med hjälp av Bayes teorem är det möjligt att bygga en elev som förutsäger sannolikheten för svarvariabeln som tillhör någon klass, med tanke på en ny uppsättning attribut.
överväga den tidigare ekvationen igen. Anta nu att A är svarsvariabeln och B är inmatningsattributet., Så enligt ekvationen har vi
P(a|b) : villkorlig sannolikhet för svarsvariabel som tillhör ett visst värde, med tanke på inmatningsattributen. Detta är också känt som den bakre sannolikheten.
P(A) : den tidigare sannolikheten för svarsvariabeln.
P(b) : sannolikheten för träningsdata eller bevis.
P(B|A) : Detta kallas sannolikheten för träningsdata.,
därför kan ovanstående ekvation skrivas om som
låt oss ta ett problem, där antalet attribut är lika med n och svaret är ett booleskt värde, dvs det kan vara i en av de två klasserna. Attributen är också kategoriska (2 kategorier för vårt fall). Nu, för att träna klassificeraren, måste vi beräkna P (B|A), för alla värden i instansen och svarsytan., Det betyder att vi måste beräkna 2 * (2^n -1), parametrar för att lära sig denna modell. Detta är helt klart orealistiskt i de flesta praktiska inlärningsområden. Till exempel, om det finns 30 booleska attribut, måste vi uppskatta mer än 3 miljarder parametrar.
naiv Bayes algoritm
komplexiteten i ovanstående Bayesian klassificerare måste minskas, för att det ska vara praktiskt. Den naiva Bayes algoritmen gör det genom att göra ett antagande om villkorligt oberoende över träningsdataset. Detta minskar drastiskt komplexiteten hos ovan nämnda problem till bara 2n.,
antagandet om villkorligt oberoende anger att, med tanke på slumpmässiga variabler X, Y och Z, säger Vi X är villkorligt oberoende av Y givet Z, om och endast om sannolikhetsfördelningen som styr X är oberoende av värdet av Y givet Z.
med andra ord, X och Y är villkorligt oberoende given Z om och endast om, med tanke på att Z uppstår, kunskap om huruvida X inträffar ger ingen information om sannolikheten för att Y inträffar, och kunskap om huruvida Y inträffar ger ingen information om sannolikheten för att X inträffar.,
detta antagande gör Bayes-algoritmen naiv.
givet, n olika attributvärden, sannolikheten nu kan skrivas som