Classification with generative models
Transcription
Classification with generative models
Classification with parametrized models Classifiers with a fixed number of parameters can represent a limited set of functions. Learning a model is about picking a good approximation. Classification with generative models Typically the x’s are points in p-dimensional Euclidean space, Rp . CSE 250B Two ways to classify: • Generative: model the individual classes. • Discriminative: model the decision boundary between the classes. Quick review of conditional probability Formula for conditional probability: for any events A, B, Pr(A|B) = Pr(A ∩ B) . Pr(B) Suppose events A1 , . . . , Ak are disjoint events, one of which must occur. Then for any other event E , Pr(E ) = Pr(E , A1 ) + Pr(E , A2 ) + · · · + Pr(E , Ak ) = Pr(E |A1 )Pr(A1 ) + Pr(E |A2 )Pr(A2 ) + · · · + Pr(E |Ak )Pr(Ak ) Applied twice, this yields Bayes’ rule: Pr(H|E ) = Summation rule Pr(E |H) Pr(H). Pr(E ) Example: Sex bias in graduate admissions. In 1969, there were 12673 applicants for graduate study at Berkeley. 44% of the male applicants were accepted, and 35% of the female applicants. Example: Toss ten coins. What is the probability that the first is heads, given that nine of them are heads? Over the sample space of applicants, define: M = male H = first coin is heads F = female E = nine of the ten coins are heads A = admitted Pr(E |H) Pr(H|E ) = · Pr(H) = Pr(E ) 9 1 8 29 10 1 9 210 · 1 9 = 2 10 So: Pr(A|M) = 0.44 and Pr(A|F ) = 0.35. In every department, the accept rate for female applicants was at least as high as the accept rate for male applicants. How could this be? Generative models The Bayes-optimal prediction An unknown underlying distribution D over X × Y. Generating a point (x, y ) in two steps: 1 Last week: first choose x, then choose y given x. 2 Now: first choose y , then choose x given y . Pr(x) P3(x) P1(x) P2(x) Pr(x) P3(x) π1= 10% P1(x) Example: X =R Y = {1, 2, 3} π2= 50% π3= 40% x P2(x) π1= 10% π2= 50% Labels Y = {1, 2, . . . , k}, density Pr(x) = π1 P1 (x) + · · · + πk Pk (x). π3= 40% For any x ∈ X and any label j, x Pr(y = j|x) = The overall density is a mixture of the individual densities, Pr(x) = π1 P1 (x) + · · · + πk Pk (x). Estimating class-conditional distributions Estimating an arbitrary distribution in Rp : πj Pj (x) Pr(y = j)Pr(x|y = j) = Pk Pr(x) i=1 πi Pi (x) Bayes-optimal prediction: h∗ (x) = arg maxj πj Pj (x). Estimating the πj is easy. Estimating the Pj is hard. Naive Bayes Labels Y = {1, 2, . . . , k}, density Pr(x) = π1 P1 (x) + · · · + πk Pk (x). • Can be done, e.g. with kernel density estimation. • But number of samples needed is exponential in p. Binarized MNIST: • k = 10 classes Instead: approximate each Pj with a simple, parametric distribution. • X = {0, 1}784 Some options: • Product distributions. Assume coordinates are independent: naive Bayes. Assume that within each class, the individual pixel values are independent: • Multivariate Gaussians. Linear and quadratic discriminant analysis. • More general graphical models. Pj (x) = Pj1 (x1 ) · Pj2 (x2 ) · · · Pj,784 (x784 ). Each Pji is a coin flip: trivial to estimate! Smoothed estimate of coin bias Pick a class j and a pixel i. We need to estimate pji = Pr(xi = 1|y = j). Out of a training set of size n, Form of the classifier Data space X = {0, 1}p , label space Y = {1, . . . , k}. Estimate: • {πj : 1 ≤ j ≤ k} • {pji : 1 ≤ j ≤ k, 1 ≤ i ≤ p} Then classify point x as nj = # of instances of class j πj arg max nji = # of instances of class j with xi = 1 j p Y i=1 pjixi (1 − pji )1−xi . Then the maximum-likelihood estimate of pji is pbji = nji /nj . This causes problems if nji = 0. Instead, use “Laplace smoothing”: pbji = nji + 1 . nj + 2 To avoid underflow: take the log: arg max log πj + j p X i=1 | (xi log pji + (1 − xi ) log(1 − pji )) {z of the form w · x + b } A linear classifier! Example: MNIST Other types of data Result of training: mean vectors for each class. How would you handle data: • Whose features take on more than two discrete values (such as ten possible colors)? • Whose features are real-valued? • Whose features are positive integers? • Whose features are mixed: some real, some Boolean, etc? Test error rate: 15.54%. “Confusion matrix” −→ How would you handle “missing data”: situations in which data points occasionally (or regularly) have missing entries? • At train time: ??? • At test time: ??? Multinomial naive Bayes Improving performance of multinomial naive Bayes Bag-of-words: vectorial representation of text documents. A variety of heuristics that are standard in text retrieval, such as: It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair, we had everything before us, we had nothing before us, we were all going direct to Heaven, we were all going direct the other way – in short, the period was so far like the present period, that some of its noisiest authorities insisted on its being received, for good or for evil, in the superlative degree of comparison only. 1 despair 2 evil 0 happiness 1 foolishness 1 Compensating for burstiness. Problem: Once a word has appeared in a document, it has a much higher chance of appearing again. Solution: Instead of the number of occurrences f of a word, use log(1 + f ). 2 Downweighting common words. Problem: Common words can have a unduly large influence on classification. Solution: Weight each word w by inverse document frequency: • Fix V = some vocabulary. • Treat the words in a document as independent draws from a log multinomial distribution over V : p = (p1 , . . . , p|V | ), such that pi ≥ 0 and X # docs #(docs containing w ) pi = 1 i Multinomial naive Bayes: each class is modeled by a multinomial. Recall: generative model framework The univariate Gaussian Pr(x) P3(x) P1(x) P2(x) π1= 10% π2= 50% π3= 40% x Labels Y = {1, 2, . . . , k}, density Pr(x) = π1 P1 (x) + · · · + πk Pk (x). Approximate each Pj with a simple, parametric distribution: • Product distributions. Assume coordinates are independent: naive Bayes. • Multivariate Gaussians. Linear and quadratic discriminant analysis. • More general graphical models. The Gaussian N(µ, σ 2 ) has mean µ, variance σ 2 , and density function 1 (x − µ)2 p(x) = exp − . 2σ 2 (2πσ 2 )1/2 The multivariate Gaussian Special case: spherical Gaussian The Xi are independent and all have the same variance σ 2 . Thus N(µ, Σ): Gaussian in Rp • mean: µ ∈ R • covariance: p × p matrix Σ µ Σ = σ 2 Ip p Simplified density: p(x) = p(x) = 1 (2π)p/2 |Σ|1/2 1 exp − (x − µ)T Σ−1 (x − µ) 2 1 kx − µk2 exp − 2σ 2 (2π)p/2 σ p Density at a point depends only on its distance from µ: Let X = (X1 , X2 , . . . , Xp ) be a random draw from N(µ, Σ). µ • EX = µ. That is, EXi = µi for all 1 ≤ i ≤ p. T • E(X − µ)(X − µ) = Σ. That is, for all 1 ≤ i, j ≤ p, cov(Xi , Xj ) = E(Xi − µi )(Xj − µj ) = Σij Each Xi is an independent univariate Gaussian N(µi , σ 2 ). In particular, var(Xi ) = E(Xi − µi )2 = Σii . Special case: diagonal Gaussian The general Gaussian The Xi are independent, with variances σi2 . Thus u1 u2 Σ = diag(σ12 , . . . , σp2 ) Simplified density: p X (xi − µi )2 1 p(x) = exp − 2σi2 (2π)p/2 σ1 · · · σp i=1 ! N(µ, Σ): µ Contours of equal density are axis-aligned ellipsoids centered at µ: 2 µ Eigendecomposition of Σ: 1 • Eigenvalues λ1 ≥ λ2 ≥ · · · ≥ λp • Corresponding eigenvectors u1 , . . . , up Each Xi is an independent univariate Gaussian N(µi , σi2 ). N(µ, Σ) is simply a rotated version of N(µ, diag(λ1 , . . . , λp )). Binary classification with Gaussian generative model Estimate class probabilities π1 , π2 and fit a Gaussian to each class: P1 = N(µ1 , Σ1 ), P2 = N(µ2 , Σ2 ) (Blackboard) E.g. If data points x (1) , . . . , x (m) ∈ Rp are class 1: µ1 = m 1 X (i) 1 (1) x + · · · + x (m) and Σ1 = (x − µ1 )(x (i) − µ1 )T m m i=1 Mathematical interlude: Linear algebra Given a new point x, predict class 1 iff: π1 P1 (x) > π2 P2 (x) ⇔ x T Mx + 2w T x ≥ θ, where: 1 −1 (Σ − Σ−1 1 ) 2 2 −1 −1 w = Σ1 µ1 − Σ2 µ2 M= and θ is a constant depending on the various parameters. Σ1 = Σ2 : linear decision boundary. Otherwise, quadratic boundary. Common covariance: Σ1 = Σ2 = Σ Example 2: Again spherical, but now π1 > π2 . Linear decision boundary: choose class 1 iff x · Σ−1 (µ1 − µ2 ) ≥ θ. | {z } w µ1 µ2 Example 1: Spherical Gaussians with Σ = Ip and π1 = π2 . w bisector of line joining means One-d projection onto w : µ1 µ2 w Different covariances: Σ1 6= Σ2 Example 3: Non-spherical. Quadratic boundary: choose class 1 iff x T Mx + 2w T x ≥ θ, where: 1 −1 (Σ − Σ−1 1 ) 2 2 −1 w = Σ−1 1 µ1 − Σ2 µ2 M= µ1 Example 1: Σ1 = σ12 Ip and Σ2 = σ22 Ip with σ1 > σ2 µ2 µ1 µ2 w=⌃ 1 (µ1 µ2 ) µ1 µ2 Rule: w · x ≥ θ • w , θ dictated by probability model, assuming it is a perfect fit • Common practice: choose w as above, but fit θ to minimize training/validation error Example 3: A parabolic boundary. Example 2: Same thing in 1-d. X = R. class 2 class 1 µ1 Many other possibilities! µ2 Multiclass discriminant analysis k classes: weights πj , class-conditional distributions Pj = N(µj , Σj ). Example: “wine” data set Data from three wineries from the same region of Italy • 13 attributes: hue, color intensity, flavanoids, ash content, ... Each class has an associated quadratic function • 178 instances in all: split into 118 train, 60 test fj (x) = log (πj Pj (x)) To class a point x, pick arg maxj fj (x). If Σ1 = · · · = Σk , the boundaries are linear. Test error using multiclass discriminant analysis: 1/60 Example: MNIST Fisher’s linear discriminant A framework for linear classification without Gaussian assumptions. To each digit, fit: • class probability πj • mean µj ∈ R784 • covariance matrix Σj ∈ R784×784 Problem: formula for normal density uses Σ−1 j , which is singular. • Need to regularize: Σj → Σj + σ 2 I • This is a good idea even without the singularity issue Use only first- and second-order statistics of the classes. Class 1 mean µ1 cov Σ1 # pts n1 Class 2 mean µ2 cov Σ2 # pts n2 A linear classifier projects all data onto a direction w . Choose w so that: • Projected means are well-separated, i.e. (w · µ1 − w · µ2 )2 is large. • Projected within-class variance is small. Error rate with regularization: ??? better than Fisher LDA (linear discriminant analysis) Fisher LDA: proof Two classes: means µ1 , µ2 ; covariances Σ1 , Σ2 ; sample sizes n1 , n2 . Project data onto direction (unit vector) w . • Projected means: w · µ1 and w · µ2 Goal: find w to maximize J(w ) = (w · µ1 − w · µ2 )2 w T Σw • Projected variances: w T Σ1 w and w T Σ2 w • Average projected variance: T T n1 (w Σ1 w ) + n2 (w Σ2 w ) = w T Σw , n1 + n2 1 Assume Σ1 , Σ2 are full rank; else project. 2 Since Σ1 and Σ2 are p.d., so is their weighted average, Σ. 3 Write u = Σ1/2 w . Then where Σ = (n1 Σ1 + n2 Σ2 )/(n1 + n2 ). max w (w · µ1 − w · µ2 )2 Find w to maximize J(w ) = w T Σw Solution: w ∝ Σ −1 (µ1 − µ2 ). Look familiar? (w T (µ1 − µ2 ))2 (u T Σ−1/2 (µ1 − µ2 ))2 = max u w T Σw uT u −1/2 = max (u · (Σ (µ1 − µ2 )))2 u:kuk=1 4 5 Solution: u is the unit vector in direction Σ−1/2 (µ1 − µ2 ). Therefore: w = Σ−1/2 u ∝ Σ−1 (µ1 − µ2 ).