<< Chapter < Page | Chapter >> Page > |
Let's start by talking about a few examples of supervised learning problems. Suppose we have a dataset giving the living areas and prices of 47 houses fromPortland, Oregon:
Living area (feet ${}^{2}$ ) | Price (1000$s) |
2104 | 400 |
1600 | 330 |
2400 | 369 |
1416 | 232 |
3000 | 540 |
$\vdots $ | $\vdots $ |
We can plot this data:
Given data like this, how can we learn to predict the prices of other houses in Portland, as a function of the size of their living areas?
To establish notation for future use, we'll use ${x}^{\left(i\right)}$ to denote the “input” variables (living area in this example), also called input features , and ${y}^{\left(i\right)}$ to denote the “output” or target variable that we are trying to predict (price). A pair $({x}^{\left(i\right)},{y}^{\left(i\right)})$ is called a training example , and the dataset that we'll be using to learn—a list of $m$ training examples $\{({x}^{\left(i\right)},{y}^{\left(i\right)});i=1,...,m\}$ —is called a training set . Note that the superscript “ $\left(i\right)$ ” in the notation is simply an index into the training set, and has nothing to do with exponentiation. We will also use $\mathcal{X}$ denote the space of input values, and $\mathcal{Y}$ the space of output values. In this example, $\mathcal{X}=\mathcal{Y}=\mathbb{R}$ .
To describe the supervised learning problem slightly more formally, our goal is, given a training set, to learn a function $h:\mathcal{X}\mapsto \mathcal{Y}$ so that $h\left(x\right)$ is a “good” predictor for the corresponding value of $y$ . For historical reasons, this function $h$ is called a hypothesis . Seen pictorially, the process is thereforelike this:
When the target variable that we're trying to predict is continuous, such as in our housing example, we call the learning problem a regression problem. When $y$ can take on only a small number of discrete values (such as if, given the living area,we wanted to predict if a dwelling is a house or an apartment, say), we call it a classification problem.
To make our housing example more interesting, let's consider a slightly richer dataset in which we also know the number of bedrooms in each house:
Living area (feet ${}^{2}$ ) | #bedrooms | Price (1000$s) |
2104 | 3 | 400 |
1600 | 3 | 330 |
2400 | 3 | 369 |
1416 | 2 | 232 |
3000 | 4 | 540 |
$\vdots $ | $\vdots $ | $\vdots $ |
Here, the $x$ 's are two-dimensional vectors in ${\mathbb{R}}^{2}$ . For instance, ${x}_{1}^{\left(i\right)}$ is the living area of the $i$ -th house in the training set, and ${x}_{2}^{\left(i\right)}$ is its number of bedrooms. (In general, when designing a learning problem, it will be up to you to decide what features to choose, so if youare out in Portland gathering housing data, you might also decide to include other features such as whether each house has a fireplace, the number ofbathrooms, and so on. We'll say more about feature selection later, but for now let's take the features as given.)
To perform supervised learning, we must decide how we're going to represent functions /hypotheses $h$ in a computer. As an initial choice, let's say we decide to approximate $y$ as a linear function of $x$ :
Here, the ${\theta}_{i}$ 's are the parameters (also called weights ) parameterizing the spaceof linear functions mapping from $\mathcal{X}$ to $\mathcal{Y}$ . When there is no risk of confusion, we will drop the $\theta $ subscript in ${h}_{\theta}\left(x\right)$ , and write it more simply as $h\left(x\right)$ . To simplify our notation, we also introduce the convention of letting ${x}_{0}=1$ (this is the intercept term ), so that
Notification Switch
Would you like to follow the 'Machine learning' conversation and receive update notifications?