Naiv Bayes klassifikator

Fra Wikipedia, den frie encyklopædi
Gå til: navigation, søg

En naiv Bayes klassifikator er en klassifikator baseret på Bayes' teorem, der anvender den naive antagelse, at alle parametre er uafhængige. I modsætning til Bayes' teorem beregner man som regel ikke normalisatoren ved klassificering, da denne vil være konstant for alle de forskellige klasser, og vil derfor bare kræve ekstra beregningstid, uden det har betydning for resultatet.

Sandsynlighed ved numeriske værdier[redigér | redigér wikikode]

Givet et dataset med en parameter, der kun kan antage numeriske værdier (Ventetid i minutter, eksempelvis), beregnes sandsynligheden ved at benytte normalfordelingen med standardafvigelsen i stedet for variansen. [1]

Eksempel på brug[redigér | redigér wikikode]

Dataprøve[redigér | redigér wikikode]

Antag, at vi skal klassificere, om en dataprøve er mand, hund eller varulv.

Givet er datasættet: [2]

Art Højde Kan lide at hyle Kropsbehåring (I procent af dækket overflade)
Menneske 150 Ja 5
Menneske 190 Nej 12
Menneske 165 Nej 6
Menneske 160 Nej 2
Hund 90 Nej 97
Hund 110 Ja 93
Hund 70 Nej 85
Varulv 170 Ja 75
Varulv 150 Ja 85

Tabel[redigér | redigér wikikode]

Fra disse data kan afvigelsen og gennemsnittet for hvert parameter for hver klasse kan nedenstående tabel opstilles:

Klasse Gennemsnit (Højde) Standardafvigelse (Højde) Gennemsnit (Behåring) Standardafvigelse (Behåring)
Menneske 166,25 14,7373 6,25 3,6315
Hund 90 16,3299 91,6667 4,9989
Varulv 160 10 80 5

Klassificering[redigér | redigér wikikode]

Følgende dataprøve skal nu prøves klassificeret:

Højde Kan lide at hyle Behåring
140 Nej 70

Konklusion[redigér | redigér wikikode]

Sandsynligheden for, det er et menneske er da givet ved:

p(Klasse = Menneske) = p(Menneske) * p(Hojde \vert Menneske) * p(Kan lide at hyle \vert Menneske) * p(Behaaring \vert Menneske)

De forskellige værdier beregnes. Da træningssættet indeholder 4 prøver af menneske-klassen ud af 9 prøver i alt, giver det:

p(Menneske) = 4/9

Da et af fire mennesker kan lide at hyle fås:

p(Kan lide at hyle \vert Menneske) = 1/4

De numeriske værdier giver:

p(Hojde \vert Menneske) =\tfrac{1}{\sqrt{2*\pi*14.7373}}\,e^{ -\frac{(140-166.25)^2}{2*14.7373} } = 7.3059*10^{-12}
p(Behaaring \vert Menneske) =\tfrac{1}{\sqrt{2*\pi*3.6315}}\,e^{ -\frac{(70-6.25)^2}{2*3.6315} } = 2.0214*10^{-244}

Hermed fås:

p(Klasse = Menneske) = p(Menneske) * p(Hojde \vert Menneske) * p(Kan lide at hyle \vert Menneske) * p(Behaaring \vert Menneske) = 1.6409*10^{-256}

For henholdsvis hund og varulv fås:

p(Klasse = Hund) = p(Hund) * p(Hojde \vert Hund) * p(Kan lide at hyle \vert Hund) * p(Behaaring \vert Hund) = 1.902*10^{-44}
p(Klasse = Varulv) = p(Varulv) * p(Hojde \vert Varulv) * p(Kan lide at hyle \vert Varulv) * p(Behaaring \vert Varulv) = 4.6805*10^{-16}

Resultat[redigér | redigér wikikode]

Da værdien for varulv er højest, vil prøven blive klassificeret som en varulv.

Referencer[redigér | redigér wikikode]