Presentation on theme: "Lirong Xia Naïve Bayes Classifiers Friday, April 8, 2014."— Presentation transcript:
Lirong Xia Naïve Bayes Classifiers Friday, April 8, 2014
Project 3 average: Project 4 due on 4/18 1 Projects
HMMs for Speech 2
Transitions with Bigrams 3
Decoding 4 Finding the words given the acoustics is an HMM inference problem We want to know which state sequence x 1:T is most likely given the evidence e 1:T : From the sequence x, we can simply read off the words
Parameter Estimation 5 Estimating the distribution of a random variable Elicitation: ask a human (why is this hard?) Empirically: use training data (learning!) –E.g.: for each outcome x, look at the empirical rate of that value: –This is the estimate that maximizes the likelihood of the data
Example: Spam Filter 6 Input: Output: spam/ham Setup: –Get a large collection of example s, each labeled spam or ham –Note: someone has to hand label all this data! –Want to learn to predict labels of new, future s Features: the attributes used to make the ham / spam decision –Words: FREE! –Text patterns: $dd, CAPS –Non-text: senderInContacts –……
Example: Digit Recognition 7 Input: images / pixel grids Output: a digit 0-9 Setup: –Get a large collection of example images, each labeled with a digit –Note: someone has to hand label all this data! –Want to learn to predict labels of new, future digit images Features: the attributes used to make the digit decision –Pixels: (6,8) = ON –Shape patterns: NumComponents, AspectRation, NumLoops –……
A Digit Recognizer 8 Input: pixel grids Output: a digit 0-9
Important Concepts 10 Data: labeled instances, e.g. s marked spam/ham –Training set –Held out set (we will give examples today) –Test set Features: attribute-value pairs that characterize each x Experimentation cycle –Learn parameters (e.g. model probabilities) on training set –(Tune hyperparameters on held-out set) –Compute accuracy of test set –Very important: never peek at the test set! Evaluation –Accuracy: fraction of instances predicted correctly Overfitting and generalization –Want a classifier which does well on test data –Overfitting: fitting the training data very closely, but not generalizing well
General Naive Bayes 11 A general naive Bayes model: We only specify how each feature depends on the class Total number of parameters is linear in n
General Naive Bayes 12 What do we need in order to use naive Bayes? –Inference (you know this part) Start with a bunch of conditionals, p(Y) and the p(F i |Y) tables Use standard inference to compute p(Y|F 1 …F n ) Nothing new here –Learning: Estimates of local conditional probability tables p(Y), the prior over labels p(F i |Y) for each feature (evidence variable) These probabilities are collectively called the parameters of the model and denoted by θ
Inference for Naive Bayes 13 Goal: compute posterior over causes –Step 1: get joint probability of causes and evidence –Step 2: get probability of evidence –Step 3: renormalize
Naive Bayes for Digits 14 Simple version: –One feature F ij for each grid position –Possible feature values are on / off, based on whether intensity is more or less than 0.5 in underlying image –Each input maps to a feature vector, e.g. –Here: lots of features, each is binary valued Naive Bayes model:
p(Y=y) –approximated by the frequency of each Y in training data p(F|Y=y) –approximated by the frequency of (y,F) 15 Learning in NB (Without smoothing)
Example: Spam Filter 17 Naive Bayes spam filter Data: –Collection of s labeled spam or ham –Note: some one has to hand label all this data! –Split into training, held-out, test sets Classifiers –Learn on the training set –(Tune it on a held-out set) –Test it on new s
Naive Bayes for Text 18 Bag-of-Words Naive Bayes: –Features: W i is the word at position i –Predict unknown class label (spam vs. ham) –Each W i is identically distributed Generative model: Tied distributions and bag-of-words –Usually, each variable gets its own conditional probability distribution p(F|Y) –In a bag-of-words model Each position is identically distributed All positions share the same conditional probs p(W|C) Why make this assumption Word at position i, not i th word in the dictionary!
Example: Spam Filtering 19 Model: What are the parameters? Where do these tables come from? ham0.66 spam0.33 the to and of you a with from … the to of with from and a …
Wordp(w|spam)p(w|ham)Σ log p(w|spam)Σ log p(w|ham) (prior) Gary would you like to lose weight while you sleep Spam example
Problem with this approach 21 2 wins!! p(feature, C=2) p(C=2)=0.1 p(on|C=2)=0.8 p(on|C=2)=0.1 p(on|C=2)=0.01 p(feature, C=3) p(C=3)=0.1 p(on|C=3)=0.8 p(on|C=3)=0.9 p(on|C=3)=0.7 p(on|C=3)=0.0
Another example 22 Posteriors determined by relative probabilities (odds ratios): south-westinf nationinf morallyinf nicelyinf extentinf seriouslyinf … screensinf minuteinf guaranteedinf $205.00inf deliveryinf signatureinf … What went wrong here?
Generalization and Overfitting 23 Relative frequency parameters will overfit the training data! –Just because we never saw a 3 with pixel (15,15) on during training doesnt mean we wont see it at test time –Unlikely that every occurrence of minute is 100% spam –Unlikely that every occurrence of seriously is 100% spam –What about all the words that dont occur in the training set at all? –In general, we cant go around giving unseen events zero probability As an extreme case, imagine using the entire as the only feature –Would get the training data perfect (if deterministic labeling) –Wouldnt generalize at all –Just making the bag-of-words assumption gives us some generalization, but isnt enough To generalize better: we need to smooth or regularize the estimates
Estimation: Smoothing 24 Maximum likelihood estimates: Problems with maximum likelihood estimates: –If I flip a coin once, and its heads, whats the estimate for p(heads)? –What if I flip 10 times with 8 heads? –What if I flip 10M times with 8M heads? Basic idea: –We have some prior expectation about parameters (here, the probability of heads) –Given little evidence, we should skew towards our prior –Given a lot of evidence, we should listen to the data
Estimation: Laplace Smoothing 25 Laplaces estimate (extended): –Pretend you saw every outcome k extra times –Whats Laplace with k=0? –k is the strength of the prior Laplace for conditionals: –Smooth each condition independently:
Estimation: Linear Smoothing 26 In practice, Laplace often performs poorly for p(X|Y): –When |X| is very large –When |Y| is very large Another option: linear interpolation –Also get p(X) from the data –Make sure the estimate of p(X|Y) isnt too different from p(X) –What if α is 0? 1?
Real NB: Smoothing 27 For real classification problems, smoothing is critical New odds ratios: helvetica11.4 seems10.8 group10.2 ago8.4 area8.3 … verdana28.8 Credit28.4 ORDER money26.5 … Do these make more sense?
Tuning on Held-Out Data 28 Now weve got two kinds of unknowns –Parameters: the probabilities p(Y|X), p(Y) –Hyperparameters, like the amount of smoothing to do: k,α Where to learn? –Learn parameters from training data –Must tune hyperparameters on different data Why? –For each value of the hyperparameters, train and test on the held-out data –Choose the best value and do a final test on the test data
Errors, and What to Do 29 Examples of errors
What to Do About Errors? 30 Need more features- words arent enough! –Have you ed the sender before? –Have 1K other people just gotten the same ? –Is the sending information consistent? –Is the in ALL CAPS? –Do inline URLs point where they say they point? –Does the address you by (your) name? Can add these information sources as new variables in the NB model Next class well talk about classifiers that let you add arbitrary features more easily