Download presentation
Presentation is loading. Please wait.
2
1 Bayesian Classification Instructor: Qiang Yang Hong Kong University of Science and Technology Qyang@cs.ust.hk Thanks: Dan Weld, Eibe Frank
3
2 Goal: Mining Probability Models Probability Basics Our state s in world W, is distributed according to probability distribution 0 <= Pr(s) <= 1 for all s S Pr(s) = 1 For subsets S1 and S2, Pr(S1 S2) = Pr(s1) + Pr(s2) - Pr(s1 S2) Bayes Rule:
4
3 Weather data set OutlookTemperatureHumidityWindyPlay sunnyhothighFALSEno sunnyhothighTRUEno overcasthothighFALSEyes rainymildhighFALSEyes rainycoolnormalFALSEyes rainycoolnormalTRUEno overcastcoolnormalTRUEyes sunnymildhighFALSEno sunnycoolnormalFALSEyes rainymildnormalFALSEyes sunnymildnormalTRUEyes overcastmildhighTRUEyes overcasthotnormalFALSEyes rainymildhighTRUEno
5
4 Basics Unconditional or Prior Probability Pr(Play=yes) + Pr(Play=no)=1 Pr(Play=yes) is sometimes written as Pr(Play) Table has 9 yes, 5 no Pr(Play=yes)=9/(9+5)=9/14 Thus, Pr(Play=no)=5/14 Joint Probability of Play and Windy: Pr(Play=x,Windy=y) for all values x and y, should be 1 Play=yes Play=no Windy=TrueWindy=False 3/14 ? 6/14
6
5 Probability Basics Conditional Probability Pr(A|B) # (Windy=False)=8 Within the 8, #(Play=yes)=6 Pr(Play=yes | Windy=False) =6/8 Pr(Windy=False)=8/14 Pr(Play=Yes)=9/14 Applying Bayes Rule Pr(B|A) = Pr(A|B)Pr(B) / Pr(A) Pr(Windy=False|Play=yes)= 6/8*8/14/(9/14)=6/9 WindyPlay *FALSEno TRUEno *FALSE*yes *FALSE*yes *FALSE*yes TRUEno TRUEyes *FALSEno *FALSE*yes *FALSE*yes TRUEyes TRUEyes *FALSE*yes TRUEno
7
6 Pr(A|C) = 0.032+0.008/ (0.048+0.012+0.032+0.008) = 0.04 / 0.1 = 0.4 Suppose C=True Pr(A|P,C) = 0.032/(0.032+0.048) = 0.032/0.080 = 0.4 Conditional Independence “ A and P are independent given C ” Pr(A | P,C) = Pr(A | C) and also Pr(P | A,C) = Pr(P | C) C A P Probability F F F 0.534 F F T 0.356 F T F 0.006 F T T 0.004 T F F 0.012 T F T 0.048 T T F 0.008 T T T 0.032
8
7 Naïve Bayesian Models Two assumptions: Attributes are equally important statistically independent (given the class value) This means that knowledge about the value of a particular attribute doesn’t tell us anything about the value of another attribute (if the class is known) Although based on assumptions that are almost never correct, this scheme works well in practice!
9
8 Why Naïve? Assume the attributes are independent, given class What does that mean? play outlooktemphumiditywindy Pr(outlook=sunny | windy=true, play=yes)= Pr(outlook=sunny|play=yes)
10
9 Weather data set OutlookWindyPlay overcastFALSEyes rainyFALSEyes rainyFALSEyes overcastTRUEyes sunnyFALSEyes rainyFALSEyes sunnyTRUEyes overcastTRUEyes overcastFALSEyes
11
10 Is the assumption satisfied? #yes=9 #sunny=2 #windy, yes=3 #sunny|windy, yes=1 Pr(outlook=sunny|windy=true, play=yes)=1/3 Pr(outlook=sunny|play=yes)=2/9 Pr(windy|outlook=sunny,play=yes)=1/2 Pr(windy|play=yes)=3/9 Thus, the assumption is NOT satisfied. But, we can tolerate some errors (see later slides) OutlookWindyPlay overcastFALSEyes rainyFALSEyes rainyFALSEyes overcastTRUEyes sunnyFALSEyes rainyFALSEyes sunnyTRUEyes overcastTRUEyes overcastFALSEyes
12
11 Probabilities for the weather data OutlookTemperatureHumidityWindyPlay YesNoYesNoYesNoYesNoYesNo Sunny23Hot22High34False6295 Overcast40Mild42Normal61True33 Rainy32Cool31 Sunny2/93/5Hot2/92/5High3/94/5False6/92/59/145/14 Overcast4/90/5Mild4/92/5Normal6/91/5True3/93/5 Rainy3/92/5Cool3/91/5 OutlookTemp.HumidityWindyPlay SunnyCoolHighTrue? A new day:
13
12 Likelihood of the two classes For “yes” = 2/9 3/9 3/9 3/9 9/14 = 0.0053 For “no” = 3/5 1/5 4/5 3/5 5/14 = 0.0206 Conversion into a probability by normalization: P(“yes”|E) = 0.0053 / (0.0053 + 0.0206) = 0.205 P(“no”|Eh) = 0.0206 / (0.0053 + 0.0206) = 0.795
14
13 Bayes’ rule Probability of event H given evidence E: A priori probability of H: Probability of event before evidence has been seen A posteriori probability of H: Probability of event after evidence has been seen
15
14 Naïve Bayes for classification Classification learning: what’s the probability of the class given an instance? Evidence E = an instance Event H = class value for instance (Play=yes, Play=no) Naïve Bayes Assumption: evidence can be split into independent parts (i.e. attributes of instance are independent)
16
15 The weather data example OutlookTemp.HumidityWindyPlay SunnyCoolHighTrue? Evidence E Probability for class “yes”
17
16 The “zero-frequency problem” What if an attribute value doesn’t occur with every class value (e.g. “Humidity = high” for class “yes”)? Probability will be zero! A posteriori probability will also be zero! (No matter how likely the other values are!) Remedy: add 1 to the count for every attribute value- class combination (Laplace estimator) Result: probabilities will never be zero! (also: stabilizes probability estimates)
18
17 Modified probability estimates In some cases adding a constant different from 1 might be more appropriate Example: attribute outlook for class yes Weights don’t need to be equal (if they sum to 1) SunnyOvercastRainy
19
18 Missing values Training: instance is not included in frequency count for attribute value-class combination Classification: attribute will be omitted from calculation Example: OutlookTemp.HumidityWindyPlay ?CoolHighTrue? Likelihood of “yes” = 3/9 3/9 3/9 9/14 = 0.0238 Likelihood of “no” = 1/5 4/5 3/5 5/14 = 0.0343 P(“yes”) = 0.0238 / (0.0238 + 0.0343) = 41% P(“no”) = 0.0343 / (0.0238 + 0.0343) = 59%
20
19 Dealing with numeric attributes Usual assumption: attributes have a normal or Gaussian probability distribution (given the class) The probability density function for the normal distribution is defined by two parameters: The sample mean : The standard deviation : The density function f(x):
21
20 Statistics for the weather data Example density value: OutlookTemperatureHumidityWindyPlay YesNoYesNoYesNoYesNoYesNo Sunny2383858685False6295 Overcast4070809690True33 Rainy3268658070 ………… Sunny2/93/5mean7374.6mean79.186.2False6/92/59/145/14 Overcast4/90/5std dev6.27.9std dev10.29.7True3/93/5 Rainy3/92/5
22
21 Classifying a new day A new day: Missing values during training: not included in calculation of mean and standard deviation OutlookTemp.HumidityWindyPlay Sunny6690true? Likelihood of “yes” = 2/9 0.0340 0.0221 3/9 9/14 = 0.000036 Likelihood of “no” = 3/5 0.0291 0.0380 3/5 5/14 = 0.000136 P(“yes”) = 0.000036 / (0.000036 + 0. 000136) = 20.9% P(“no”) = 0. 000136 / (0.000036 + 0. 000136) = 79.1%
23
22 Probability densities Relationship between probability and density: But: this doesn’t change calculation of a posteriori probabilities because cancels out Exact relationship:
24
23 Discussion of Naïve Bayes Naïve Bayes works surprisingly well (even if independence assumption is clearly violated) Why? Because classification doesn’t require accurate probability estimates as long as maximum probability is assigned to correct class However: adding too many redundant attributes will cause problems (e.g. identical attributes) Note also: many numeric attributes are not normally distributed
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.