Prepare for your exams

Study with the several resources on Docsity

Earn points to download

Earn points by helping other students or get them with a premium plan

Guidelines and tips

Prepare for your exams

Study with the several resources on Docsity

Earn points to download

Earn points by helping other students or get them with a premium plan

Community

Ask the community

Ask the community for help and clear up your study doubts

University Rankings

Discover the best universities in your country according to Docsity users

Free resources

Our save-the-student-ebooks!

Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors

The probabilistic approach to machine learning is closely related to the field of statistics, but di ers slightly in terms of its emphasis and terminology3.

Typology: Exams

2021/2022

1 / 26

Download Machine Learning and more Exams Machine Learning in PDF only on Docsity! Machine Learning A Probabilistic Perspective Kevin P. Murphy The MIT Press Cambridge, Massachusetts London, England 1 Introduction 1.1 Machine learning: what and why? We are drowning in information and starving for knowledge. — John Naisbitt. We are entering the era of big data. For example, there are about 1 trillion web pages1; one hour of video is uploaded to YouTube every second, amounting to 10 years of content every day2; the genomes of 1000s of people, each of which has a length of 3.8× 109 base pairs, have been sequenced by various labs; Walmart handles more than 1M transactions per hour and has databases containing more than 2.5 petabytes (2.5× 1015) of information (Cukier 2010); and so on. This deluge of data calls for automated methods of data analysis, which is what machine learning provides. In particular, we define machine learning as a set of methods that can automatically detect patterns in data, and then use the uncovered patterns to predict future data, or to perform other kinds of decision making under uncertainty (such as planning how to collect more data!). This books adopts the view that the best way to solve such problems is to use the tools of probability theory. Probability theory can be applied to any problem involving uncertainty. In machine learning, uncertainty comes in many forms: what is the best prediction about the future given some past data? what is the best model to explain some data? what measurement should I perform next? etc. The probabilistic approach to machine learning is closely related to the field of statistics, but diers slightly in terms of its emphasis and terminology3. We will describe a wide variety of probabilistic models, suitable for a wide variety of data and tasks. We will also describe a wide variety of algorithms for learning and using such models. The goal is not to develop a cook book of ad hoc techiques, but instead to present a unified view of the field through the lens of probabilistic modeling and inference. Although we will pay attention to computational eciency, details on how to scale these methods to truly massive datasets are better described in other books, such as (Rajaraman and Ullman 2011; Bekkerman et al. 2011). 1. http://googleblog.blogspot.com/2008/07/we-knew-web-was-big.html 2. Source: http://www.youtube.com/t/press_statistics. 3. Rob Tibshirani, a statistician at Stanford university, has created an amusing comparison between machine learning and statistics, available at http://www-stat.stanford.edu/~tibs/stat315a/glossary.pdf. 4 Chapter 1. Introduction reasonable guess is that blue crescent should be y = 1, since all blue shapes are labeled 1 in the training set. The yellow circle is harder to classify, since some yellow things are labeled y = 1 and some are labeled y = 0, and some circles are labeled y = 1 and some y = 0. Consequently it is not clear what the right label should be in the case of the yellow circle. Similarly, the correct label for the blue arrow is unclear. 1.2.1.2 The need for probabilistic predictions To handle ambiguous cases, such as the yellow circle above, it is desirable to return a probability. The reader is assumed to already have some familiarity with basic concepts in probability. If not, please consult Chapter 2 for a refresher, if necessary. We will denote the probability distribution over possible labels, given the input vector x and training set D by p(y|x,D). In general, this represents a vector of length C . (If there are just two classes, it is sucient to return the single number p(y = 1|x,D), since p(y = 1|x,D) + p(y = 0|x,D) = 1.) In our notation, we make explicit that the probability is conditional on the test input x, as well as the training set D, by putting these terms on the right hand side of the conditioning bar |. We are also implicitly conditioning on the form of model that we use to make predictions. When choosing between dierent models, we will make this assumption explicit by writing p(y|x,D,M), where M denotes the model. However, if the model is clear from context, we will drop M from our notation for brevity. Given a probabilistic output, we can always compute our “best guess” as to the “true label” using ŷ = f̂(x) = C argmax c=1 p(y = c|x,D) (1.1) This corresponds to the most probable class label, and is called the mode of the distribution p(y|x,D); it is also known as a MAP estimate (MAP stands for maximum a posteriori). Using the most probable label makes intuitive sense, but we will give a more formal justification for this procedure in Section 5.7. Now consider a case such as the yellow circle, where p(ŷ|x,D) is far from 1.0. In such a case we are not very confident of our answer, so it might be better to say “I don’t know” instead of returning an answer that we don’t really trust. This is particularly important in domains such as medicine and finance where we may be risk averse, as we explain in Section 5.7. Another application where it is important to assess risk is when playing TV game shows, such as Jeopardy. In this game, contestants have to solve various word puzzles and answer a variety of trivia questions, but if they answer incorrectly, they lose money. In 2011, IBM unveiled a computer system called Watson which beat the top human Jeopardy champion. Watson uses a variety of interesting techniques (Ferrucci et al. 2010), but the most pertinent one for our present purposes is that it contains a module that estimates how confident it is of its answer. The system only chooses to “buzz in” its answer if suciently confident it is correct. Similarly, Google has a system known as SmartASS (ad selection system) that predicts the probability you will click on an ad based on your search history and other user and ad-specific features (Metz 2010). This probability is known as the click-through rate or CTR, and can be used to maximize expected profit. We will discuss some of the basic principles behind systems such as SmartASS later in this book. 1.2. Supervised learning 5 words d o c u m e n ts 10 20 30 40 50 60 70 80 90 100 100 200 300 400 500 600 700 800 900 1000 Figure 1.2 Subset of size 16242 x 100 of the 20-newsgroups data. We only show 1000 rows, for clarity. Each row is a document (represented as a bag-of-words bit vector), each column is a word. The red lines separate the 4 classes, which are (in descending order) comp, rec, sci, talk (these are the titles of USENET groups). We can see that there are subsets of words whose presence or absence is indicative of the class. The data is available from http://cs.nyu.edu/~roweis/data.html. Figure generated by newsgroupsVisualize. 1.2.1.3 Real-world applications Classification is probably the most widely used form of machine learning, and has been used to solve many interesting and often dicult real-world problems. We have already mentioned some important applciations. We give a few more examples below. Document classification and email spam filtering In document classification, the goal is to classify a document, such as a web page or email message, into one of C classes, that is, to compute p(y = c|x,D), where x is some represen- tation of the text. A special case of this is email spam filtering, where the classes are spam y = 1 or ham y = 0. Most classifiers assume that the input vector x has a fixed size. A common way to represent variable-length documents in feature-vector format is to use a bag of words representation. This is explained in detail in Section 3.4.4.1, but the basic idea is to define xij = 1 i word j occurs in document i. If we apply this transformation to every document in our data set, we get a binary document × word co-occurrence matrix: see Figure 1.2 for an example. Essentially the document classification problem has been reduced to one that looks for subtle changes in the pattern of bits. For example, we may notice that most spam messages have a high probability of containing the words “buy”, “cheap”, “viagra”, etc. In Exercise 8.1 and Exercise 8.2, you will get hands-on experience applying various classification techniques to the spam filtering problem. 6 Chapter 1. Introduction (a) (b) (c) Figure 1.3 Three types of iris flowers: setosa, versicolor and virginica. Source: http://www.statlab.u ni-heidelberg.de/data/iris/ . Used with kind permission of Dennis Kramb and SIGNA. se pa l l en gt h sepal length se pa l w id th pe ta l l en gt h pe ta l w id th sepal width petal length petal width Figure 1.4 Visualization of the Iris data as a pairwise scatter plot. The diagonal plots the marginal histograms of the 4 features. The o diagonals contain scatterplots of all possible pairs of features. Red circle = setosa, green diamond = versicolor, blue star = virginica. Figure generated by fisheririsDemo. Classifying flowers Figure 1.3 gives another example of classification, due to the statistician Ronald Fisher. The goal is to learn to distinguish three dierent kinds of iris flower, called setosa, versicolor and virginica. Fortunately, rather than working directly with images, a botanist has already extracted 4 useful features or characteristics: sepal length and width, and petal length and width. (Such feature extraction is an important, but dicult, task. Most machine learning methods use features chosen by some human. Later we will discuss some methods that can learn good features from the data.) If we make a scatter plot of the iris data, as in Figure 1.4, we see that it is easy to distinguish setosas (red circles) from the other two classes by just checking if their petal length 1.3. Unsupervised learning 9 0 5 10 15 20−10 −5 0 5 10 15 degree 1 (a) 0 5 10 15 20−10 −5 0 5 10 15 degree 2 (b) Figure 1.7 (a) Linear regression on some 1d data. (b) Same data with polynomial regression (degree 2). Figure generated by linregPolyVsDegree. Here are some examples of real-world regression problems. • Predict tomorrow’s stock market price given current market conditions and other possible side information. • Predict the age of a viewer watching a given video on YouTube. • Predict the location in 3d space of a robot arm end eector, given control signals (torques) sent to its various motors. • Predict the amount of prostate specific antigen (PSA) in the body as a function of a number of dierent clinical measurements. • Predict the temperature at any location inside a building using weather data, time, door sensors, etc. 1.3 Unsupervised learning We now consider unsupervised learning, where we are just given output data, without any inputs. The goal is to discover “interesting structure” in the data; this is sometimes called knowledge discovery. Unlike supervised learning, we are not told what the desired output is for each input. Instead, we will formalize our task as one of density estimation, that is, we want to build models of the form p(xi|θ). There are two dierences from the supervised case. First, we have written p(xi|θ) instead of p(yi|xi,θ); that is, supervised learning is conditional density estimation, whereas unsupervised learning is unconditional density estimation. Second, xi is a vector of features, so we need to create multivariate probability models. By contrast, in supervised learning, yi is usually just a single variable that we are trying to predict. This means that for most supervised learning problems, we can use univariate probability models (with input-dependent parameters), which significantly simplifies the problem. (We will discuss multi-output classification in Chapter 19, where we will see that it also involves multivariate probability models.) Unsupervised learning is arguably more typical of human and animal learning. It is also more widely applicable than supervised learning, since it does not require a human expert to 10 Chapter 1. Introduction 55 60 65 70 75 80 80 100 120 140 160 180 200 220 240 260 280 height w ei gh t (a) 55 60 65 70 75 80 80 100 120 140 160 180 200 220 240 260 280 height w ei gh t K=2 (b) Figure 1.8 (a) The height and weight of some people. (b) A possible clustering using K = 2 clusters. Figure generated by kmeansHeightWeight. manually label the data. Labeled data is not only expensive to acquire6, but it also contains relatively little information, certainly not enough to reliably estimate the parameters of complex models. Geo Hinton, who is a famous professor of ML at the University of Toronto, has said: When we’re learning to see, nobody’s telling us what the right answers are — we just look. Every so often, your mother says “that’s a dog”, but that’s very little information. You’d be lucky if you got a few bits of information — even one bit per second — that way. The brain’s visual system has 1014 neural connections. And you only live for 109 seconds. So it’s no use learning one bit per second. You need more like 105 bits per second. And there’s only one place you can get that much information: from the input itself. — Georey Hinton, 1996 (quoted in (Gorder 2006)). Below we describe some canonical examples of unsupervised learning. 1.3.1 Discovering clusters As a canonical example of unsupervised learning, consider the problem of clustering data into groups. For example, Figure 1.8(a) plots some 2d data, representing the height and weight of a group of 210 people. It seems that there might be various clusters, or subgroups, although it is not clear how many. Let K denote the number of clusters. Our first goal is to estimate the distribution over the number of clusters, p(K|D); this tells us if there are subpopulations within the data. For simplicity, we often approximate the distribution p(K|D) by its mode, K∗ = argmaxK p(K|D). In the supervised case, we were told that there are two classes (male and female), but in the unsupervised case, we are free to choose as many or few clusters as we like. Picking a model of the “right” complexity is called model selection, and will be discussed in detail below. Our second goal is to estimate which cluster each point belongs to. Let zi ∈ {1, . . . ,K} represent the cluster to which data point i is assigned. (zi is an example of a hidden or 6. The advent of crowd sourcing web sites such as Mechanical Turk, (https://www.mturk.com/mturk/welcome), which outsource data processing tasks to humans all over the world, has reduced the cost of labeling data. Nevertheless, the amount of unlabeled data is still orders of magnitude larger than the amount of labeled data. 1.3. Unsupervised learning 11 −8 −6 −4 −2 0 2 4 6 8 −4 −2 0 2 4 −2 0 2 (a) −5 0 5 −4 −2 0 2 4 (b) Figure 1.9 (a) A set of points that live on a 2d linear subspace embedded in 3d. The solid red line is the first principal component direction. The dotted black line is the second PC direction. (b) 2D representation of the data. Figure generated by pcaDemo3d. latent variable, since it is never observed in the training set.) We can infer which cluster each data point belongs to by computing z∗i = argmaxk p(zi = k|xi,D). This is illustrated in Figure 1.8(b), where we use dierent colors to indicate the assignments, assuming K = 2. In this book, we focus on model based clustering, which means we fit a probabilistic model to the data, rather than running some ad hoc algorithm. The advantages of the model-based approach are that one can compare dierent kinds of models in an objective way (in terms of the likelihood they assign to the data), we can combine them together into larger systems, etc. Here are some real world applications of clustering. • In astronomy, the autoclass system (Cheeseman et al. 1988) discovered a new type of star, based on clustering astrophysical measurements. • In e-commerce, it is common to cluster users into groups, based on their purchasing or web-surfing behavior, and then to send customized targeted advertising to each group (see e.g., (Berkhin 2006)). • In biology, it is common to cluster flow-cytometry data into groups, to discover dierent sub-populations of cells (see e.g., (Lo et al. 2009)). 1.3.2 Discovering latent factors When dealing with high dimensional data, it is often useful to reduce the dimensionality by projecting the data to a lower dimensional subspace which captures the “essence” of the data. This is called dimensionality reduction. A simple example is shown in Figure 1.9, where we project some 3d data down to a 2d plane. The 2d approximation is quite good, since most points lie close to this subspace. Reducing to 1d would involve projecting points onto the red line in Figure 1.9(a); this would be a rather poor approximation. (We will make this notion precise in Chapter 12.) The motivation behind this technique is that although the data may appear high dimensional, there may only be a small number of degrees of variability, corresponding to latent factors. For example, when modeling the appearance of face images, there may only be a few underlying latent factors which describe most of the variability, such as lighting, pose, identity, etc, as illustrated in Figure 1.10. 14 Chapter 1. Introduction (a) (b) Figure 1.12 (a) A noisy image with an occluder. (b) An estimate of the underlying pixel intensities, based on a pairwise MRF model. Source: Figure 8 of (Felzenszwalb and Huttenlocher 2006). Used with kind permission of Pedro Felzenszwalb. 1.3.4 Matrix completion Sometimes we have missing data, that is, variables whose values are unknown. For example, we might have conducted a survey, and some people might not have answered certain questions. Or we might have various sensors, some of which fail. The corresponding design matrix will then have “holes” in it; these missing entries are often represented by NaN, which stands for “not a number”. The goal of imputation is to infer plausible values for the missing entries. This is sometimes called matrix completion. Below we give some example applications. 1.3.4.1 Image inpainting An interesting example of an imputation-like task is known as image inpainting. The goal is to “fill in” holes (e.g., due to scratches or occlusions) in an image with realistic texture. This is illustrated in Figure 1.12, where we denoise the image, as well as impute the pixels hidden behind the occlusion. This can be tackled by building a joint probability model of the pixels, given a set of clean images, and then inferring the unknown variables (pixels) given the known variables (pixels). This is somewhat like masket basket analysis, except the data is real-valued and spatially structured, so the kinds of probability models we use are quite dierent. See Sections 19.6.2.7 and 13.8.4 for some possible choices. 1.3.4.2 Collaborative filtering Another interesting example of an imputation-like task is known as collaborative filtering. A common example of this concerns predicting which movies people will want to watch based on how they, and other people, have rated movies which they have already seen. The key idea is that the prediction is not based on features of the movie or user (although it could be), but merely on a ratings matrix. More precisely, we have a matrix X where X(m,u) is the rating 1.3. Unsupervised learning 15 Figure 1.13 Example of movie-rating data. Training data is in red, test data is denoted by ?, empty cells are unknown. (say an integer between 1 and 5, where 1 is dislike and 5 is like) by user u of movie m. Note that most of the entries in X will be missing or unknown, since most users will not have rated most movies. Hence we only observe a tiny subset of the X matrix, and we want to predict a dierent subset. In particular, for any given user u, we might want to predict which of the unrated movies he/she is most likely to want to watch. In order to encourage research in this area, the DVD rental company Netflix created a com- petition, launched in 2006, with a $1M USD prize (see http://netflixprize.com/). In particular, they provided a large matrix of ratings, on a scale of 1 to 5, for ∼ 18k movies created by ∼ 500k users. The full matrix would have ∼ 9 × 109 entries, but only about 1% of the entries are observed, so the matrix is extremely sparse. A subset of these are used for training, and the rest for testing, as shown in Figure 1.13. The goal of the competition was to predict more accurately than Netflix’s existing system. On 21 September 2009, the prize was awarded to a team of researchers known as “BellKor’s Pragmatic Chaos”. Section 27.6.2 discusses some of their methodology. Further details on the teams and their methods can be found at http://www.netflixprize.com/community/viewtopic.php?id=1537. 1.3.4.3 Market basket analysis In commercial data mining, there is much interest in a task called market basket analysis. The data consists of a (typically very large but sparse) binary matrix, where each column represents an item or product, and each row represents a transaction. We set xij = 1 if item j was purchased on the i’th transaction. Many items are purchased together (e.g., bread and butter), so there will be correlations amongst the bits. Given a new partially observed bit vector, representing a subset of items that the consumer has bought, the goal is to predict which other bits are likely to turn on, representing other items the consumer might be likely to buy. (Unlike collaborative filtering, we often assume there is no missing data in the training data, since we know the past shopping behavior of each customer.) This task arises in other domains besides modeling purchasing patterns. For example, similar techniques can be used to model dependencies between files in complex software systems. In this case, the task is to predict, given a subset of files that have been changed, which other ones need to be updated to ensure consistency (see e.g., (Hu et al. 2010)). It is common to solve such tasks using frequent itemset mining, which create association rules (see e.g., (Hastie et al. 2009, sec 14.2) for details). Alternatively, we can adopt a probabilistic approach, and fit a joint density model p(x1, . . . , xD) to the bit vectors, see e.g., (Hu et al. 16 Chapter 1. Introduction (a) (b) Figure 1.14 (a) Illustration of a K-nearest neighbors classifier in 2d for K = 3. The 3 nearest neighbors of test point x1 have labels 1, 1 and 0, so we predict p(y = 1|x1,D,K = 3) = 2/3. The 3 nearest neighbors of test point x2 have labels 0, 0, and 0, so we predict p(y = 1|x2,D,K = 3) = 0/3. (b) Illustration of the Voronoi tesselation induced by 1-NN. Based on Figure 4.13 of (Duda et al. 2001). Figure generated by knnVoronoi. 2010). Such models often have better predictive acccuracy than association rules, although they may be less interpretible. This is typical of the dierence between data mining and machine learning: in data mining, there is more emphasis on interpretable models, whereas in machine learning, there is more emphasis on accurate models. 1.4 Some basic concepts in machine learning In this Section, we provide an introduction to some key ideas in machine learning. We will expand on these concepts later in the book, but we introduce them briefly here, to give a flavor of things to come. 1.4.1 Parametric vs non-parametric models In this book, we will be focussing on probabilistic models of the form p(y|x) or p(x), depending on whether we are interested in supervised or unsupervised learning respectively. There are many ways to define such models, but the most important distinction is this: does the model have a fixed number of parameters, or does the number of parameters grow with the amount of training data? The former is called a parametric model, and the latter is called a non- parametric model. Parametric models have the advantage of often being faster to use, but the disadvantage of making stronger assumptions about the nature of the data distributions. Non- parametric models are more flexible, but often computationally intractable for large datasets. We will give examples of both kinds of models in the sections below. We focus on supervised learning for simplicity, although much of our discussion also applies to unsupervised learning. 1.4.2 A simple non-parametric classifier: K-nearest neighbors A simple example of a non-parametric classifier is the K nearest neighbor (KNN) classifier. This simply “looks at” the K points in the training set that are nearest to the test input x, 1.4. Some basic concepts in machine learning 19 −3 −2 −1 0 1 2 30 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 PDF (a) (b) Figure 1.17 (a) A Gaussian pdf with mean 0 and variance 1. Figure generated by gaussPlotDemo. (b) Visualization of the conditional density model p(y|x,θ) = N (y|w0 + w1x,σ 2). The density falls o exponentially fast as we move away from the regression line. Figure generated by linregWedgeDemo2. of the data, we have e10(0.1) = 0.8, so we need to extend the cube 80% along each dimension around x. Even if we only use 1% of the data, we find e10(0.01) = 0.63: see Figure 1.16. Since the entire range of the data is only 1 along each dimension, we see that the method is no longer very local, despite the name “nearest neighbor”. The trouble with looking at neighbors that are so far away is that they may not be good predictors about the behavior of the input-output function at a given point. 1.4.4 Parametric models for classification and regression The main way to combat the curse of dimensionality is to make some assumptions about the nature of the data distribution (either p(y|x) for a supervised problem or p(x) for an unsupervised problem). These assumptions, known as inductive bias, are often embodied in the form of a parametric model, which is a statistical model with a fixed number of parameters. Below we briefly describe two widely used examples; we will revisit these and other models in much greater depth later in the book. 1.4.5 Linear regression One of the most widely used models for regression is known as linear regression. This asserts that the response is a linear function of the inputs. This can be written as follows: y(x) = wTx+ = D j=1 wjxj + (1.4) where wTx represents the inner or scalar product between the input vector x and the model’s weight vector w7, and is the residual error between our linear predictions and the true response. 7. In statistics, it is more common to denote the regression weights by β. 20 Chapter 1. Introduction 0 5 10 15 20−10 −5 0 5 10 15 degree 14 (a) 0 5 10 15 20−10 −5 0 5 10 15 degree 20 (b) Figure 1.18 Polynomial of degrees 14 and 20 fit by least squares to 21 data points. Figure generated by linregPolyVsDegree. We often assume that has a Gaussian8 or normal distribution. We denote this by ∼ N (µ,σ2), where µ is the mean and σ2 is the variance (see Chapter 2 for details). When we plot this distribution, we get the well-known bell curve shown in Figure 1.17(a). To make the connection between linear regression and Gaussians more explicit, we can rewrite the model in the following form: p(y|x,θ) = N (y|µ(x),σ2(x)) (1.5) This makes it clear that the model is a conditional probability density. In the simplest case, we assume µ is a linear function of x, so µ = wTx, and that the noise is fixed, σ2(x) = σ2. In this case, θ = (w,σ2) are the parameters of the model. For example, suppose the input is 1 dimensional. We can represent the expected response as follows: µ(x) = w0 + w1x = wTx (1.6) where w0 is the intercept or bias term, w1 is the slope, and where we have defined the vector x = (1, x). (Prepending a constant 1 term to an input vector is a common notational trick which allows us to combine the intercept term with the other terms in the model.) If w1 is positive, it means we expect the output to increase as the input increases. This is illustrated in 1d in Figure 1.17(b); a more conventional plot, of the mean response vs x, is shown in Figure 1.7(a). Linear regression can be made to model non-linear relationships by replacing x with some non-linear function of the inputs, φ(x). That is, we use p(y|x,θ) = N (y|wTφ(x),σ2) (1.7) This is known as basis function expansion. For example, Figure 1.18 illustrates the case where φ(x) = [1, x, x2, . . . , xd], for d = 14 and d = 20; this is known as polynomial regression. We will consider other kinds of basis functions later in the book. In fact, many popular machine learning methods — such as support vector machines, neural networks, classification and regression trees, etc. — can be seen as just dierent ways of estimating basis functions from data, as we discuss in Chapters 14 and 16. 8. Carl Friedrich Gauss (1777–1855) was a German mathematician and physicist. 1.4. Some basic concepts in machine learning 21 !10 !5 0 5 10 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 (a) 460 480 500 520 540 560 580 600 620 640 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 (b) Figure 1.19 (a) The sigmoid or logistic function. We have sigm(−∞) = 0, sigm(0) = 0.5, and sigm(∞) = 1. Figure generated by sigmoidPlot. (b) Logistic regression for SAT scores. Solid black dots are the data. The open red circles are the predicted probabilities. The green crosses denote two students with the same SAT score of 525 (and hence same input representation x) but with dierent training labels (one student passed, y = 1, the other failed, y = 0). Hence this data is not perfectly separable using just the SAT feature. Figure generated by logregSATdemo. 1.4.6 Logistic regression We can generalize linear regression to the (binary) classification setting by making two changes. First we replace the Gaussian distribution for y with a Bernoulli distribution9,which is more appropriate for the case when the response is binary, y ∈ {0, 1}. That is, we use p(y|x,w) = Ber(y|µ(x)) (1.8) where µ(x) = E [y|x] = p(y = 1|x). Second, we compute a linear combination of the inputs, as before, but then we pass this through a function that ensures 0 ≤ µ(x) ≤ 1 by defining µ(x) = sigm(wTx) (1.9) where sigm(η) refers to the sigmoid function, also known as the logistic or logit function. This is defined as sigm(η) 1 1 + exp(−η) = eη eη + 1 (1.10) The term “sigmoid” means S-shaped: see Figure 1.19(a) for a plot. It is also known as a squashing function, since it maps the whole real line to [0, 1], which is necessary for the output to be interpreted as a probability. Putting these two steps together we get p(y|x,w) = Ber(y|sigm(wTx)) (1.11) This is called logistic regression due to its similarity to linear regression (although it is a form of classification, not regression!). 9. Daniel Bernoulli (1700–1782) was a Dutch-Swiss mathematician and physicist. 24 Chapter 1. Introduction 0 20 40 60 80 100 1200 0.05 0.1 0.15 0.2 0.25 0.3 0.35 K m is cl as si fic at io n ra te train test (a) (b) Figure 1.21 (a) Misclassification rate vs K in a K-nearest neighbor classifier. On the left, where K is small, the model is complex and hence we overfit. On the right, where K is large, the model is simple and we underfit. Dotted blue line: training set (size 200). Solid red line: test set (size 500). (b) Schematic of 5-fold cross validation. Figure generated by knnClassifyDemo. won’t have enough data to train on, and we won’t have enough data to make a reliable estimate of the future performance. A simple but popular solution to this is to use cross validation (CV). The idea is simple: we split the training data into K folds; then, for each fold k ∈ {1, . . . ,K}, we train on all the folds but the k’th, and test on the k’th, in a round-robin fashion, as sketched in Figure 1.21(b). We then compute the error averaged over all the folds, and use this as a proxy for the test error. (Note that each point gets predicted only once, although it will be used for training K−1 times.) It is common to use K = 5; this is called 5-fold CV. If we set K = N , then we get a method called leave-one out cross validation, or LOOCV, since in fold i, we train on all the data cases except for i, and then test on i. Exercise 1.3 asks you to compute the 5-fold CV estimate of the test error vs K , and to compare it to the empirical test error in Figure 1.21(a). Choosing K for a KNN classifier is a special case of a more general problem known as model selection, where we have to choose between models with dierent degrees of flexibility. Cross- validation is widely used for solving such problems, although we will discuss other approaches later in the book. 1.4.9 No free lunch theorem All models are wrong, but some models are useful. — George Box (Box and Draper 1987, p424).12 Much of machine learning is concerned with devising dierent models, and dierent algorithms to fit them. We can use methods such as cross validation to empirically choose the best method for our particular problem. However, there is no universally best model — this is sometimes called the no free lunch theorem (Wolpert 1996). The reason for this is that a set of assumptions that works well in one domain may work poorly in another. 12. George Box is a retired statistics professor at the University of Wisconsin. 1.4. Some basic concepts in machine learning 25 As a consequence of the no free lunch theorem, we need to develop many dierent types of models, to cover the wide variety of data that occurs in the real world. And for each model, there may be many dierent algorithms we can use to train the model, which make dierent speed-accuracy-complexity tradeos. It is this combination of data, models and algorithms that we will be studying in the subsequent chapters. Exercises Exercise 1.1 KNN classifier on shued MNIST data Run mnist1NNdemo and verify that the misclassification rate (on the first 1000 test cases) of MNIST of a 1-NN classifier is 3.8%. (If you run it all on all 10,000 test cases, the error rate is 3.09%.) Modify the code so that you first randomly permute the features (columns of the training and test design matrices), as in shuffledDigitsDemo, and then apply the classifier. Verify that the error rate is not changed. Exercise 1.2 Approximate KNN classifiers Use the Matlab/C++ code at http://people.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN to per- form approximate nearest neighbor search, and combine it with mnist1NNdemo to classify the MNIST data set. How much speedup do you get, and what is the drop (if any) in accuracy? Exercise 1.3 CV for KNN Use knnClassifyDemo to plot the CV estimate of the misclassification rate on the test set. Compare this to Figure 1.21(a). Discuss the similarities and dierences to the test error rate.